<!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>MNodeService (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="MNodeService (MetaCat API)"; } } catch(err) { } //--> var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":9,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":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/MNodeService.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/dataone/DOIService.html" title="class in edu.ucsb.nceas.metacat.dataone"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/ObjectFormatService.html" title="class in edu.ucsb.nceas.metacat.dataone"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/dataone/MNodeService.html" target="_top">Frames</a></li> <li><a href="MNodeService.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>Constr | </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>Constr | </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.dataone</div> <h2 title="Class MNodeService" class="title">Class MNodeService</h2> </div> <div class="contentContainer"> <ul class="inheritance"> <li>java.lang.Object</li> <li> <ul class="inheritance"> <li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">edu.ucsb.nceas.metacat.dataone.D1NodeService</a></li> <li> <ul class="inheritance"> <li>edu.ucsb.nceas.metacat.dataone.MNodeService</li> </ul> </li> </ul> </li> </ul> <div class="description"> <ul class="blockList"> <li class="blockList"> <dl> <dt>All Implemented Interfaces:</dt> <dd>org.dataone.service.mn.tier1.v2.MNCore, org.dataone.service.mn.tier1.v2.MNRead, org.dataone.service.mn.tier2.v2.MNAuthorization, org.dataone.service.mn.tier3.v2.MNStorage, org.dataone.service.mn.tier4.v2.MNReplication, org.dataone.service.mn.v2.MNPackage, org.dataone.service.mn.v2.MNQuery, org.dataone.service.mn.v2.MNView</dd> </dl> <hr> <br> <pre>public class <span class="typeNameLabel">MNodeService</span> extends <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">D1NodeService</a> implements org.dataone.service.mn.tier2.v2.MNAuthorization, org.dataone.service.mn.tier1.v2.MNCore, org.dataone.service.mn.tier1.v2.MNRead, org.dataone.service.mn.tier4.v2.MNReplication, org.dataone.service.mn.tier3.v2.MNStorage, org.dataone.service.mn.v2.MNQuery, org.dataone.service.mn.v2.MNView, org.dataone.service.mn.v2.MNPackage</pre> <div class="block">Represents Metacat's implementation of the DataONE Member Node service API. Methods implement the various MN* interfaces, and methods common to both Member Node and Coordinating Node interfaces are found in the D1NodeService base class. Implements: MNCore.ping() MNCore.getLogRecords() MNCore.getObjectStatistics() MNCore.getOperationStatistics() MNCore.getStatus() MNCore.getCapabilities() MNRead.get() MNRead.getSystemMetadata() MNRead.describe() MNRead.getChecksum() MNRead.listObjects() MNRead.synchronizationFailed() MNAuthorization.isAuthorized() MNAuthorization.setAccessPolicy() MNStorage.create() MNStorage.update() MNStorage.delete() MNStorage.updateSystemMetadata() MNReplication.replicate()</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 java.lang.String</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#DOI_SCHEME">DOI_SCHEME</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/dataone/MNodeService.html#UUID_SCHEME">UUID_SCHEME</a></span></code> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="fields.inherited.from.class.edu.ucsb.nceas.metacat.dataone.D1NodeService"> <!-- --> </a> <h3>Fields inherited from class edu.ucsb.nceas.metacat.dataone.<a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">D1NodeService</a></h3> <code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#DELETEDMESSAGE">DELETEDMESSAGE</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#handler">handler</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#MAXIMUM_DB_RECORD_COUNT">MAXIMUM_DB_RECORD_COUNT</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#request">request</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#session2">session2</a></code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="fields.inherited.from.class.org.dataone.service.mn.tier1.v2.MNCore"> <!-- --> </a> <h3>Fields inherited from interface org.dataone.service.mn.tier1.v2.MNCore</h3> <code>SERVICE_VERSION</code></li> </ul> </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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance 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>org.dataone.service.types.v1.Identifier</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#archive-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">archive</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid)</code> <div class="block">Archives an object, where the object is either a data object or a science metadata object.</div> </td> </tr> <tr id="i1" class="rowColor"> <td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#create-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v2.SystemMetadata-">create</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, java.io.InputStream object, org.dataone.service.types.v2.SystemMetadata sysmeta)</code> <div class="block">Adds a new object to the Node, where the object is either a data object or a science metadata object.</div> </td> </tr> <tr id="i2" class="altColor"> <td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#delete-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">delete</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier id)</code> <div class="block">Deletes an object from the Member Node, where the object is either a data object or a science metadata object.</div> </td> </tr> <tr id="i3" class="rowColor"> <td class="colFirst"><code>java.io.InputStream</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#editScienceMetadata-org.dataone.service.types.v1.Session-java.io.InputStream-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Identifier-boolean-org.dataone.service.types.v2.SystemMetadata-">editScienceMetadata</a></span>(org.dataone.service.types.v1.Session session, java.io.InputStream object, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.Identifier newPid, boolean isEML, org.dataone.service.types.v2.SystemMetadata newSysmeta)</code> <div class="block">Update a science metadata document with its new Identifier</div> </td> </tr> <tr id="i4" class="altColor"> <td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#generateIdentifier-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-">generateIdentifier</a></span>(org.dataone.service.types.v1.Session session, java.lang.String scheme, java.lang.String fragment)</code> </td> </tr> <tr id="i5" class="rowColor"> <td class="colFirst"><code>java.io.InputStream</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#get-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">get</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid)</code> <div class="block">Return the object identified by the given object identifier</div> </td> </tr> <tr id="i6" class="altColor"> <td class="colFirst"><code>org.dataone.service.types.v2.Node</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getCapabilities--">getCapabilities</a></span>()</code> <div class="block">Return a description of the node's capabilities and services.</div> </td> </tr> <tr id="i7" class="rowColor"> <td class="colFirst"><code>org.dataone.service.types.v1.Checksum</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getChecksum-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.lang.String-">getChecksum</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, java.lang.String algorithm)</code> <div class="block">Returns a Checksum for the specified object using an accepted hashing algorithm</div> </td> </tr> <tr id="i8" class="altColor"> <td class="colFirst"><code>protected org.dataone.service.types.v1.NodeReference</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getCurrentNodeId--">getCurrentNodeId</a></span>()</code> </td> </tr> <tr id="i9" class="rowColor"> <td class="colFirst"><code>static <a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">MNodeService</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getInstance-javax.servlet.http.HttpServletRequest-">getInstance</a></span>(javax.servlet.http.HttpServletRequest request)</code> <div class="block">Singleton accessor to get an instance of MNodeService.</div> </td> </tr> <tr id="i10" class="altColor"> <td class="colFirst"><code>java.io.InputStream</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getPackage-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.Identifier-">getPackage</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.ObjectFormatIdentifier formatId, org.dataone.service.types.v1.Identifier pid)</code> </td> </tr> <tr id="i11" class="rowColor"> <td class="colFirst"><code>org.dataone.service.types.v1_1.QueryEngineDescription</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getQueryEngineDescription-org.dataone.service.types.v1.Session-java.lang.String-">getQueryEngineDescription</a></span>(org.dataone.service.types.v1.Session session, java.lang.String engine)</code> </td> </tr> <tr id="i12" class="altColor"> <td class="colFirst"><code>java.io.InputStream</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getReplica-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">getReplica</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid)</code> <div class="block">Essentially a get() but with different logging behavior</div> </td> </tr> <tr id="i13" class="rowColor"> <td class="colFirst"><code>java.io.InputStream</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getStatus-org.dataone.service.types.v1.Session-">getStatus</a></span>(org.dataone.service.types.v1.Session session)</code> <div class="block">Get the status of the system.</div> </td> </tr> <tr id="i14" class="altColor"> <td class="colFirst"><code>org.dataone.service.types.v2.SystemMetadata</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#getSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">getSystemMetadata</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid)</code> <div class="block">Return the system metadata for a given object</div> </td> </tr> <tr id="i15" class="rowColor"> <td class="colFirst"><code>protected boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#isAuthoritativeNode-org.dataone.service.types.v1.Identifier-">isAuthoritativeNode</a></span>(org.dataone.service.types.v1.Identifier pid)</code> <div class="block">Determine if the current node is the authoritative node for the given pid.</div> </td> </tr> <tr id="i16" class="altColor"> <td class="colFirst"><code>protected boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#isReadOnlyMode--">isReadOnlyMode</a></span>()</code> <div class="block">Check if the metacat is in the read-only mode.</div> </td> </tr> <tr id="i17" class="rowColor"> <td class="colFirst"><code>org.dataone.service.types.v1.ObjectList</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#listObjects-org.dataone.service.types.v1.Session-java.util.Date-java.util.Date-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.Identifier-java.lang.Boolean-java.lang.Integer-java.lang.Integer-">listObjects</a></span>(org.dataone.service.types.v1.Session session, java.util.Date startTime, java.util.Date endTime, org.dataone.service.types.v1.ObjectFormatIdentifier objectFormatId, org.dataone.service.types.v1.Identifier identifier, java.lang.Boolean replicaStatus, java.lang.Integer start, java.lang.Integer count)</code> <div class="block">Retrieve the list of objects present on the MN that match the calling parameters</div> </td> </tr> <tr id="i18" class="altColor"> <td class="colFirst"><code>org.dataone.service.types.v1_1.QueryEngineList</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#listQueryEngines-org.dataone.service.types.v1.Session-">listQueryEngines</a></span>(org.dataone.service.types.v1.Session session)</code> </td> </tr> <tr id="i19" class="rowColor"> <td class="colFirst"><code>java.util.List<org.dataone.service.types.v1.Identifier></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#lookupOreFor-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-boolean-">lookupOreFor</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier guid, boolean includeObsolete)</code> <div class="block">Determines if we already have registered an ORE map for this package NOTE: uses a solr query to locate OREs for the object</div> </td> </tr> <tr id="i20" class="altColor"> <td class="colFirst"><code>java.io.InputStream</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#postQuery-org.dataone.service.types.v1.Session-java.lang.String-java.util.HashMap-">postQuery</a></span>(org.dataone.service.types.v1.Session session, java.lang.String engine, java.util.HashMap<java.lang.String,java.lang.String[]> params)</code> <div class="block">Handle the query sent by the http post method</div> </td> </tr> <tr id="i21" class="rowColor"> <td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#publish-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">publish</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier originalIdentifier)</code> <div class="block">Given an existing Science Metadata PID, this method mints a DOI and updates the original object "publishing" the update with the DOI.</div> </td> </tr> <tr id="i22" class="altColor"> <td class="colFirst"><code>java.io.InputStream</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#query-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-">query</a></span>(org.dataone.service.types.v1.Session session, java.lang.String engine, java.lang.String query)</code> </td> </tr> <tr id="i23" class="rowColor"> <td class="colFirst"><code>protected void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#removeIdFromIdentifierTable-org.dataone.service.types.v1.Identifier-">removeIdFromIdentifierTable</a></span>(org.dataone.service.types.v1.Identifier id)</code> </td> </tr> <tr id="i24" class="altColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#replicate-org.dataone.service.types.v1.Session-org.dataone.service.types.v2.SystemMetadata-org.dataone.service.types.v1.NodeReference-">replicate</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v2.SystemMetadata sysmeta, org.dataone.service.types.v1.NodeReference sourceNode)</code> <div class="block">Called by a Coordinating Node to request that the Member Node create a copy of the specified object by retrieving it from another Member Node and storing it locally so that it can be made accessible to the DataONE system.</div> </td> </tr> <tr id="i25" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#synchronizationFailed-org.dataone.service.types.v1.Session-org.dataone.service.exceptions.SynchronizationFailed-">synchronizationFailed</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.exceptions.SynchronizationFailed syncFailed)</code> <div class="block">A callback method used by a CN to indicate to a MN that it cannot complete synchronization of the science metadata identified by pid.</div> </td> </tr> <tr id="i26" class="altColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#systemMetadataChanged-boolean-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-long-java.util.Date-">systemMetadataChanged</a></span>(boolean needCheckAuthoriativeNode, org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, long serialVersion, java.util.Date dateSysMetaLastModified)</code> <div class="block">A method to notify the Member Node that the authoritative copy of system metadata on the Coordinating Nodes has changed.</div> </td> </tr> <tr id="i27" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#systemMetadataChanged-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-long-java.util.Date-">systemMetadataChanged</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, long serialVersion, java.util.Date dateSysMetaLastModified)</code> <div class="block">A method to notify the Member Node that the authoritative copy of system metadata on the Coordinating Nodes has changed.</div> </td> </tr> <tr id="i28" class="altColor"> <td class="colFirst"><code>org.dataone.service.types.v1.Identifier</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#update-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-">update</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, java.io.InputStream object, org.dataone.service.types.v1.Identifier newPid, org.dataone.service.types.v2.SystemMetadata sysmeta)</code> <div class="block">Updates an existing object by creating a new object identified by newPid on the Member Node which explicitly obsoletes the object identified by pid through appropriate changes to the SystemMetadata of pid and newPid</div> </td> </tr> <tr id="i29" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html#updateSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-">updateSystemMetadata</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v2.SystemMetadata sysmeta)</code> <div class="block">Update the system metadata of the specified pid.</div> </td> </tr> </table> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.edu.ucsb.nceas.metacat.dataone.D1NodeService"> <!-- --> </a> <h3>Methods inherited from class edu.ucsb.nceas.metacat.dataone.<a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">D1NodeService</a></h3> <code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#archiveCNObject-boolean-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-boolean-">archiveCNObject</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#archiveObject-boolean-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-boolean-">archiveObject</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#checkSidInModifyingSystemMetadata-org.dataone.service.types.v2.SystemMetadata-java.lang.String-java.lang.String-">checkSidInModifyingSystemMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#checkV1SystemMetaPidExist-org.dataone.service.types.v1.Identifier-java.lang.String-java.lang.String-java.lang.String-java.lang.String-">checkV1SystemMetaPidExist</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#delete-java.lang.String-org.dataone.service.types.v1.Identifier-">delete</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#describe-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">describe</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#existsInObsoletedBy-org.dataone.service.types.v1.Identifier-">existsInObsoletedBy</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#existsInObsoletes-org.dataone.service.types.v1.Identifier-">existsInObsoletes</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#expandPermissions-org.dataone.service.types.v1.Permission-">expandPermissions</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getCNNodeList--">getCNNodeList</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getLogRecords-org.dataone.service.types.v1.Session-java.util.Date-java.util.Date-java.lang.String-java.lang.String-java.lang.Integer-java.lang.Integer-">getLogRecords</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getPIDForSID-org.dataone.service.types.v1.Identifier-java.lang.String-">getPIDForSID</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getSession--">getSession</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getSystemMetadataForPID-org.dataone.service.types.v1.Identifier-java.lang.String-java.lang.String-java.lang.String-boolean-">getSystemMetadataForPID</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#insertDataObject-java.io.InputStream-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Checksum-">insertDataObject</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#insertOrUpdateDocument-java.io.InputStream-java.lang.String-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-org.dataone.service.types.v1.Checksum-">insertOrUpdateDocument</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#insertSystemMetadata-org.dataone.service.types.v2.SystemMetadata-">insertSystemMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#isAuthorized-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Permission-">isAuthorized</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#isScienceMetadata-org.dataone.service.types.v2.SystemMetadata-">isScienceMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#isValidIdentifier-org.dataone.service.types.v1.Identifier-">isValidIdentifier</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#listNodesBySubject-org.dataone.service.types.v1.Subject-org.dataone.service.types.v2.NodeList-">listNodesBySubject</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#listObjects-org.dataone.service.types.v1.Session-java.util.Date-java.util.Date-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.NodeReference-java.lang.Integer-java.lang.Integer-">listObjects</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#listViews--">listViews</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#listViews-org.dataone.service.types.v1.Session-">listViews</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#objectExists-org.dataone.service.types.v1.Identifier-">objectExists</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#ping--">ping</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#removeSolrIndex-org.dataone.service.types.v2.SystemMetadata-">removeSolrIndex</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#removeSystemMetaAndIdentifier-org.dataone.service.types.v1.Identifier-">removeSystemMetaAndIdentifier</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#setSession-org.dataone.service.types.v1.Session-">setSession</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#updateSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-boolean-org.dataone.service.types.v2.SystemMetadata-boolean-">updateSystemMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#updateSystemMetadata-org.dataone.service.types.v2.SystemMetadata-">updateSystemMetadata</a>, <a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#view-org.dataone.service.types.v1.Session-java.lang.String-org.dataone.service.types.v1.Identifier-">view</a></code></li> </ul> <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> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.mn.tier2.v2.MNAuthorization"> <!-- --> </a> <h3>Methods inherited from interface org.dataone.service.mn.tier2.v2.MNAuthorization</h3> <code>isAuthorized</code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.mn.tier1.v2.MNCore"> <!-- --> </a> <h3>Methods inherited from interface org.dataone.service.mn.tier1.v2.MNCore</h3> <code>getLogRecords, ping</code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.mn.tier1.v2.MNRead"> <!-- --> </a> <h3>Methods inherited from interface org.dataone.service.mn.tier1.v2.MNRead</h3> <code>describe</code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.mn.v2.MNView"> <!-- --> </a> <h3>Methods inherited from interface org.dataone.service.mn.v2.MNView</h3> <code>listViews, view</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="UUID_SCHEME"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>UUID_SCHEME</h4> <pre>public static final java.lang.String UUID_SCHEME</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.dataone.MNodeService.UUID_SCHEME">Constant Field Values</a></dd> </dl> </li> </ul> <a name="DOI_SCHEME"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>DOI_SCHEME</h4> <pre>public static final java.lang.String DOI_SCHEME</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.dataone.MNodeService.DOI_SCHEME">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-javax.servlet.http.HttpServletRequest-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getInstance</h4> <pre>public static <a href="../../../../../edu/ucsb/nceas/metacat/dataone/MNodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">MNodeService</a> getInstance(javax.servlet.http.HttpServletRequest request)</pre> <div class="block">Singleton accessor to get an instance of MNodeService.</div> <dl> <dt><span class="returnLabel">Returns:</span></dt> <dd>instance - the instance of MNodeService</dd> </dl> </li> </ul> <a name="delete-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>delete</h4> <pre>public org.dataone.service.types.v1.Identifier delete(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier id) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotImplemented</pre> <div class="block">Deletes an object from the Member Node, where the object is either a data object or a science metadata object.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>delete</code> in interface <code>org.dataone.service.mn.tier3.v2.MNStorage</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the credentials for the Subject</dd> <dd><code>pid</code> - - The object identifier to be deleted</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>pid - the identifier of the object used for the deletion</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> </dl> </li> </ul> <a name="update-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>update</h4> <pre>public org.dataone.service.types.v1.Identifier update(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, java.io.InputStream object, org.dataone.service.types.v1.Identifier newPid, org.dataone.service.types.v2.SystemMetadata sysmeta) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.IdentifierNotUnique, org.dataone.service.exceptions.UnsupportedType, org.dataone.service.exceptions.InsufficientResources, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.InvalidSystemMetadata, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.InvalidRequest</pre> <div class="block">Updates an existing object by creating a new object identified by newPid on the Member Node which explicitly obsoletes the object identified by pid through appropriate changes to the SystemMetadata of pid and newPid</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>update</code> in interface <code>org.dataone.service.mn.tier3.v2.MNStorage</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the credentials for the Subject</dd> <dd><code>pid</code> - - The identifier of the object to be updated</dd> <dd><code>object</code> - - the new object bytes</dd> <dd><code>sysmeta</code> - - the new system metadata describing the object</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>newPid - the identifier of the new object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.IdentifierNotUnique</code></dd> <dd><code>org.dataone.service.exceptions.UnsupportedType</code></dd> <dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd> <dd><code>org.dataone.service.exceptions.InvalidSystemMetadata</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> </dl> </li> </ul> <a name="removeIdFromIdentifierTable-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>removeIdFromIdentifierTable</h4> <pre>protected void removeIdFromIdentifierTable(org.dataone.service.types.v1.Identifier id)</pre> </li> </ul> <a name="create-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v2.SystemMetadata-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>create</h4> <pre>public org.dataone.service.types.v1.Identifier create(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, java.io.InputStream object, org.dataone.service.types.v2.SystemMetadata sysmeta) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.IdentifierNotUnique, org.dataone.service.exceptions.UnsupportedType, org.dataone.service.exceptions.InsufficientResources, org.dataone.service.exceptions.InvalidSystemMetadata, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.InvalidRequest</pre> <div class="block"><span class="descfrmTypeLabel">Description copied from class: <code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#create-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v2.SystemMetadata-">D1NodeService</a></code></span></div> <div class="block">Adds a new object to the Node, where the object is either a data object or a science metadata object. This method is called by clients to create new data objects on Member Nodes or internally for Coordinating Nodes</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>create</code> in interface <code>org.dataone.service.mn.tier3.v2.MNStorage</code></dd> <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#create-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.io.InputStream-org.dataone.service.types.v2.SystemMetadata-">create</a></code> in class <code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">D1NodeService</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the credentials for the Subject</dd> <dd><code>pid</code> - - The object identifier to be created</dd> <dd><code>object</code> - - the object bytes</dd> <dd><code>sysmeta</code> - - the system metadata that describes the object</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>pid - the object identifier created</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.IdentifierNotUnique</code></dd> <dd><code>org.dataone.service.exceptions.UnsupportedType</code></dd> <dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd> <dd><code>org.dataone.service.exceptions.InvalidSystemMetadata</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> </dl> </li> </ul> <a name="replicate-org.dataone.service.types.v1.Session-org.dataone.service.types.v2.SystemMetadata-org.dataone.service.types.v1.NodeReference-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>replicate</h4> <pre>public boolean replicate(org.dataone.service.types.v1.Session session, org.dataone.service.types.v2.SystemMetadata sysmeta, org.dataone.service.types.v1.NodeReference sourceNode) throws org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.InsufficientResources, org.dataone.service.exceptions.UnsupportedType</pre> <div class="block">Called by a Coordinating Node to request that the Member Node create a copy of the specified object by retrieving it from another Member Node and storing it locally so that it can be made accessible to the DataONE system.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>replicate</code> in interface <code>org.dataone.service.mn.tier4.v2.MNReplication</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the credentials for the Subject</dd> <dd><code>sysmeta</code> - - Copy of the CN held system metadata for the object</dd> <dd><code>sourceNode</code> - - A reference to node from which the content should be retrieved. The reference should be resolved by checking the CN node registry.</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>true if the replication succeeds</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.UnsupportedType</code></dd> <dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> </dl> </li> </ul> <a name="get-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>get</h4> <pre>public java.io.InputStream get(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotImplemented</pre> <div class="block">Return the object identified by the given object identifier</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>get</code> in interface <code>org.dataone.service.mn.tier1.v2.MNRead</code></dd> <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#get-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">get</a></code> in class <code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">D1NodeService</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the credentials for the Subject</dd> <dd><code>pid</code> - - the object identifier for the given object</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>inputStream - the input stream of the given object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> </dl> </li> </ul> <a name="getChecksum-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getChecksum</h4> <pre>public org.dataone.service.types.v1.Checksum getChecksum(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, java.lang.String algorithm) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotImplemented</pre> <div class="block">Returns a Checksum for the specified object using an accepted hashing algorithm</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>getChecksum</code> in interface <code>org.dataone.service.mn.tier1.v2.MNRead</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the credentials for the Subject</dd> <dd><code>pid</code> - - the object identifier for the given object</dd> <dd><code>algorithm</code> - - the name of an algorithm that will be used to compute a checksum of the bytes of the object</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>checksum - the checksum of the given object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> </dl> </li> </ul> <a name="getSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getSystemMetadata</h4> <pre>public org.dataone.service.types.v2.SystemMetadata getSystemMetadata(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotImplemented</pre> <div class="block">Return the system metadata for a given object</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>getSystemMetadata</code> in interface <code>org.dataone.service.mn.tier1.v2.MNRead</code></dd> <dt><span class="overrideSpecifyLabel">Overrides:</span></dt> <dd><code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html#getSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">getSystemMetadata</a></code> in class <code><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1NodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">D1NodeService</a></code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the credentials for the Subject</dd> <dd><code>pid</code> - - the object identifier for the given object</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>inputStream - the input stream of the given system metadata object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> </dl> </li> </ul> <a name="listObjects-org.dataone.service.types.v1.Session-java.util.Date-java.util.Date-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.Identifier-java.lang.Boolean-java.lang.Integer-java.lang.Integer-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>listObjects</h4> <pre>public org.dataone.service.types.v1.ObjectList listObjects(org.dataone.service.types.v1.Session session, java.util.Date startTime, java.util.Date endTime, org.dataone.service.types.v1.ObjectFormatIdentifier objectFormatId, org.dataone.service.types.v1.Identifier identifier, java.lang.Boolean replicaStatus, java.lang.Integer start, java.lang.Integer count) throws org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.InvalidToken</pre> <div class="block">Retrieve the list of objects present on the MN that match the calling parameters</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>listObjects</code> in interface <code>org.dataone.service.mn.tier1.v2.MNRead</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the credentials for the Subject</dd> <dd><code>startTime</code> - - Specifies the beginning of the time range from which to return object (>=)</dd> <dd><code>endTime</code> - - Specifies the beginning of the time range from which to return object (>=)</dd> <dd><code>objectFormat</code> - - Restrict results to the specified object format</dd> <dd><code>replicaStatus</code> - - Indicates if replicated objects should be returned in the list</dd> <dd><code>start</code> - - The zero-based index of the first value, relative to the first record of the resultset that matches the parameters.</dd> <dd><code>count</code> - - The maximum number of entries that should be returned in the response. The Member Node may return less entries than specified in this value.</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>objectList - the list of objects matching the criteria</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> </dl> </li> </ul> <a name="getCapabilities--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getCapabilities</h4> <pre>public org.dataone.service.types.v2.Node getCapabilities() throws org.dataone.service.exceptions.ServiceFailure</pre> <div class="block">Return a description of the node's capabilities and services.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>getCapabilities</code> in interface <code>org.dataone.service.mn.tier1.v2.MNCore</code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>node - the technical capabilities of the Member Node</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code> - - not thrown by this implementation</dd> </dl> </li> </ul> <a name="synchronizationFailed-org.dataone.service.types.v1.Session-org.dataone.service.exceptions.SynchronizationFailed-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>synchronizationFailed</h4> <pre>public boolean synchronizationFailed(org.dataone.service.types.v1.Session session, org.dataone.service.exceptions.SynchronizationFailed syncFailed) throws org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized</pre> <div class="block">A callback method used by a CN to indicate to a MN that it cannot complete synchronization of the science metadata identified by pid. Log the event in the metacat event log.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>synchronizationFailed</code> in interface <code>org.dataone.service.mn.tier1.v2.MNRead</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - </dd> <dd><code>syncFailed</code> - </dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> </dl> </li> </ul> <a name="getReplica-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getReplica</h4> <pre>public java.io.InputStream getReplica(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid) throws org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.NotFound</pre> <div class="block">Essentially a get() but with different logging behavior</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>getReplica</code> in interface <code>org.dataone.service.mn.tier1.v2.MNRead</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> </dl> </li> </ul> <a name="systemMetadataChanged-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-long-java.util.Date-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>systemMetadataChanged</h4> <pre>public boolean systemMetadataChanged(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, long serialVersion, java.util.Date dateSysMetaLastModified) throws org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.InvalidToken</pre> <div class="block">A method to notify the Member Node that the authoritative copy of system metadata on the Coordinating Nodes has changed.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>systemMetadataChanged</code> in interface <code>org.dataone.service.mn.tier1.v2.MNRead</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - Session information that contains the identity of the calling user as retrieved from the X.509 certificate which must be traceable to the CILogon service.</dd> <dd><code>serialVersion</code> - The serialVersion of the system metadata</dd> <dd><code>dateSysMetaLastModified</code> - The time stamp for when the system metadata was changed</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> </dl> </li> </ul> <a name="systemMetadataChanged-boolean-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-long-java.util.Date-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>systemMetadataChanged</h4> <pre>public boolean systemMetadataChanged(boolean needCheckAuthoriativeNode, org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, long serialVersion, java.util.Date dateSysMetaLastModified) throws org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.InvalidToken</pre> <div class="block">A method to notify the Member Node that the authoritative copy of system metadata on the Coordinating Nodes has changed.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>needCheckAuthoriativeNode</code> - this is for the dataone version 2. In the version 2, there are two scenarios: 1. If the node is the authoritative node, it only accepts serial version and replica list. 2. If the node is a replica, it accepts everything. For the v1, api, the parameter should be false.</dd> <dd><code>session</code> - Session information that contains the identity of the calling user as retrieved from the X.509 certificate which must be traceable to the CILogon service.</dd> <dd><code>serialVersion</code> - The serialVersion of the system metadata</dd> <dd><code>dateSysMetaLastModified</code> - The time stamp for when the system metadata was changed</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> </dl> </li> </ul> <a name="generateIdentifier-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>generateIdentifier</h4> <pre>public org.dataone.service.types.v1.Identifier generateIdentifier(org.dataone.service.types.v1.Session session, java.lang.String scheme, java.lang.String fragment) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.InvalidRequest</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>generateIdentifier</code> in interface <code>org.dataone.service.mn.tier3.v2.MNStorage</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> </dl> </li> </ul> <a name="getQueryEngineDescription-org.dataone.service.types.v1.Session-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getQueryEngineDescription</h4> <pre>public org.dataone.service.types.v1_1.QueryEngineDescription getQueryEngineDescription(org.dataone.service.types.v1.Session session, java.lang.String engine) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotFound</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>getQueryEngineDescription</code> in interface <code>org.dataone.service.mn.v2.MNQuery</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> </dl> </li> </ul> <a name="listQueryEngines-org.dataone.service.types.v1.Session-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>listQueryEngines</h4> <pre>public org.dataone.service.types.v1_1.QueryEngineList listQueryEngines(org.dataone.service.types.v1.Session session) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>listQueryEngines</code> in interface <code>org.dataone.service.mn.v2.MNQuery</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> </dl> </li> </ul> <a name="query-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>query</h4> <pre>public java.io.InputStream query(org.dataone.service.types.v1.Session session, java.lang.String engine, java.lang.String query) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotFound</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>query</code> in interface <code>org.dataone.service.mn.v2.MNQuery</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> </dl> </li> </ul> <a name="postQuery-org.dataone.service.types.v1.Session-java.lang.String-java.util.HashMap-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>postQuery</h4> <pre>public java.io.InputStream postQuery(org.dataone.service.types.v1.Session session, java.lang.String engine, java.util.HashMap<java.lang.String,java.lang.String[]> params) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotFound</pre> <div class="block">Handle the query sent by the http post method</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - identity information of the requester</dd> <dd><code>engine</code> - the query engine will be used. Now we only support solr</dd> <dd><code>params</code> - the query parameters with key/value pairs</dd> <dt><span class="returnLabel">Returns:</span></dt> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> </dl> </li> </ul> <a name="publish-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>publish</h4> <pre>public org.dataone.service.types.v1.Identifier publish(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier originalIdentifier) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.IdentifierNotUnique, org.dataone.service.exceptions.UnsupportedType, org.dataone.service.exceptions.InsufficientResources, org.dataone.service.exceptions.InvalidSystemMetadata, java.io.IOException</pre> <div class="block">Given an existing Science Metadata PID, this method mints a DOI and updates the original object "publishing" the update with the DOI. This includes updating the ORE map that describes the Science Metadata+data. TODO: ensure all referenced objects allow public read</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>originalIdentifier</code> - </dd> <dd><code>request</code> - </dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.InvalidSystemMetadata</code></dd> <dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd> <dd><code>org.dataone.service.exceptions.UnsupportedType</code></dd> <dd><code>org.dataone.service.exceptions.IdentifierNotUnique</code></dd> <dd><code>java.io.IOException</code></dd> <dt><span class="seeLabel">See Also:</span></dt> <dd><code>https://projects.ecoinformatics.org/ecoinfo/issues/6014</code></dd> </dl> </li> </ul> <a name="editScienceMetadata-org.dataone.service.types.v1.Session-java.io.InputStream-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Identifier-boolean-org.dataone.service.types.v2.SystemMetadata-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>editScienceMetadata</h4> <pre>public java.io.InputStream editScienceMetadata(org.dataone.service.types.v1.Session session, java.io.InputStream object, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.Identifier newPid, boolean isEML, org.dataone.service.types.v2.SystemMetadata newSysmeta) throws org.dataone.service.exceptions.ServiceFailure, java.io.IOException, java.io.UnsupportedEncodingException, org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotImplemented</pre> <div class="block">Update a science metadata document with its new Identifier</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the credentials for the Subject</dd> <dd><code>object</code> - - the InputStream for the XML object to be edited</dd> <dd><code>pid</code> - - the Identifier of the XML object to be updated</dd> <dd><code>newPid</code> - = the new Identifier to give to the modified XML doc</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>newObject - The InputStream for the modified XML object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>java.io.IOException</code></dd> <dd><code>java.io.UnsupportedEncodingException</code></dd> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> </dl> </li> </ul> <a name="lookupOreFor-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-boolean-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>lookupOreFor</h4> <pre>public java.util.List<org.dataone.service.types.v1.Identifier> lookupOreFor(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier guid, boolean includeObsolete)</pre> <div class="block">Determines if we already have registered an ORE map for this package NOTE: uses a solr query to locate OREs for the object</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>guid</code> - of the EML/packaging object</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>list of resource map identifiers for the given pid</dd> </dl> </li> </ul> <a name="getPackage-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getPackage</h4> <pre>public java.io.InputStream getPackage(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.ObjectFormatIdentifier formatId, org.dataone.service.types.v1.Identifier pid) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotFound</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>getPackage</code> in interface <code>org.dataone.service.mn.v2.MNPackage</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> </dl> </li> </ul> <a name="archive-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>archive</h4> <pre>public org.dataone.service.types.v1.Identifier archive(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotImplemented</pre> <div class="block">Archives an object, where the object is either a data object or a science metadata object.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>archive</code> in interface <code>org.dataone.service.mn.tier3.v2.MNStorage</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the credentials for the Subject</dd> <dd><code>pid</code> - - The object identifier to be archived</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>pid - the identifier of the object used for the archiving</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> </dl> </li> </ul> <a name="updateSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>updateSystemMetadata</h4> <pre>public boolean updateSystemMetadata(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v2.SystemMetadata sysmeta) throws org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.InvalidSystemMetadata, org.dataone.service.exceptions.InvalidToken</pre> <div class="block">Update the system metadata of the specified pid.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>updateSystemMetadata</code> in interface <code>org.dataone.service.mn.tier3.v2.MNStorage</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.InvalidSystemMetadata</code></dd> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> </dl> </li> </ul> <a name="getStatus-org.dataone.service.types.v1.Session-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getStatus</h4> <pre>public java.io.InputStream getStatus(org.dataone.service.types.v1.Session session) throws org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.ServiceFailure</pre> <div class="block">Get the status of the system. this is an unofficial dataone api method. Currently we only reply the size of the index queue. The method will return the input stream of a xml instance. In the future, we need to add a new dataone type to represent the result.</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - </dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>the input stream which is the xml presentation of the status report</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> </dl> </li> </ul> <a name="getCurrentNodeId--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getCurrentNodeId</h4> <pre>protected org.dataone.service.types.v1.NodeReference getCurrentNodeId()</pre> </li> </ul> <a name="isAuthoritativeNode-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>isAuthoritativeNode</h4> <pre>protected boolean isAuthoritativeNode(org.dataone.service.types.v1.Identifier pid) throws org.dataone.service.exceptions.InvalidRequest</pre> <div class="block">Determine if the current node is the authoritative node for the given pid. (uses HZsysmeta map)</div> <dl> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> </dl> </li> </ul> <a name="isReadOnlyMode--"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>isReadOnlyMode</h4> <pre>protected boolean isReadOnlyMode()</pre> <div class="block">Check if the metacat is in the read-only mode.</div> <dl> <dt><span class="returnLabel">Returns:</span></dt> <dd>true if it is; otherwise false.</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/MNodeService.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/dataone/DOIService.html" title="class in edu.ucsb.nceas.metacat.dataone"><span class="typeNameLink">Prev Class</span></a></li> <li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/ObjectFormatService.html" title="class in edu.ucsb.nceas.metacat.dataone"><span class="typeNameLink">Next Class</span></a></li> </ul> <ul class="navList"> <li><a href="../../../../../index.html?edu/ucsb/nceas/metacat/dataone/MNodeService.html" target="_top">Frames</a></li> <li><a href="MNodeService.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>Constr | </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>Constr | </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>