€cdocutils.nodes document q)q}q(U nametypesq}qX#apis internal to coordinating nodesqNsUsubstitution_defsq}qUparse_messagesq ]q Ucurrent_sourceq NU decorationq NUautofootnote_startq KUnameidsq}qhU#apis-internal-to-coordinating-nodesqsUchildrenq]qcdocutils.nodes section q)q}q(U rawsourceqUUparentqhUsourceqXj/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/apis/CN_internal_APIs.txtqUtagnameqUsectionqU attributesq}q(Udupnamesq]Uclassesq]Ubackrefsq ]Uidsq!]q"haUnamesq#]q$hauUlineq%KUdocumentq&hh]q'(cdocutils.nodes title q()q)}q*(hX#APIs Internal to Coordinating Nodesq+hhhhhUtitleq,h}q-(h]h]h ]h!]h#]uh%Kh&hh]q.cdocutils.nodes Text q/X#APIs Internal to Coordinating Nodesq0…q1}q2(hh+hh)ubaubcdocutils.nodes paragraph q3)q4}q5(hXã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.q6hhhhhU paragraphq7h}q8(h]h]h ]h!]h#]uh%Kh&hh]q9h/Xã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.q:…q;}q<(hh6hh4ubaubcdocutils.nodes literal_block q=)q>}q?(hX‡boolean identity.isPublic(Subject) boolean identity.isGroup(Subject) Subject[] identity.getSubjectGroups(Subject) XML objectStore.getSystemMetadata(Identifier) OctetStream objectStore.get(Identifier) boolean objectStore.registerSystemMetadata(Identifier, SystemMetadata) CN_crud.updateReplicaMetadata(token, pid, Types.ReplicaMetadata) -> Types.Identifier full replacement of ReplicaMetadata, changes date sysmeta modified CN_crud.setAccessPolicy(token, pid, AccessPolicy) -> boolean RE /access/pid (body containing token, AccessPolicy) -> boolean changes date sysmeta modified too CN_crud.setReplicationPolicy(token, pid, ReplicationPolicy) -> boolean REST API: PUT /replication/pid (body containing token, ReplicationPolicy) -> boolean - changes date sysmeta modified too CN.setDescribes() describes can be set in its own method, but only with write access to described object and describing object may want to relax the requirement later to allow third party annotations/perspectives/derivations on other people's data, but need to be able to differentiate the primary provider's description from these other descriptions CN.setDescribedBy() describedBy can be set in its own method, but only with write access to described object ObjectList getDescribes(Identifier) ObjectList getDescribedBy(Identifier) ObjectList getRelatedObjects(Identifier, RelationshipEnum)hhhhhU literal_blockq@h}qA(U xml:spaceqBUpreserveqCh!]h ]h]h]h#]uh%K h&hh]qDh/X‡boolean identity.isPublic(Subject) boolean identity.isGroup(Subject) Subject[] identity.getSubjectGroups(Subject) XML objectStore.getSystemMetadata(Identifier) OctetStream objectStore.get(Identifier) boolean objectStore.registerSystemMetadata(Identifier, SystemMetadata) CN_crud.updateReplicaMetadata(token, pid, Types.ReplicaMetadata) -> Types.Identifier full replacement of ReplicaMetadata, changes date sysmeta modified CN_crud.setAccessPolicy(token, pid, AccessPolicy) -> boolean RE /access/pid (body containing token, AccessPolicy) -> boolean changes date sysmeta modified too CN_crud.setReplicationPolicy(token, pid, ReplicationPolicy) -> boolean REST API: PUT /replication/pid (body containing token, ReplicationPolicy) -> boolean - changes date sysmeta modified too CN.setDescribes() describes can be set in its own method, but only with write access to described object and describing object may want to relax the requirement later to allow third party annotations/perspectives/derivations on other people's data, but need to be able to differentiate the primary provider's description from these other descriptions CN.setDescribedBy() describedBy can be set in its own method, but only with write access to described object ObjectList getDescribes(Identifier) ObjectList getDescribedBy(Identifier) ObjectList getRelatedObjects(Identifier, RelationshipEnum)qE…qF}qG(hUhh>ubaubeubahUU transformerqHNU footnote_refsqI}qJUrefnamesqK}qLUsymbol_footnotesqM]qNUautofootnote_refsqO]qPUsymbol_footnote_refsqQ]qRU citationsqS]qTh&hU current_lineqUNUtransform_messagesqV]qWUreporterqXNUid_startqYKU autofootnotesqZ]q[U citation_refsq\}q]Uindirect_targetsq^]q_Usettingsq`(cdocutils.frontend Values qaoqb}qc(Ufootnote_backlinksqdKUrecord_dependenciesqeNU rfc_base_urlqfUhttps://tools.ietf.org/html/qgU tracebackqhˆUpep_referencesqiNUstrip_commentsqjNU toc_backlinksqkUentryqlU language_codeqmUenqnU datestampqoNU report_levelqpKU _destinationqqNU halt_levelqrKU strip_classesqsNh,NUerror_encoding_error_handlerqtUbackslashreplacequUdebugqvNUembed_stylesheetqw‰Uoutput_encoding_error_handlerqxUstrictqyU sectnum_xformqzKUdump_transformsq{NU docinfo_xformq|KUwarning_streamq}NUpep_file_url_templateq~Upep-%04dqUexit_status_levelq€KUconfigqNUstrict_visitorq‚NUcloak_email_addressesqƒˆUtrim_footnote_reference_spaceq„‰Uenvq…NUdump_pseudo_xmlq†NUexpose_internalsq‡NUsectsubtitle_xformqˆ‰U source_linkq‰NUrfc_referencesqŠNUoutput_encodingq‹Uutf-8qŒU source_urlqNUinput_encodingqŽU utf-8-sigqU_disable_configqNU id_prefixq‘UU tab_widthq’KUerror_encodingq“UUTF-8q”U_sourceq•hUgettext_compactq–ˆU generatorq—NUdump_internalsq˜NU smart_quotesq™‰U pep_base_urlqšU https://www.python.org/dev/peps/q›Usyntax_highlightqœUlongqUinput_encoding_error_handlerqžhyUauto_id_prefixqŸUidq Udoctitle_xformq¡‰Ustrip_elements_with_classesq¢NU _config_filesq£]Ufile_insertion_enabledq¤ˆU raw_enabledq¥KU dump_settingsq¦NubUsymbol_footnote_startq§KUidsq¨}q©hhsUsubstitution_namesqª}q«hh&h}q¬(h]h!]h ]Usourcehh]h#]uU footnotesq­]q®Urefidsq¯}q°ub.