<!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>CNodeService (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="CNodeService (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,"i30":10,"i31":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/CNodeService.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>Prev Class</li> <li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1AuthHelper.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/CNodeService.html" target="_top">Frames</a></li> <li><a href="CNodeService.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 CNodeService" class="title">Class CNodeService</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.CNodeService</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.cn.v2.CNAuthorization, org.dataone.service.cn.v2.CNCore, org.dataone.service.cn.v2.CNRead, org.dataone.service.cn.v2.CNReplication, org.dataone.service.cn.v2.CNView</dd> </dl> <hr> <br> <pre>public class <span class="typeNameLabel">CNodeService</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.cn.v2.CNAuthorization, org.dataone.service.cn.v2.CNCore, org.dataone.service.cn.v2.CNRead, org.dataone.service.cn.v2.CNReplication, org.dataone.service.cn.v2.CNView</pre> <div class="block">Represents Metacat's implementation of the DataONE Coordinating Node service API. Methods implement the various CN* interfaces, and methods common to both Member Node and Coordinating Node interfaces are found in the D1NodeService super class.</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/CNodeService.html#V2V1MISSMATCH">V2V1MISSMATCH</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.cn.v2.CNCore"> <!-- --> </a> <h3>Fields inherited from interface org.dataone.service.cn.v2.CNCore</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.ObjectFormatIdentifier</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#addFormat-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v2.ObjectFormat-">addFormat</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.ObjectFormatIdentifier formatId, org.dataone.service.types.v2.ObjectFormat format)</code> </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/CNodeService.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 from the Coordinating Node</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/CNodeService.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 a science metadata object.</div> </td> </tr> <tr id="i3" 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/CNodeService.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 pid)</code> <div class="block">Deletes an object from the Coordinating Node</div> </td> </tr> <tr id="i4" class="altColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#deleteReplicationMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.NodeReference-long-">deleteReplicationMetadata</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.NodeReference nodeId, long serialVersion)</code> <div class="block">Deletes the replica from the given Member Node NOTE: MN.delete() may be an "archive" operation.</div> </td> </tr> <tr id="i5" 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/CNodeService.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="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/CNodeService.html#getCapabilities--">getCapabilities</a></span>()</code> </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/CNodeService.html#getChecksum-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">getChecksum</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid)</code> <div class="block">Return the checksum of the object given the identifier</div> </td> </tr> <tr id="i8" class="altColor"> <td class="colFirst"><code>org.dataone.service.types.v2.ObjectFormat</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#getFormat-org.dataone.service.types.v1.ObjectFormatIdentifier-">getFormat</a></span>(org.dataone.service.types.v1.ObjectFormatIdentifier fmtid)</code> <div class="block">Returns the object format registered in the DataONE Object Format Vocabulary for the given format identifier</div> </td> </tr> <tr id="i9" class="rowColor"> <td class="colFirst"><code>static <a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">CNodeService</a></code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#getInstance-javax.servlet.http.HttpServletRequest-">getInstance</a></span>(javax.servlet.http.HttpServletRequest request)</code> <div class="block">singleton accessor</div> </td> </tr> <tr id="i10" class="altColor"> <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/CNodeService.html#getQueryEngineDescription-org.dataone.service.types.v1.Session-java.lang.String-">getQueryEngineDescription</a></span>(org.dataone.service.types.v1.Session session, java.lang.String queryEngine)</code> </td> </tr> <tr id="i11" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#hasReservation-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Subject-org.dataone.service.types.v1.Identifier-">hasReservation</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Subject subject, org.dataone.service.types.v1.Identifier pid)</code> <div class="block">Checks whether the pid is reserved by the subject in the session param If the reservation is held on the pid by the subject, we return true.</div> </td> </tr> <tr id="i12" class="altColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#isNodeAuthorized-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Subject-org.dataone.service.types.v1.Identifier-">isNodeAuthorized</a></span>(org.dataone.service.types.v1.Session originatingNodeSession, org.dataone.service.types.v1.Subject targetNodeSubject, org.dataone.service.types.v1.Identifier pid)</code> <div class="block">Verify that a replication task is authorized by comparing the target node's Subject (from the X.509 certificate-derived Session) with the list of subjects in the known, pending replication tasks map.</div> </td> </tr> <tr id="i13" class="rowColor"> <td class="colFirst"><code>org.dataone.service.types.v1.ChecksumAlgorithmList</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#listChecksumAlgorithms--">listChecksumAlgorithms</a></span>()</code> <div class="block">Returns a list of checksum algorithms that are supported by DataONE.</div> </td> </tr> <tr id="i14" class="altColor"> <td class="colFirst"><code>org.dataone.service.types.v2.ObjectFormatList</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#listFormats--">listFormats</a></span>()</code> <div class="block">Returns a list of all object formats registered in the DataONE Object Format Vocabulary</div> </td> </tr> <tr id="i15" class="rowColor"> <td class="colFirst"><code>org.dataone.service.types.v2.NodeList</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#listNodes--">listNodes</a></span>()</code> <div class="block">Returns a list of nodes that have been registered with the DataONE infrastructure</div> </td> </tr> <tr id="i16" class="altColor"> <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/CNodeService.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.NodeReference-org.dataone.service.types.v1.Identifier-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 formatid, org.dataone.service.types.v1.NodeReference nodeId, org.dataone.service.types.v1.Identifier identifier, java.lang.Integer start, java.lang.Integer count)</code> </td> </tr> <tr id="i17" class="rowColor"> <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/CNodeService.html#listQueryEngines-org.dataone.service.types.v1.Session-">listQueryEngines</a></span>(org.dataone.service.types.v1.Session session)</code> </td> </tr> <tr id="i18" class="altColor"> <td class="colFirst"><code>void</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#notifyReplicaNodes-org.dataone.service.types.v2.SystemMetadata-">notifyReplicaNodes</a></span>(org.dataone.service.types.v2.SystemMetadata currentSystemMetadata)</code> <div class="block">Notify replica Member Nodes of system metadata changes for a given pid</div> </td> </tr> <tr id="i19" 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/CNodeService.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 queryEngine, java.lang.String query)</code> </td> </tr> <tr id="i20" 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/CNodeService.html#registerSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v2.SystemMetadata-">registerSystemMetadata</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">Provides a mechanism for adding system metadata independently of its associated object, such as when adding system metadata for data objects.</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/CNodeService.html#reserveIdentifier-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">reserveIdentifier</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid)</code> <div class="block">Given an optional scope and format, reserves and returns an identifier within that scope and format that is unique and will not be used by any other sessions.</div> </td> </tr> <tr id="i22" class="altColor"> <td class="colFirst"><code>org.dataone.service.types.v1.ObjectLocationList</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#resolve-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">resolve</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid)</code> <div class="block">Resolve the location of a given object</div> </td> </tr> <tr id="i23" 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/CNodeService.html#search-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-">search</a></span>(org.dataone.service.types.v1.Session session, java.lang.String queryType, java.lang.String query)</code> <div class="block">Metacat does not implement this method at the CN level</div> </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/CNodeService.html#setAccessPolicy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.AccessPolicy-long-">setAccessPolicy</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.AccessPolicy accessPolicy, long serialVersion)</code> <div class="block">Set access for a given object using the object identifier and a Subject under a given Session.</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/CNodeService.html#setObsoletedBy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Identifier-long-">setObsoletedBy</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.Identifier obsoletedByPid, long serialVersion)</code> <div class="block">Set the obsoletedBy attribute in System Metadata</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/CNodeService.html#setReplicationPolicy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.ReplicationPolicy-long-">setReplicationPolicy</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.ReplicationPolicy policy, long serialVersion)</code> <div class="block">Set the replication policy for an object given the object identifier It only is applied to objects whose authoritative mn is a v1 node.</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/CNodeService.html#setReplicationStatus-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.NodeReference-org.dataone.service.types.v1.ReplicationStatus-org.dataone.service.exceptions.BaseException-">setReplicationStatus</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.NodeReference targetNode, org.dataone.service.types.v1.ReplicationStatus status, org.dataone.service.exceptions.BaseException failure)</code> <div class="block">Set the replication status for an object given the object identifier</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/CNodeService.html#setRightsHolder-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Subject-long-">setRightsHolder</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.Subject userId, long serialVersion)</code> <div class="block">Changes ownership (RightsHolder) of the specified object to the subject specified by userId</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/CNodeService.html#synchronize-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">synchronize</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid)</code> </td> </tr> <tr id="i30" class="altColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.html#updateReplicationMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Replica-long-">updateReplicationMetadata</a></span>(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.Replica replica, long serialVersion)</code> <div class="block">Full replacement of replication metadata in the system metadata for the specified object, changes date system metadata modified</div> </td> </tr> <tr id="i31" class="rowColor"> <td class="colFirst"><code>boolean</code></td> <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../edu/ucsb/nceas/metacat/dataone/CNodeService.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#get-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">get</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#getSystemMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-">getSystemMetadata</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.cn.v2.CNAuthorization"> <!-- --> </a> <h3>Methods inherited from interface org.dataone.service.cn.v2.CNAuthorization</h3> <code>isAuthorized</code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.cn.v2.CNCore"> <!-- --> </a> <h3>Methods inherited from interface org.dataone.service.cn.v2.CNCore</h3> <code>getLogRecords, ping</code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.cn.v2.CNRead"> <!-- --> </a> <h3>Methods inherited from interface org.dataone.service.cn.v2.CNRead</h3> <code>describe, get, getSystemMetadata</code></li> </ul> <ul class="blockList"> <li class="blockList"><a name="methods.inherited.from.class.org.dataone.service.cn.v2.CNView"> <!-- --> </a> <h3>Methods inherited from interface org.dataone.service.cn.v2.CNView</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="V2V1MISSMATCH"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>V2V1MISSMATCH</h4> <pre>public static final java.lang.String V2V1MISSMATCH</pre> <dl> <dt><span class="seeLabel">See Also:</span></dt> <dd><a href="../../../../../constant-values.html#edu.ucsb.nceas.metacat.dataone.CNodeService.V2V1MISSMATCH">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/CNodeService.html" title="class in edu.ucsb.nceas.metacat.dataone">CNodeService</a> getInstance(javax.servlet.http.HttpServletRequest request)</pre> <div class="block">singleton accessor</div> </li> </ul> <a name="setReplicationPolicy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.ReplicationPolicy-long-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setReplicationPolicy</h4> <pre>public boolean setReplicationPolicy(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.ReplicationPolicy policy, long serialVersion) throws org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.VersionMismatch</pre> <div class="block">Set the replication policy for an object given the object identifier It only is applied to objects whose authoritative mn is a v1 node.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>setReplicationPolicy</code> in interface <code>org.dataone.service.cn.v2.CNReplication</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>policy</code> - - the replication policy to be applied</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>true or false</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.VersionMismatch</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> </dl> </li> </ul> <a name="deleteReplicationMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.NodeReference-long-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>deleteReplicationMetadata</h4> <pre>public boolean deleteReplicationMetadata(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.NodeReference nodeId, long serialVersion) 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, org.dataone.service.exceptions.VersionMismatch</pre> <div class="block">Deletes the replica from the given Member Node NOTE: MN.delete() may be an "archive" operation. TBD.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>deleteReplicationMetadata</code> in interface <code>org.dataone.service.cn.v2.CNReplication</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - </dd> <dd><code>pid</code> - </dd> <dd><code>nodeId</code> - </dd> <dd><code>serialVersion</code> - </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.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.VersionMismatch</code></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 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">Deletes an object from the Coordinating Node</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>delete</code> in interface <code>org.dataone.service.cn.v2.CNCore</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="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 from the Coordinating Node</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>archive</code> in interface <code>org.dataone.service.cn.v2.CNCore</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="setObsoletedBy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Identifier-long-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setObsoletedBy</h4> <pre>public boolean setObsoletedBy(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.Identifier obsoletedByPid, long serialVersion) throws org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.VersionMismatch</pre> <div class="block">Set the obsoletedBy attribute in System Metadata</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>setObsoletedBy</code> in interface <code>org.dataone.service.cn.v2.CNCore</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - </dd> <dd><code>pid</code> - </dd> <dd><code>obsoletedByPid</code> - </dd> <dd><code>serialVersion</code> - </dd> <dt><span class="returnLabel">Returns:</span></dt> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</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.InvalidToken</code></dd> <dd><code>org.dataone.service.exceptions.VersionMismatch</code></dd> </dl> </li> </ul> <a name="setReplicationStatus-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.NodeReference-org.dataone.service.types.v1.ReplicationStatus-org.dataone.service.exceptions.BaseException-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setReplicationStatus</h4> <pre>public boolean setReplicationStatus(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.NodeReference targetNode, org.dataone.service.types.v1.ReplicationStatus status, org.dataone.service.exceptions.BaseException failure) throws org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotFound</pre> <div class="block">Set the replication status for an object given the object identifier</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>setReplicationStatus</code> in interface <code>org.dataone.service.cn.v2.CNReplication</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>status</code> - - the replication status to be applied</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>true or false</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.InvalidToken</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-"> <!-- --> </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) 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 checksum of the object given the identifier</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>getChecksum</code> in interface <code>org.dataone.service.cn.v2.CNRead</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>checksum - the checksum of the 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> </dl> </li> </ul> <a name="resolve-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>resolve</h4> <pre>public org.dataone.service.types.v1.ObjectLocationList resolve(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">Resolve the location of a given object</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>resolve</code> in interface <code>org.dataone.service.cn.v2.CNRead</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>objectLocationList - the list of nodes known to contain the 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> </dl> </li> </ul> <a name="search-org.dataone.service.types.v1.Session-java.lang.String-java.lang.String-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>search</h4> <pre>public org.dataone.service.types.v1.ObjectList search(org.dataone.service.types.v1.Session session, java.lang.String queryType, 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</pre> <div class="block">Metacat does not implement this method at the CN level</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>search</code> in interface <code>org.dataone.service.cn.v2.CNRead</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> </dl> </li> </ul> <a name="getFormat-org.dataone.service.types.v1.ObjectFormatIdentifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>getFormat</h4> <pre>public org.dataone.service.types.v2.ObjectFormat getFormat(org.dataone.service.types.v1.ObjectFormatIdentifier fmtid) throws org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotImplemented</pre> <div class="block">Returns the object format registered in the DataONE Object Format Vocabulary for the given format identifier</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>getFormat</code> in interface <code>org.dataone.service.cn.v2.CNCore</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>fmtid</code> - - the identifier of the format requested</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>objectFormat - the object format requested</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> </dl> </li> </ul> <a name="addFormat-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.ObjectFormatIdentifier-org.dataone.service.types.v2.ObjectFormat-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>addFormat</h4> <pre>public org.dataone.service.types.v1.ObjectFormatIdentifier addFormat(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.ObjectFormatIdentifier formatId, org.dataone.service.types.v2.ObjectFormat format) throws org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidToken</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>addFormat</code> in interface <code>org.dataone.service.cn.v2.CNCore</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.ServiceFailure</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.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.InvalidToken</code></dd> </dl> </li> </ul> <a name="listFormats--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>listFormats</h4> <pre>public org.dataone.service.types.v2.ObjectFormatList listFormats() throws org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotImplemented</pre> <div class="block">Returns a list of all object formats registered in the DataONE Object Format Vocabulary</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>listFormats</code> in interface <code>org.dataone.service.cn.v2.CNCore</code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>objectFormatList - The list of object formats registered in the DataONE Object Format Vocabulary</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.InsufficientResources</code></dd> </dl> </li> </ul> <a name="listNodes--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>listNodes</h4> <pre>public org.dataone.service.types.v2.NodeList listNodes() throws org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.ServiceFailure</pre> <div class="block">Returns a list of nodes that have been registered with the DataONE infrastructure</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>listNodes</code> in interface <code>org.dataone.service.cn.v2.CNCore</code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>nodeList - List of nodes from the registry</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> </dl> </li> </ul> <a name="registerSystemMetadata-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>registerSystemMetadata</h4> <pre>public org.dataone.service.types.v1.Identifier registerSystemMetadata(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</pre> <div class="block">Provides a mechanism for adding system metadata independently of its associated object, such as when adding system metadata for data objects.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>registerSystemMetadata</code> in interface <code>org.dataone.service.cn.v2.CNCore</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 register the system metadata against</dd> <dd><code>sysmeta</code> - - The system metadata to be registered</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>true if the registration succeeds</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> </dl> </li> </ul> <a name="reserveIdentifier-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>reserveIdentifier</h4> <pre>public org.dataone.service.types.v1.Identifier reserveIdentifier(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.IdentifierNotUnique, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.InvalidRequest</pre> <div class="block">Given an optional scope and format, reserves and returns an identifier within that scope and format that is unique and will not be used by any other sessions.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>reserveIdentifier</code> in interface <code>org.dataone.service.cn.v2.CNCore</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 register the system metadata against</dd> <dd><code>scope</code> - - An optional string to be used to qualify the scope of the identifier namespace, which is applied differently depending on the format requested. If scope is not supplied, a default scope will be used.</dd> <dd><code>format</code> - - The optional name of the identifier format to be used, drawn from a DataONE-specific vocabulary of identifier format names, including several common syntaxes such as DOI, LSID, UUID, and LSRN, among others. If the format is not supplied by the caller, the CN service will use a default identifier format, which may change over time.</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>true if the registration succeeds</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.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</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.cn.v2.CNCore</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="hasReservation-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Subject-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>hasReservation</h4> <pre>public boolean hasReservation(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Subject subject, org.dataone.service.types.v1.Identifier pid) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.InvalidRequest</pre> <div class="block">Checks whether the pid is reserved by the subject in the session param If the reservation is held on the pid by the subject, we return true.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>hasReservation</code> in interface <code>org.dataone.service.cn.v2.CNCore</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>session</code> - - the Session object containing the Subject</dd> <dd><code>pid</code> - - The identifier to check</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>true if the reservation exists for the subject/pid</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.NotFound</code> - - when the pid is not found (in use or in reservation)</dd> <dd><code>org.dataone.service.exceptions.NotAuthorized</code> - - when the subject does not hold a reservation on the pid</dd> <dd><code>org.dataone.service.exceptions.IdentifierNotUnique</code> - - when the pid is in use</dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> </dl> </li> </ul> <a name="setRightsHolder-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Subject-long-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setRightsHolder</h4> <pre>public org.dataone.service.types.v1.Identifier setRightsHolder(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.Subject userId, long serialVersion) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.VersionMismatch</pre> <div class="block">Changes ownership (RightsHolder) of the specified object to the subject specified by userId</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>setRightsHolder</code> in interface <code>org.dataone.service.cn.v2.CNAuthorization</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> - - Identifier of the object to be modified</dd> <dd><code>userId</code> - - The subject that will be taking ownership of the specified object.</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>pid - the identifier of the modified object</dd> <dt><span class="throwsLabel">Throws:</span></dt> <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.NotAuthorized</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.VersionMismatch</code></dd> </dl> </li> </ul> <a name="isNodeAuthorized-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Subject-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>isNodeAuthorized</h4> <pre>public boolean isNodeAuthorized(org.dataone.service.types.v1.Session originatingNodeSession, org.dataone.service.types.v1.Subject targetNodeSubject, org.dataone.service.types.v1.Identifier pid) throws org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.InvalidRequest</pre> <div class="block">Verify that a replication task is authorized by comparing the target node's Subject (from the X.509 certificate-derived Session) with the list of subjects in the known, pending replication tasks map.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>isNodeAuthorized</code> in interface <code>org.dataone.service.cn.v2.CNReplication</code></dd> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>originatingNodeSession</code> - - Session information that contains the identity of the calling user</dd> <dd><code>targetNodeSubject</code> - - Subject identifying the target node</dd> <dd><code>pid</code> - - the identifier of the object to be replicated</dd> <dd><code>replicatePermission</code> - - the execute permission to be granted</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</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.InvalidRequest</code></dd> <dd><code>org.dataone.service.exceptions.NotFound</code></dd> </dl> </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">Adds a new object to the Node, where the object is a science metadata object.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>create</code> in interface <code>org.dataone.service.cn.v2.CNCore</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="setAccessPolicy-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.AccessPolicy-long-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>setAccessPolicy</h4> <pre>public boolean setAccessPolicy(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.AccessPolicy accessPolicy, long serialVersion) throws org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotFound, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.VersionMismatch</pre> <div class="block">Set access for a given object using the object identifier and a Subject under a given Session. This method only applies the objects whose authoritative mn is a v1 node.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>setAccessPolicy</code> in interface <code>org.dataone.service.cn.v2.CNAuthorization</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 to apply the policy</dd> <dd><code>policy</code> - - the access policy to be applied</dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>true if the application of the policy succeeds</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.NotFound</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> <dd><code>org.dataone.service.exceptions.VersionMismatch</code></dd> </dl> </li> </ul> <a name="updateReplicationMetadata-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-org.dataone.service.types.v1.Replica-long-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>updateReplicationMetadata</h4> <pre>public boolean updateReplicationMetadata(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v1.Replica replica, long serialVersion) 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.NotFound, org.dataone.service.exceptions.VersionMismatch</pre> <div class="block">Full replacement of replication metadata in the system metadata for the specified object, changes date system metadata modified</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>updateReplicationMetadata</code> in interface <code>org.dataone.service.cn.v2.CNReplication</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 to apply the policy</dd> <dd><code>replica</code> - - the replica to be updated</dd> <dt><span class="returnLabel">Returns:</span></dt> <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.NotFound</code></dd> <dd><code>org.dataone.service.exceptions.VersionMismatch</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.NodeReference-org.dataone.service.types.v1.Identifier-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 formatid, org.dataone.service.types.v1.NodeReference nodeId, org.dataone.service.types.v1.Identifier identifier, java.lang.Integer start, java.lang.Integer count) throws org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.InvalidToken, org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.ServiceFailure</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>listObjects</code> in interface <code>org.dataone.service.cn.v2.CNRead</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.InvalidRequest</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.NotImplemented</code></dd> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> </dl> </li> </ul> <a name="listChecksumAlgorithms--"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>listChecksumAlgorithms</h4> <pre>public org.dataone.service.types.v1.ChecksumAlgorithmList listChecksumAlgorithms() throws org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotImplemented</pre> <div class="block">Returns a list of checksum algorithms that are supported by DataONE.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>listChecksumAlgorithms</code> in interface <code>org.dataone.service.cn.v2.CNCore</code></dd> <dt><span class="returnLabel">Returns:</span></dt> <dd>cal the list of checksum algorithms</dd> <dt><span class="throwsLabel">Throws:</span></dt> <dd><code>org.dataone.service.exceptions.ServiceFailure</code></dd> <dd><code>org.dataone.service.exceptions.NotImplemented</code></dd> </dl> </li> </ul> <a name="notifyReplicaNodes-org.dataone.service.types.v2.SystemMetadata-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>notifyReplicaNodes</h4> <pre>public void notifyReplicaNodes(org.dataone.service.types.v2.SystemMetadata currentSystemMetadata)</pre> <div class="block">Notify replica Member Nodes of system metadata changes for a given pid</div> <dl> <dt><span class="paramLabel">Parameters:</span></dt> <dd><code>currentSystemMetadata</code> - - the up to date system metadata</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. Note: the serial version and the replica list in the new system metadata will be ignored and the old values will be kept.</div> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>updateSystemMetadata</code> in interface <code>org.dataone.service.cn.v2.CNCore</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="synchronize-org.dataone.service.types.v1.Session-org.dataone.service.types.v1.Identifier-"> <!-- --> </a> <ul class="blockList"> <li class="blockList"> <h4>synchronize</h4> <pre>public boolean synchronize(org.dataone.service.types.v1.Session session, org.dataone.service.types.v1.Identifier pid) throws org.dataone.service.exceptions.NotAuthorized, org.dataone.service.exceptions.InvalidRequest, org.dataone.service.exceptions.NotImplemented</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>synchronize</code> in interface <code>org.dataone.service.cn.v2.CNCore</code></dd> <dt><span class="throwsLabel">Throws:</span></dt> <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="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 queryEngine) 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.cn.v2.CNRead</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.cn.v2.CNRead</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 queryEngine, 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.cn.v2.CNRead</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="getCapabilities--"> <!-- --> </a> <ul class="blockListLast"> <li class="blockList"> <h4>getCapabilities</h4> <pre>public org.dataone.service.types.v2.Node getCapabilities() throws org.dataone.service.exceptions.NotImplemented, org.dataone.service.exceptions.ServiceFailure</pre> <dl> <dt><span class="overrideSpecifyLabel">Specified by:</span></dt> <dd><code>getCapabilities</code> in interface <code>org.dataone.service.cn.v2.CNCore</code></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> </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/CNodeService.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>Prev Class</li> <li><a href="../../../../../edu/ucsb/nceas/metacat/dataone/D1AuthHelper.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/CNodeService.html" target="_top">Frames</a></li> <li><a href="CNodeService.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>