<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>APIs Internal to Coordinating Nodes — v2.1.0-beta</title> <link rel="stylesheet" href="../_static/dataone.css" type="text/css" /> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <script type="text/javascript"> var DOCUMENTATION_OPTIONS = { URL_ROOT: '../', VERSION: '2.1.0-beta', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true, SOURCELINK_SUFFIX: '.txt' }; </script> <script type="text/javascript" src="../_static/mathjax_pre.js"></script> <script type="text/javascript" src="../_static/jquery.js"></script> <script type="text/javascript" src="../_static/underscore.js"></script> <script type="text/javascript" src="../_static/doctools.js"></script> <script type="text/javascript" src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML"></script> <script type="text/javascript" src="../_static/sidebar.js"></script> <link rel="author" title="About these documents" href="../about.html" /> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Implementation Notes" href="../implementation/index.html" /> <link rel="prev" title="Infrastructure Monitoring APIs" href="monitoring.html" /> <link media="only screen and (max-device-width: 480px)" href="../_static/small_dataone.css" type= "text/css" rel="stylesheet" /> </head> <body role="document"> <div class="version_notice"> <p> <span class='bold'>Warning:</span> These documents are under active development and subject to change (version 2.1.0-beta).<br /> The latest release documents are at: <a href="https://purl.dataone.org/architecture">https://purl.dataone.org/architecture</a> </p> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="../py-modindex.html" title="Python Module Index" >modules</a> |</li> <li class="right" > <a href="../implementation/index.html" title="Implementation Notes" accesskey="N">next</a> |</li> <li class="right" > <a href="monitoring.html" title="Infrastructure Monitoring APIs" accesskey="P">previous</a> |</li> <li class="nav-item nav-item-0"><a href="../index.html"></a> »</li> <li class="nav-item nav-item-1"><a href="index.html" accesskey="U">DataONE APIs</a> »</li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body"> <div class="section" id="apis-internal-to-coordinating-nodes"> <h1>APIs Internal to Coordinating Nodes<a class="headerlink" href="#apis-internal-to-coordinating-nodes" title="Permalink to this headline">¶</a></h1> <p>The DataONE Coordinating Nodes are composed of several components that by their nature will be operating in different JVMs. This document outlines the methods that are exposed by the different components in a Coordinating Node.</p> <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">boolean</span> <span class="n">identity</span><span class="o">.</span><span class="n">isPublic</span><span class="p">(</span><span class="n">Subject</span><span class="p">)</span> <span class="n">boolean</span> <span class="n">identity</span><span class="o">.</span><span class="n">isGroup</span><span class="p">(</span><span class="n">Subject</span><span class="p">)</span> <span class="n">Subject</span><span class="p">[]</span> <span class="n">identity</span><span class="o">.</span><span class="n">getSubjectGroups</span><span class="p">(</span><span class="n">Subject</span><span class="p">)</span> <span class="n">XML</span> <span class="n">objectStore</span><span class="o">.</span><span class="n">getSystemMetadata</span><span class="p">(</span><span class="n">Identifier</span><span class="p">)</span> <span class="n">OctetStream</span> <span class="n">objectStore</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">Identifier</span><span class="p">)</span> <span class="n">boolean</span> <span class="n">objectStore</span><span class="o">.</span><span class="n">registerSystemMetadata</span><span class="p">(</span><span class="n">Identifier</span><span class="p">,</span> <span class="n">SystemMetadata</span><span class="p">)</span> <span class="n">CN_crud</span><span class="o">.</span><span class="n">updateReplicaMetadata</span><span class="p">(</span><span class="n">token</span><span class="p">,</span> <span class="n">pid</span><span class="p">,</span> <span class="n">Types</span><span class="o">.</span><span class="n">ReplicaMetadata</span><span class="p">)</span> <span class="o">-></span> <span class="n">Types</span><span class="o">.</span><span class="n">Identifier</span> <span class="n">full</span> <span class="n">replacement</span> <span class="n">of</span> <span class="n">ReplicaMetadata</span><span class="p">,</span> <span class="n">changes</span> <span class="n">date</span> <span class="n">sysmeta</span> <span class="n">modified</span> <span class="n">CN_crud</span><span class="o">.</span><span class="n">setAccessPolicy</span><span class="p">(</span><span class="n">token</span><span class="p">,</span> <span class="n">pid</span><span class="p">,</span> <span class="n">AccessPolicy</span><span class="p">)</span> <span class="o">-></span> <span class="n">boolean</span> <span class="n">RE</span> <span class="o">/</span><span class="n">access</span><span class="o">/</span><span class="n">pid</span> <span class="p">(</span><span class="n">body</span> <span class="n">containing</span> <span class="n">token</span><span class="p">,</span> <span class="n">AccessPolicy</span><span class="p">)</span> <span class="o">-></span> <span class="n">boolean</span> <span class="n">changes</span> <span class="n">date</span> <span class="n">sysmeta</span> <span class="n">modified</span> <span class="n">too</span> <span class="n">CN_crud</span><span class="o">.</span><span class="n">setReplicationPolicy</span><span class="p">(</span><span class="n">token</span><span class="p">,</span> <span class="n">pid</span><span class="p">,</span> <span class="n">ReplicationPolicy</span><span class="p">)</span> <span class="o">-></span> <span class="n">boolean</span> <span class="n">REST</span> <span class="n">API</span><span class="p">:</span> <span class="n">PUT</span> <span class="o">/</span><span class="n">replication</span><span class="o">/</span><span class="n">pid</span> <span class="p">(</span><span class="n">body</span> <span class="n">containing</span> <span class="n">token</span><span class="p">,</span> <span class="n">ReplicationPolicy</span><span class="p">)</span> <span class="o">-></span> <span class="n">boolean</span> <span class="o">-</span> <span class="n">changes</span> <span class="n">date</span> <span class="n">sysmeta</span> <span class="n">modified</span> <span class="n">too</span> <span class="n">CN</span><span class="o">.</span><span class="n">setDescribes</span><span class="p">()</span> <span class="n">describes</span> <span class="n">can</span> <span class="n">be</span> <span class="nb">set</span> <span class="ow">in</span> <span class="n">its</span> <span class="n">own</span> <span class="n">method</span><span class="p">,</span> <span class="n">but</span> <span class="n">only</span> <span class="k">with</span> <span class="n">write</span> <span class="n">access</span> <span class="n">to</span> <span class="n">described</span> <span class="nb">object</span> <span class="ow">and</span> <span class="n">describing</span> <span class="nb">object</span> <span class="n">may</span> <span class="n">want</span> <span class="n">to</span> <span class="n">relax</span> <span class="n">the</span> <span class="n">requirement</span> <span class="n">later</span> <span class="n">to</span> <span class="n">allow</span> <span class="n">third</span> <span class="n">party</span> <span class="n">annotations</span><span class="o">/</span><span class="n">perspectives</span><span class="o">/</span><span class="n">derivations</span> <span class="n">on</span> <span class="n">other</span> <span class="n">people</span><span class="s1">'s data, but need to be</span> <span class="n">able</span> <span class="n">to</span> <span class="n">differentiate</span> <span class="n">the</span> <span class="n">primary</span> <span class="n">provider</span><span class="s1">'s description from these other</span> <span class="n">descriptions</span> <span class="n">CN</span><span class="o">.</span><span class="n">setDescribedBy</span><span class="p">()</span> <span class="n">describedBy</span> <span class="n">can</span> <span class="n">be</span> <span class="nb">set</span> <span class="ow">in</span> <span class="n">its</span> <span class="n">own</span> <span class="n">method</span><span class="p">,</span> <span class="n">but</span> <span class="n">only</span> <span class="k">with</span> <span class="n">write</span> <span class="n">access</span> <span class="n">to</span> <span class="n">described</span> <span class="nb">object</span> <span class="n">ObjectList</span> <span class="n">getDescribes</span><span class="p">(</span><span class="n">Identifier</span><span class="p">)</span> <span class="n">ObjectList</span> <span class="n">getDescribedBy</span><span class="p">(</span><span class="n">Identifier</span><span class="p">)</span> <span class="n">ObjectList</span> <span class="n">getRelatedObjects</span><span class="p">(</span><span class="n">Identifier</span><span class="p">,</span> <span class="n">RelationshipEnum</span><span class="p">)</span> </pre></div> </div> </div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <p class="logo"><a href="http://dataone.org"> <img class="logo" src="../_static/dataone_logo.png" alt="Logo"/> </a></p><h3>Related Topics</h3> <ul> <li><a href="../index.html">Documentation Overview</a><ul> <li><a href="index.html">DataONE APIs</a><ul> <li>Previous: <a href="monitoring.html" title="previous chapter">Infrastructure Monitoring APIs</a></li> <li>Next: <a href="../implementation/index.html" title="next chapter">Implementation Notes</a></li> </ul></li> </ul></li> </ul> <div id="searchbox" style="display: none" role="search"> <h3>Quick search</h3> <form class="search" action="../search.html" method="get"> <div><input type="text" name="q" /></div> <div><input type="submit" value="Go" /></div> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> <script type="text/javascript">$('#searchbox').show(0);</script> </div> </div> <div class="clearer"></div> </div> <div class="footer"> <div id="copyright"> © Copyright <a href="http://www.dataone.org">2009-2017, DataONE</a>. [ <a href="../_sources/apis/CN_internal_APIs.txt" rel="nofollow">Page Source</a> | <a href='https://redmine.dataone.org/projects/d1/repository/changes/documents/Projects/cicore/architecture/api-documentation/source/apis/CN_internal_APIs.txt' rel="nofollow">Revision History</a> ] </div> <div id="acknowledgement"> <p>This material is based upon work supported by the National Science Foundation under Grant Numbers <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=0830944">083094</a> and <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=1430508">1430508</a>.</p> <p>Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.</p> </div> </div> <!-- <hr /> <div id="HCB_comment_box"><a href="http://www.htmlcommentbox.com">HTML Comment Box</a> is loading comments...</div> <link rel="stylesheet" type="text/css" href="_static/skin.css" /> <script type="text/javascript" language="javascript" id="hcb"> /*<! -*/ (function() {s=document.createElement("script"); s.setAttribute("type","text/javascript"); s.setAttribute("src", "http://www.htmlcommentbox.com/jread?page="+escape((typeof hcb_user !== "undefined" && hcb_user.PAGE)||(""+window.location)).replace("+","%2B")+"&mod=%241%24wq1rdBcg%24Gg8J5iYSHJWwAJtlYu/yU."+"&opts=21407&num=10"); if (typeof s!="undefined") document.getElementsByTagName("head")[0].appendChild(s);})(); /* ->*/ </script> --> </body> </html>