Class SimpleCatalogArchiveHelper

java.lang.Object
org.odpi.openmetadata.samples.archiveutilities.SimpleCatalogArchiveHelper
Direct Known Subclasses:
GovernanceArchiveHelper

public class SimpleCatalogArchiveHelper extends Object
SimpleCatalogArchiveHelper creates elements used when creating a simple catalog. This includes assets, their schemas and connections, design models.
  • Field Details

  • Constructor Details

    • SimpleCatalogArchiveHelper

      public SimpleCatalogArchiveHelper(OpenMetadataArchiveBuilder archiveBuilder, String archiveGUID, String archiveName, String archiveRootName, String originatorName, Date creationDate, long versionNumber, String versionName)
      Typical constructor passes parameters used to build the open metadata archive's property header.
      Parameters:
      archiveBuilder - builder where content is cached
      archiveGUID - unique identifier for this open metadata archive.
      archiveName - name of the open metadata archive metadata collection.
      archiveRootName - non-spaced root name of the open metadata GUID map.
      originatorName - name of the originator (person or organization) of the archive.
      creationDate - data that this archive was created.
      versionNumber - version number of the archive.
      versionName - version name for the archive.
    • SimpleCatalogArchiveHelper

      public SimpleCatalogArchiveHelper(OpenMetadataArchiveBuilder archiveBuilder, String archiveGUID, String archiveName, String archiveRootName, String originatorName, Date creationDate, long versionNumber, String versionName, InstanceProvenanceType instanceProvenanceType, String license)
      Typical constructor passes parameters used to build the open metadata archive's property header.
      Parameters:
      archiveBuilder - builder where content is cached
      archiveGUID - unique identifier for this open metadata archive.
      archiveName - name of the open metadata archive metadata collection.
      archiveRootName - non-spaced root name of the open metadata GUID map.
      originatorName - name of the originator (person or organization) of the archive.
      creationDate - data that this archive was created.
      versionNumber - version number of the archive.
      versionName - version name for the archive.
      instanceProvenanceType - type of archive.
      license - license for the archive contents.
    • SimpleCatalogArchiveHelper

      public SimpleCatalogArchiveHelper(OpenMetadataArchiveBuilder archiveBuilder, String archiveGUID, String archiveName, String originatorName, Date creationDate, long versionNumber, String versionName, String guidMapFileName)
      Constructor passes parameters used to build the open metadata archive's property header. This version is used for multiple dependant archives, and they need to share the guid map.
      Parameters:
      archiveBuilder - builder where content is cached
      archiveGUID - unique identifier for this open metadata archive.
      archiveName - name of the open metadata archive metadata collection.
      originatorName - name of the originator (person or organization) of the archive.
      creationDate - data that this archive was created.
      versionNumber - version number of the archive.
      versionName - version name for the archive.
      guidMapFileName - name of the guid map file.
    • SimpleCatalogArchiveHelper

      public SimpleCatalogArchiveHelper(OpenMetadataArchiveBuilder archiveBuilder, String archiveGUID, String archiveName, String originatorName, Date creationDate, long versionNumber, String versionName, InstanceProvenanceType instanceProvenanceType, String license, String guidMapFileName)
      Constructor passes parameters used to build the open metadata archive's property header. This version is used for multiple dependant archives, and they need to share the guid map.
      Parameters:
      archiveBuilder - builder where content is cached
      archiveGUID - unique identifier for this open metadata archive.
      archiveName - name of the open metadata archive metadata collection.
      originatorName - name of the originator (person or organization) of the archive.
      creationDate - data that this archive was created.
      versionNumber - version number of the archive.
      versionName - version name for the archive.
      instanceProvenanceType - type of archive.
      license - license for the archive contents.
      guidMapFileName - name of the guid map file.
  • Method Details

    • getGUID

      public String getGUID(String qualifiedName)
      Return the guid of an element based on its qualified name. This is a lookup in the GUID map not the archive. This means if the qualified name is not known, a new GUID is generated.
      Parameters:
      qualifiedName - qualified name ot look up
      Returns:
      guid.
    • queryGUID

      public String queryGUID(String qualifiedName)
      Return the guid of an element based on its qualified name. This is a query in the GUID map not the archive. This means if the qualified name is not known, null is returned.
      Parameters:
      qualifiedName - qualified name ot look up
      Returns:
      guid or null
    • saveGUIDs

      public void saveGUIDs()
      Save the GUIDs so that the GUIDs of the elements inside the archive are consistent each time the archive runs.
    • addExternalReference

      public String addExternalReference(String typeName, String anchorGUID, String anchorTypeName, String qualifiedName, String displayName, String referenceTitle, String referenceAbstract, String description, List<String> authors, int numberOfPages, String pageRange, String authorOrganization, String publicationSeries, String publicationSeriesVolume, String edition, String versionNumber, String referenceURL, String publisher, Date firstPublicationDate, Date publicationDate, String publicationCity, String publicationYear, List<String> publicationNumbers, String license, String copyright, String attribution, List<String> searchKeywords, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Create an external reference entity. This typically describes a publication, webpage book or reference source of information that is from an external organization.
      Parameters:
      typeName - name of element subtype to use - default is ExternalReference
      anchorGUID - unique identifier if its anchor (or null)
      anchorTypeName - type name of the anchor entity
      qualifiedName - unique name for the element
      displayName - display name for the element
      referenceTitle - full title from the publication
      referenceAbstract - full abstract from the publication
      description - description about the element
      authors - authors of the element
      numberOfPages - number of pages in the external source
      pageRange - range of pages that is significant
      authorOrganization - organization that the information is from
      publicationSeries - publication series or journal that the external source is from.
      publicationSeriesVolume - volume of the publication series where the external source is found
      edition - edition where the external source is from
      versionNumber - version number for the element
      referenceURL - link to the external source
      publisher - publisher of the external source
      firstPublicationDate - date this material was first published (ie first version's publication date)
      publicationDate - date that this version was published
      publicationCity - city that the publisher operates from
      publicationYear - year that this version was published
      publicationNumbers - list of ISBNs for this external source
      license - name of the license associated with this external source
      copyright - copyright statement associated with this external source
      attribution - attribution statement to use when consuming this external source
      searchKeywords - list of keywords
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      Returns:
      unique identifier for new external reference (externalReferenceGUID)
    • addExternalReferenceLink

      public void addExternalReferenceLink(String referenceableGUID, String externalReferenceGUID, String referenceId, String description, String pages)
      Create the relationship between a referenceable and an external reference.
      Parameters:
      referenceableGUID - unique identifier of the element making the reference
      externalReferenceGUID - unique identifier of the external reference
      referenceId - unique reference id for this referenceable
      description - description of the relevance of the external reference
      pages - relevant pages in the external reference
    • addMediaReference

      public String addMediaReference(String typeName, String qualifiedName, String displayName, String description, List<String> authors, String authorOrganization, String versionNumber, String referenceURL, String license, String copyright, String attribution, int mediaType, String mediaTypeOtherId, int defaultMediaUsage, String defaultMediaUsageOtherId, List<String> searchKeywords, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Create a media reference entity. This typically describes an image, audio clip or video clip.
      Parameters:
      typeName - name of element subtype to use - default is RelatedMedia
      qualifiedName - unique name for the element
      displayName - display name for the element
      description - description about the element
      authors - authors of the element
      authorOrganization - organization that the information is from
      versionNumber - version number for the element
      referenceURL - link to the external source
      license - name of the license associated with this external source
      copyright - copyright statement associated with this external source
      attribution - attribution statement to use when consuming this external source
      mediaType - type of media
      mediaTypeOtherId - if media type is "other" add type here
      defaultMediaUsage - usage of media if not supplied on media reference link relationship
      defaultMediaUsageOtherId - if default media usage is "other" add usage type here
      searchKeywords - list of keywords
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      Returns:
      unique identifier for new media reference (mediaReferenceGUID)
    • addMediaReferenceLink

      public void addMediaReferenceLink(String referenceableGUID, String mediaReferenceGUID, String mediaId, String description, int mediaUsage, String mediaUsageOtherId)
      Create the relationship between a referenceable and an external reference.
      Parameters:
      referenceableGUID - unique identifier of the element making the reference
      mediaReferenceGUID - unique identifier of the media reference
      mediaId - unique reference id for this media element
      description - description of the relevance of the media reference
      mediaUsage - type of usage
      mediaUsageOtherId - other type of media usage (for example if using a valid value set).
    • addDeployedOnRelationship

      public void addDeployedOnRelationship(String deployedElementQName, String deployedOnQName, Date deploymentTime, String deployerTypeName, String deployerPropertyName, String deployer, int deploymentStatus)
      Add the DeployedOn relationship to the archive.
      Parameters:
      deployedElementQName - qualified name of element being deployed
      deployedOnQName - qualified name of target
      deploymentTime - time of the deployment
      deployerTypeName - type name of the element representing the deployer
      deployerPropertyName - property name used to identify the deployer
      deployer - identifier of the deployer
      deploymentStatus - status of the deployment
    • addResourceListRelationship

      public void addResourceListRelationship(String parentQName, String resourceQName, String resourceUse, String resourceUseDescription)
      Add the ResourceList relationship to the archive.
      Parameters:
      parentQName - qualified name of resource consumer
      resourceQName - qualified name of resource
      resourceUse - use descriptor
      resourceUseDescription - description of use
    • addResourceListRelationshipByGUID

      public void addResourceListRelationshipByGUID(String parentGUID, String resourceGUID, String resourceUse, String resourceUseDescription)
      Add the ResourceList relationship to the archive.
      Parameters:
      parentGUID - unique identifier of resource consumer
      resourceGUID - unique identifier of resource
      resourceUse - use descriptor
      resourceUseDescription - description of use
    • addResourceListRelationshipByGUID

      public void addResourceListRelationshipByGUID(String parentGUID, String resourceGUID, String resourceUse, String resourceUseDescription, Map<String,String> resourceUseProperties, boolean watchResource)
      Add the ResourceList relationship to the archive.
      Parameters:
      parentGUID - unique identifier of resource consumer
      resourceGUID - unique identifier of resource
      resourceUse - description of use
      resourceUseProperties - properties
      resourceUseDescription - description
      watchResource - should watch?
    • addResourceListRelationship

      public void addResourceListRelationship(String referenceableQName, String resourceQName, String resourceUse, String resourceUseDescription, Map<String,String> resourceUseProperties, boolean watchResource)
      Link a referenceable to another referenceable to indicate that the second referenceable is providing resources in support of the first.
      Parameters:
      referenceableQName - qualified name of the referenceable
      resourceQName - qualified name of the second referenceable
      resourceUse - string description (use ResourceUse enum from GAF)
      resourceUseDescription - description of how the resource is used
      resourceUseProperties - additional properties associated with the resource
      watchResource - should the resource be watched (boolean)
    • addLocation

      public String addLocation(String qualifiedName, String identifier, String displayName, String description, Map<String,String> additionalProperties)
      Add a location entity to the archive.
      Parameters:
      qualifiedName - unique name of the location
      identifier - code value or symbol used to identify the location - typically unique
      displayName - display name of the location
      description - description of the location
      additionalProperties - any additional properties
      Returns:
      unique identifier of the location
    • addFixedLocation

      public String addFixedLocation(String qualifiedName, String identifier, String displayName, String description, String coordinates, String mapProjection, String postalAddress, String timeZone, Map<String,String> additionalProperties)
      Add a location with a FixedLocation classification.
      Parameters:
      qualifiedName - unique name of the location
      identifier - code value or symbol used to identify the location - typically unique
      displayName - display name of the location
      description - description of the location
      coordinates - location coordinates
      mapProjection - type of location coordinates
      postalAddress - full postal address
      timeZone - timezone of location
      additionalProperties - any additional properties
      Returns:
      unique identifier of the new location
    • addSecureLocation

      public String addSecureLocation(String qualifiedName, String identifier, String displayName, String description, String level, String securityDescription, Map<String,String> additionalProperties)
      Add a location with a SecureLocation classification.
      Parameters:
      qualifiedName - unique name of the location
      identifier - code value or symbol used to identify the location - typically unique
      displayName - display name of the location
      description - description of the location
      level - level of security
      securityDescription - description of security provision
      additionalProperties - additional properties for the location
      Returns:
      unique identifier of the new location
    • addCyberLocation

      public String addCyberLocation(String qualifiedName, String identifier, String displayName, String description, String networkAddress, Map<String,String> additionalProperties)
      Add a location entity with the CyberLocation classification to the archive.
      Parameters:
      qualifiedName - unique name of the location
      identifier - code value or symbol used to identify the location - typically unique
      displayName - display name of the location
      description - description of the location
      networkAddress - address of the cyber location
      additionalProperties - any additional properties
      Returns:
      unique identifier of the location
    • addMobileAssetClassification

      public void addMobileAssetClassification(String assetGUID)
      Add the MobileAsset classification to the requested asset.
      Parameters:
      assetGUID - unique identifier of the element to classify
    • addLocationHierarchy

      public void addLocationHierarchy(String broaderLocationGUID, String nestedLocationGUID)
      Create the relationship between a locations and one of the locations nested within it.
      Parameters:
      broaderLocationGUID - unique identifier of the broader location
      nestedLocationGUID - unique identifier of the nested location
    • addPeerLocations

      public void addPeerLocations(String location1GUID, String location2GUID)
      Link two locations as peers using the AdjacentLocation relationship.
      Parameters:
      location1GUID - unique identifier of the broader location
      location2GUID - unique identifier of the nested location
    • addAssetLocationRelationship

      public void addAssetLocationRelationship(String locationQName, String assetQName)
      Link a location to an asset.
      Parameters:
      locationQName - qualified name of the location
      assetQName - qualified name of the asset
    • addUserIdentity

      public String addUserIdentity(String qualifiedName, String userId, String distinguishedName, Map<String,String> additionalProperties)
      Add a user identity entity to the archive.
      Parameters:
      qualifiedName - unique name of the user identity
      userId - name of the user account
      distinguishedName - LDAP name for the user
      additionalProperties - any additional properties
      Returns:
      unique identifier of the user identity
    • addProfileLocationRelationship

      public void addProfileLocationRelationship(String profileQName, String locationQName, String associationType)
      Link a location to a profile.
      Parameters:
      profileQName - qualified name of the profile
      locationQName - qualified name of the location
      associationType - identifier that describes the purpose of the association.
    • addProfileIdentity

      public void addProfileIdentity(String profileGUID, String userIdentityGUID, String roleTypeName, String roleGUID, String description)
      Create the relationship between a profile and one of its userIds.
      Parameters:
      profileGUID - unique identifier of the actor profile
      userIdentityGUID - unique identifier of the user identity
      roleTypeName - type of role that uses this userId
      roleGUID - unique identifier of role that uses this userId
      description - description of why role uses this userId
    • addContactDetails

      public void addContactDetails(String profileGUID, String profileTypeName, String name, String contactType, int contactMethodType, String contactMethodService, String contactMethodValue)
      Add a contact method to a profile.
      Parameters:
      profileGUID - unique identifier for a profile
      name - name of the contact method
      contactType - type of contact - eg home address, work mobile, emergency contact ...
      contactMethodType - type of contact address
      contactMethodService - service used in the contact method
      contactMethodValue - name/account/url used to contact the individual
    • addPersonRole

      public String addPersonRole(String suppliedTypeName, String qualifiedName, String identifier, String name, String description, String scope, boolean setHeadCount, int headCount, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Add a new person role.
      Parameters:
      suppliedTypeName - type name to use for the person role
      qualifiedName - qualified name of role
      identifier - unique code
      name - display name
      description - description (eg job description)
      scope - scope of role's responsibilities
      setHeadCount - should the headcount field be set?
      headCount - number of people that may be appointed to the role (default = 1)
      additionalProperties - are there any additional properties to add
      extendedProperties - any additional properties associated with a subtype
      Returns:
      unique identifier of the new profile
    • addGovernanceRole

      public String addGovernanceRole(String suppliedTypeName, String qualifiedName, int domainIdentifier, String identifier, String name, String description, String scope, boolean setHeadCount, int headCount, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Add a new person role.
      Parameters:
      suppliedTypeName - type name to use for the person role
      qualifiedName - qualified name of role
      domainIdentifier - identifier of governance domain
      identifier - unique code
      name - display name
      description - description (eg job description)
      scope - scope of role's responsibilities
      setHeadCount - should the headcount field be set?
      headCount - number of people that may be appointed to the role (default = 1)
      additionalProperties - are there any additional properties to add
      extendedProperties - any additional properties associated with a subtype
      Returns:
      unique identifier of the new profile
    • addPersonRoleAppointmentRelationship

      public void addPersonRoleAppointmentRelationship(String personQName, String personRoleQName, boolean isPublic)
      Link a person profile to a person role.
      Parameters:
      personQName - qualified name of the person profile
      personRoleQName - qualified name of the person role
      isPublic - is this appointment public?
    • addPeerRelationship

      public void addPeerRelationship(String person1QName, String person2QName)
      Link a person profile to another person as a peer.
      Parameters:
      person1QName - qualified name of the first person profile
      person2QName - qualified name of the second person profile
    • addPerson

      public String addPerson(String qualifiedName, String name, String pronouns, String description, String initials, String title, String givenNames, String surname, String fullName, String jobTitle, String employeeNumber, String employeeType, String preferredLanguage, boolean isPublic, Map<String,String> additionalProperties)
      Add a new person profile.
      Parameters:
      qualifiedName - qualified name of profile
      name - display name (preferred name of individual)
      pronouns - preferred pronouns
      description - description (eg job description)
      title - courtesy title
      initials - given names initials
      givenNames - list of given names
      surname - family name
      fullName - full legal name
      jobTitle - job title
      employeeNumber - unique employee contract number
      employeeType - type of employee
      preferredLanguage - preferred language to communicate with
      isPublic - is this profile public
      additionalProperties - are there any additional properties to add
      Returns:
      unique identifier of the new profile
    • addTeam

      public String addTeam(String suppliedTypeName, String qualifiedName, String name, String description, String teamType, String identifier, Map<String,String> additionalProperties)
      Add a new team profile.
      Parameters:
      suppliedTypeName - type name for the team
      qualifiedName - qualified name of profile
      name - display name (preferred name of individual)
      description - description (eg job description)
      teamType - type of team
      identifier - code value identifier for the team
      additionalProperties - are there any additional properties to add
      Returns:
      unique identifier of the new profile
    • addTeamLeadershipRelationship

      public void addTeamLeadershipRelationship(String personRoleQName, String teamQName, String position)
      Link a person role as a team's leader.
      Parameters:
      personRoleQName - qualified name of the person role
      teamQName - qualified name of the team profile
      position - position of the role
    • addTeamMembershipRelationship

      public void addTeamMembershipRelationship(String personRoleQName, String teamQName, String position)
      Link a person role as a team's member.
      Parameters:
      personRoleQName - qualified name of the person role
      teamQName - qualified name of the team profile
      position - position of the role
    • addTeamStructureRelationship

      public void addTeamStructureRelationship(String superTeamQName, String subTeamQName, boolean delegationEscalationAuthority)
      Link a person role as a team's member.
      Parameters:
      superTeamQName - qualified name of the super team profile
      subTeamQName - qualified name of the subteam profile
      delegationEscalationAuthority - delegationEscalationAuthority of the role
    • addITProfileToAsset

      public String addITProfileToAsset(String assetGUID, String qualifiedName, String name, String description, Map<String,String> additionalProperties)
      Add a new IT profile.
      Parameters:
      assetGUID - unique identifier of asset to connect the profile to.
      qualifiedName - qualified name of profile
      name - display name (preferred name of individual)
      description - description (eg job description)
      additionalProperties - are there any additional properties to add
      Returns:
      unique identifier of the new profile
    • addAssignmentScopeRelationship

      public void addAssignmentScopeRelationship(String actorQName, String scopeQName, String assignmentType, String description)
      Link an actor (profile/person role) to a scope.
      Parameters:
      actorQName - qualified name of the actor
      scopeQName - qualified name of the scope
      assignmentType - type of the assignment
      description - description of the assignment
    • addProject

      public String addProject(String suppliedTypeName, String qualifiedName, String identifier, String name, String description, Date startDate, Date plannedEndDate, String projectPhase, String projectHealth, String projectStatus, boolean setCampaignClassification, boolean setTaskClassification, String projectTypeClassification, List<Classification> otherClassifications, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Add a new project.
      Parameters:
      suppliedTypeName - subtype information
      qualifiedName - qualified name of project
      identifier - unique identifier of project - typically allocated externally
      name - display name
      description - description
      startDate - date the project started
      plannedEndDate - date the project is expected to end
      projectPhase - lifecycle phase of the project
      projectHealth - health of the project's execution
      projectStatus - status of the project
      setCampaignClassification - should the Campaign classification be set?
      setTaskClassification - should the Task classification be set?
      projectTypeClassification - add special classification that defines the type of project - eg GlossaryProject or GovernanceProject
      otherClassifications - any other classifications, such as Template
      additionalProperties - are there any additional properties to add
      extendedProperties - any additional properties associated with a subtype
      Returns:
      unique identifier of the new profile
    • addProjectHierarchyRelationship

      public void addProjectHierarchyRelationship(String projectQName, String subprojectQName)
      Link a project to a subproject.
      Parameters:
      projectQName - qualified name of the parent project
      subprojectQName - qualified name of the subproject
    • addStakeHolderRelationship

      public void addStakeHolderRelationship(String referenceableQName, String actorQName)
      Link a referenceable to its stakeholders.
      Parameters:
      referenceableQName - qualified name of the parent project
      actorQName - qualified name of the subproject
    • addProjectDependencyRelationship

      public void addProjectDependencyRelationship(String projectQName, String dependsOnProjectQName, String dependencySummary)
      Link a project to another project that it depends on.
      Parameters:
      projectQName - qualified name of the project
      dependsOnProjectQName - qualified name of the project that it depends on
      dependencySummary - description of what makes them dependent
    • addProjectTeamRelationship

      public void addProjectTeamRelationship(String personQName, String personRoleQName, String teamRole)
      Link a project to a team. A project may have multiple teams.
      Parameters:
      personQName - qualified name of the person profile
      personRoleQName - qualified name of the person role
      teamRole - role of this team in the project
    • addProjectManagementRelationship

      public void addProjectManagementRelationship(String projectQName, String projectManagerRoleQName)
      Link a project to a person role that represents the project manager(s).
      Parameters:
      projectQName - qualified name of the project
      projectManagerRoleQName - qualified name of the person role
    • addCommunity

      public String addCommunity(String suppliedTypeName, String qualifiedName, String name, String description, String mission, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Add a new community.
      Parameters:
      suppliedTypeName - subtype information
      qualifiedName - qualified name of community
      name - display name
      description - description
      mission - why is the community formed?
      additionalProperties - are there any additional properties to add
      extendedProperties - any additional properties associated with a subtype
      Returns:
      unique identifier of the new profile
    • addCommunityMembershipRelationship

      public void addCommunityMembershipRelationship(String communityQName, String membershipRoleQName, int membershipType)
      Link a community to a person role.
      Parameters:
      communityQName - qualified name of the community
      membershipRoleQName - qualified name of the membership role
      membershipType - ordinal of enum
    • addCollection

      public String addCollection(String suppliedTypeName, String anchorGUID, String anchorTypeName, String classificationName, String qualifiedName, String displayName, String description, String collectionType, Map<String,String> additionalProperties, List<Classification> otherClassifications, Map<String,Object> extendedProperties)
      Create a collection entity.
      Parameters:
      suppliedTypeName - type of collection
      anchorGUID - unique identifier of the anchor for the collection - if null then own anchor
      anchorTypeName - unique type name of the anchor for the collection - no anchor is added if null
      classificationName - name of classification to attach
      qualifiedName - unique name for the collection entity
      displayName - display name for the collection
      description - description about the collection
      collectionType - type of collection
      additionalProperties - any other properties
      otherClassifications - additional classifications for the collection (eg Template)
      extendedProperties - additional properties defined in the subtype
      Returns:
      unique identifier for subject area (collectionGUID)
    • addMemberToCollection

      public void addMemberToCollection(String collectionGUID, String memberGUID, String membershipRationale)
      Add a member to a collection.
      Parameters:
      collectionGUID - unique identifier of the collection
      memberGUID - unique identifier of the member
      membershipRationale - why is this member in this collection
    • addGovernanceDomainDescription

      public String addGovernanceDomainDescription(String governanceDomainSetGUID, String qualifiedName, int domainIdentifier, String displayName, String description, Map<String,String> additionalProperties)
      Create a governance domain description entity.
      Parameters:
      qualifiedName - unique name for the governance domain entity
      domainIdentifier - unique identifier of the governance domain
      displayName - display name for the governance domain
      description - description about the governance domain
      additionalProperties - any other properties
      governanceDomainSetGUID - unique identifier of the collection for the domain definitions
      Returns:
      unique identifier for the governance domain (governanceDomainGUID)
    • addGovernanceDefinition

      public String addGovernanceDefinition(String suppliedTypeName, String qualifiedName, String title, String summary, String description, String scope, int domainIdentifier, String priority, List<String> implications, List<String> outcomes, List<String> results, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Create a governance definition entity.
      Parameters:
      suppliedTypeName - type of governance definition to add
      qualifiedName - unique name for the governance definition entity
      title - title for the governance definition
      summary - short description for the governance definition
      description - description about the governance definition
      scope - scope where the governance definition is used
      priority - how important is the governance definition
      domainIdentifier - unique identifier of the governance domain
      implications - expected impact of adopting this definition
      outcomes - expected outcomes from adopting this definition
      results - results from adopting this definition
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      Returns:
      unique identifier for governance definition (governanceDefinitionGUID)
    • addGovernanceDefinitionScopeRelationship

      public void addGovernanceDefinitionScopeRelationship(String referenceableQName, String governanceDefinitionQName)
      Link a referenceable to a governance definition to define the scope there it applies.
      Parameters:
      referenceableQName - qualified name of the referenceable
      governanceDefinitionQName - qualified name of the governance definition
    • addGovernedByRelationship

      public void addGovernedByRelationship(String referenceableQName, String governanceDefinitionQName)
      Link a referenceable to a governance definition to indicate that it is governed by the governance definition.
      Parameters:
      referenceableQName - qualified name of the referenceable
      governanceDefinitionQName - qualified name of the governance definition
    • addGovernanceDefinitionPeerRelationship

      public void addGovernanceDefinitionPeerRelationship(String relationshipTypeName, String governanceDefinition1QName, String governanceDefinition2QName, String description)
      Link two governance definitions at the same level.
      Parameters:
      relationshipTypeName - type of relationship
      governanceDefinition1QName - qualified name of the referenceable
      governanceDefinition2QName - qualified name of the governance definition
      description - description of the peer relationship
    • addGovernanceDefinitionDelegationRelationship

      public void addGovernanceDefinitionDelegationRelationship(String relationshipTypeName, String governanceDefinition1QName, String governanceDefinition2QName, String rationale)
      Link two governance definitions at the same level.
      Parameters:
      relationshipTypeName - type of relationship
      governanceDefinition1QName - qualified name of the referenceable
      governanceDefinition2QName - qualified name of the governance definition
      rationale - description of the delegation relationship
    • addGovernanceZone

      public String addGovernanceZone(String qualifiedName, String zoneName, String displayName, String description, String criteria, String scope, int domainIdentifier, Map<String,String> additionalProperties)
      Create a governance zone entity.
      Parameters:
      qualifiedName - unique name for the zone entity
      zoneName - unique name for the zone
      displayName - display name for the zone
      description - description about the zone
      scope - scope where the zone is used
      criteria - what is the common characteristic of assets in this zone?
      domainIdentifier - unique identifier of the governance domain (0 means all/any)
      additionalProperties - any other properties
      Returns:
      unique identifier for governance zone (governanceZoneGUID)
    • addZoneHierarchy

      public void addZoneHierarchy(String broaderGovernanceZoneGUID, String nestedGovernanceZoneGUID)
      Create the relationship between a governance zone and one of its nested governance zones.
      Parameters:
      broaderGovernanceZoneGUID - unique identifier of the broader zone
      nestedGovernanceZoneGUID - unique identifier of the nested (narrower) zone
    • getAssetOriginClassification

      public Classification getAssetOriginClassification(String organization, String organizationPropertyName, String businessCapability, String businessCapabilityPropertyName, Map<String,String> otherOriginValues)
      Return the asset origin classification.
      Parameters:
      organization - organization GUID/name
      organizationPropertyName - property name used to id the organization
      businessCapability - business capability GUID/name
      businessCapabilityPropertyName - property name used to id the business capability
      otherOriginValues - map of other values
      Returns:
      classification
    • getAssetZoneMembershipClassification

      public Classification getAssetZoneMembershipClassification(List<String> zones)
      Return the asset zone membership classification.
      Parameters:
      zones - list of zones that the asset is a member of.
    • addAssetZoneMembershipClassification

      public void addAssetZoneMembershipClassification(String assetGUID, List<String> zones)
      Add the asset zone membership classification to the requested asset.
      Parameters:
      assetGUID - unique identifier of the asset to classify
      zones - list of zones that the asset is a member of.
    • addSubjectAreaDefinition

      public String addSubjectAreaDefinition(String qualifiedName, String subjectAreaName, String displayName, String description, String scope, String usage, int domainIdentifier, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Create a subject area definition entity.
      Parameters:
      qualifiedName - unique name for the subject area entity
      subjectAreaName - unique name for the subject area
      displayName - display name for the subject area
      description - description about the subject area
      scope - scope where the subject area is used
      usage - how is the subject area used
      domainIdentifier - unique identifier of the governance domain
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      Returns:
      unique identifier for subject area (subjectAreaGUID)
    • addSubjectAreaHierarchy

      public void addSubjectAreaHierarchy(String broaderSubjectAreaGUID, String nestedSubjectAreaGUID)
      Create the relationship between a subject area and one of its nested subject areas.
      Parameters:
      broaderSubjectAreaGUID - unique identifier of the broader subject area
      nestedSubjectAreaGUID - unique identifier of the nested (narrower) subject area
    • addSubjectAreaClassification

      public void addSubjectAreaClassification(String referenceableGUID, String subjectAreaQualifiedName)
      Add the subject area classification to the requested element.
      Parameters:
      referenceableGUID - unique identifier of the element to classify
      subjectAreaQualifiedName - name of the subject area. The suggestion is that the name used is the qualified name.
    • addBusinessArea

      public String addBusinessArea(String qualifiedName, String identifier, String displayName, String description, Map<String,String> additionalProperties)
      Create a business area entity.
      Parameters:
      qualifiedName - unique name for the business area entity
      identifier - unique name for the business area
      displayName - display name for the business area
      description - description about the business area
      additionalProperties - any other properties
      Returns:
      unique identifier for business area (businessAreaGUID)
    • addOrganizationalCapabilityRelationship

      public void addOrganizationalCapabilityRelationship(String businessCapabilityQName, String teamQName, String scope)
      Add an OrganizationalCapability relationship.
      Parameters:
      businessCapabilityQName - qualified name of the specialized term
      teamQName - qualified name of the generalized term
      scope - scope of the team's ability to support the business capability
    • addDesignModel

      public String addDesignModel(String typeName, String classificationName, String qualifiedName, String displayName, String technicalName, String description, String versionNumber, String author, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Create a design model entity.
      Parameters:
      typeName - name of element subtype to use - default is DesignModel
      classificationName - name of classification the identifies the type of design model
      qualifiedName - unique name for the element
      displayName - display name for the element
      technicalName - technical name for the element
      description - description about the element
      versionNumber - version number for the element
      author - author of the element
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      Returns:
      unique identifier for new design model (designModelGUID)
    • addDesignModelElement

      public String addDesignModelElement(String designModelGUID, String designModelTypeName, String typeName, String qualifiedName, String displayName, String technicalName, String description, String versionNumber, String author, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<Classification> classifications)
      Create a design model element entity. This may be a group or an element in the model.
      Parameters:
      designModelGUID - unique identifier of model that owns this element
      designModelTypeName - unique type name of model that owns this element
      typeName - name of element subtype to use - default is DesignModelElement
      qualifiedName - unique name for the element
      displayName - display name for the element
      technicalName - technical name for the element
      description - description about the element
      versionNumber - version number for the element
      author - author of the element
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      classifications - list of classifications (if any)
      Returns:
      unique identifier for the new model element
    • addDesignModelGroupMembership

      public void addDesignModelGroupMembership(String groupGUID, String memberGUID)
      Create the relationship between a design model group and one of its members.
      Parameters:
      groupGUID - unique identifier of the design model group
      memberGUID - unique identifier of the member
    • addConceptBeadRelationshipEnd

      public void addConceptBeadRelationshipEnd(String conceptBeadLinkGUID, String conceptBeadGUID, String attributeName, int conceptModelDecoration, int position, int minCardinality, int maxCardinality, boolean uniqueValues, boolean orderedValues, boolean navigable)
      Create the relationship between a concept bead link and the concept bead at one of its ends.
      Parameters:
      conceptBeadLinkGUID - unique identifier of the concept bead link entity
      conceptBeadGUID - unique identifier of the concept bead
      attributeName - name of the attribute for this end
      conceptModelDecoration - what type of relationship end
      position - in the attributes for the bead
      minCardinality - minimum number of the relationships
      maxCardinality - maximum number of the relationships
      uniqueValues - are the relationship values unique
      orderedValues - are the relationship values in any order (using position)
      navigable - is it possible to navigate to the concept bead
    • addConceptBeadAttributeLink

      public void addConceptBeadAttributeLink(String conceptBeadGUID, String conceptBeadAttributeGUID, int position, int minCardinality, int maxCardinality, boolean uniqueValues, boolean orderedValues)
      Create the relationship between a concept bead link and the concept bead at one of its ends.
      Parameters:
      conceptBeadGUID - unique identifier of the concept bead entity
      conceptBeadAttributeGUID - unique identifier of the concept bead attribute entity
      position - in the attributes for the bead
      minCardinality - minimum number of the relationships
      maxCardinality - maximum number of the relationships
      uniqueValues - are the relationship values unique
      orderedValues - are the relationship values in any order (using position)
    • addAsset

      public String addAsset(String typeName, String qualifiedName, String name, String description, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<Classification> classifications)
      Create an asset entity.
      Parameters:
      typeName - name of asset subtype to use - default is Asset
      qualifiedName - unique name for the asset
      name - display name for the asset
      description - description about the asset
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      classifications - list of classifications (if any)
      Returns:
      id for the asset
    • addAsset

      public String addAsset(String typeName, String qualifiedName, String name, String versionIdentifier, String description, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<Classification> classifications)
      Create an asset entity.
      Parameters:
      typeName - name of asset subtype to use - default is Asset
      qualifiedName - unique name for the asset
      name - display name for the asset
      versionIdentifier - version for the asset
      description - description about the asset
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      classifications - list of classifications (if any)
      Returns:
      id for the asset
    • addAsset

      public String addAsset(String typeName, String qualifiedName, String name, String description, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Create an asset entity.
      Parameters:
      typeName - name of asset subtype to use - default is Asset
      qualifiedName - unique name for the asset
      name - display name for the asset
      description - description about the asset
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      Returns:
      id for the asset
    • addAsset

      public String addAsset(String typeName, String qualifiedName, String name, String description, List<String> governanceZones, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Create an asset entity.
      Parameters:
      typeName - name of asset subtype to use - default is Asset
      qualifiedName - unique name for the asset
      name - display name for the asset
      description - description about the asset
      governanceZones - list of zones to add to the asset
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      Returns:
      id for the asset
    • addAsset

      public String addAsset(String typeName, String qualifiedName, String name, String versionIdentifier, String description, List<String> governanceZones, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
      Create an asset entity.
      Parameters:
      typeName - name of asset subtype to use - default is Asset
      qualifiedName - unique name for the asset
      name - display name for the asset
      versionIdentifier - version of the asset
      description - description about the asset
      governanceZones - list of zones to add to the asset
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      Returns:
      id for the asset
    • addProcess

      public String addProcess(String typeName, String qualifiedName, String name, String description, String formula, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<Classification> classifications)
      Create a process entity.
      Parameters:
      typeName - name of asset subtype to use - default is Asset
      qualifiedName - unique name for the asset
      name - display name for the asset
      description - description about the asset
      formula - description of the logic that this process performs
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      classifications - list of classifications (if any)
      Returns:
      id for the asset
    • addProcess

      public String addProcess(String typeName, String qualifiedName, String name, String versionIdentifier, String description, String formula, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<Classification> classifications)
      Create a process entity.
      Parameters:
      typeName - name of asset subtype to use - default is Asset
      qualifiedName - unique name for the asset
      name - display name for the asset
      versionIdentifier - version of the asset
      description - description about the asset
      formula - description of the logic that this process performs
      additionalProperties - any other properties
      extendedProperties - additional properties defined in the subtype
      classifications - list of classifications (if any)
      Returns:
      id for the asset
    • addSoftwareCapability

      public String addSoftwareCapability(String typeName, String qualifiedName, String name, String description, String deployedImplementationType, String capabilityVersion, String patchLevel, String source, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, String anchorGUID, String anchorTypeName)
      Create a software capability entity. It the anchor GUID/typeName is supplied, the new capability is anchored to that entity; otherwise it is its own anchor.
      Parameters:
      typeName - name of software capability subtype to use - default is SoftwareCapability
      qualifiedName - unique name for the capability
      name - display name for the capability
      description - description about the capability
      deployedImplementationType - type
      capabilityVersion - version
      patchLevel - patch level
      source - source
      additionalProperties - any other properties
      extendedProperties - properties for subtype
      anchorGUID - optional unique identifier for the anchor
      anchorTypeName - optional type name for the anchor.
      Returns:
      id for the capability
    • addConnectionForAsset

      public void addConnectionForAsset(String assetGUID, String assetSummary, String connectionGUID)
      Create the relationship between an asset and its connection.
      Parameters:
      assetGUID - unique identifier of the asset
      assetSummary - summary of the asset from the connection perspective
      connectionGUID - unique identifier of the connection to its content
    • addDataContentForDataSet

      public void addDataContentForDataSet(String dataContentGUID, String dataSetGUID)
      Create the relationship between a data set and an asset that is providing all or part of its content.
      Parameters:
      dataContentGUID - unique identifier of the data store
      dataSetGUID - unique identifier of the consuming data set
    • addDataContentForDataSet

      public void addDataContentForDataSet(String dataContentGUID, String dataSetGUID, String queryId, String query)
      Create the relationship between a data set and an asset that is providing all or part of its content.
      Parameters:
      dataContentGUID - unique identifier of the data store
      dataSetGUID - unique identifier of the consuming data set
      queryId - identifier of the query used to combine results in a broader formula of the data set
      query - query to issue against this data content
    • addTopLevelSchemaType

      public String addTopLevelSchemaType(String assetGUID, String assetTypeName, String typeName, String qualifiedName, String displayName, String description, Map<String,String> additionalProperties)
      Create the top level schema type for an asset.
      Parameters:
      assetGUID - unique identifier of asset
      typeName - name of asset subtype to use - default is SchemaType
      qualifiedName - unique name for the schema type
      displayName - display name for the schema type
      description - description about the schema type
      additionalProperties - any other properties
      Returns:
      id for the schemaType
    • addSchemaType

      public String addSchemaType(String assetGUID, String assetTypeName, String typeName, String qualifiedName, String displayName, String description, Map<String,String> additionalProperties)
    • addAPIOperation

      public String addAPIOperation(String apiSchemaTypeGUID, String qualifiedName, String displayName, String description, String path, String command, Map<String,String> additionalProperties)
      Create the schema type for an API operation.
      Parameters:
      apiSchemaTypeGUID - unique identifier of top level schemaType
      qualifiedName - unique name for the schema type
      displayName - display name for the schema type
      description - description about the schema type
      path - the path name for the operation
      command - the command to issue eg GET, POST
      additionalProperties - any other properties
      Returns:
      id for the schemaType
    • addAPIParameterList

      public String addAPIParameterList(String apiOperationGUID, String relationshipTypeName, String qualifiedName, String displayName, String description, boolean required, Map<String,String> additionalProperties)
      Create a parameter list schema type for an API operation.
      Parameters:
      apiOperationGUID - unique identifier of top level schemaType
      relationshipTypeName - name of relationship type - default is APIRequest
      qualifiedName - unique name for the schema type
      displayName - display name for the schema type
      description - description about the schema type
      required - is this parameter list required
      additionalProperties - any other properties
      Returns:
      id for the schemaType
    • addAPIParameter

      public String addAPIParameter(String typeName, String schemaTypeName, String qualifiedName, String displayName, String description, String dataType, int length, int position, String parameterType, Map<String,String> additionalProperties)
      Create a schema attribute with a TypeEmbeddedAttribute classification.
      Parameters:
      typeName - name of schema attribute subtype to use - default is SchemaAttribute
      schemaTypeName - name of schema type subtype to use - default is PrimitiveSchemaType
      qualifiedName - unique name for the schema attribute
      displayName - display name for the schema attribute
      description - description about the schema attribute
      dataType - data type for the schema attribute
      length - length of the storage used by the schema attribute
      position - position in the schema at this level
      parameterType - type of parameter
      additionalProperties - any other properties.
      Returns:
      id for the schema attribute
    • addSchemaTypeOption

      public void addSchemaTypeOption(String schemaTypeChoiceGUID, String schemaTypeOptionGUID)
      Create the relationship between a SchemaTypeChoice element and a child element using the SchemaTypeOption relationship.
      Parameters:
      schemaTypeChoiceGUID - unique identifier of the parent element
      schemaTypeOptionGUID - unique identifier of the child element
    • addAttributeForSchemaType

      public void addAttributeForSchemaType(String schemaTypeGUID, String schemaAttributeGUID)
      Create the relationship between a SchemaType element and a child SchemaAttribute element using the AttributeForSchema relationship.
      Parameters:
      schemaTypeGUID - unique identifier of the parent element
      schemaAttributeGUID - unique identifier of the child element
    • addNestedSchemaAttribute

      public void addNestedSchemaAttribute(String parentSchemaAttributeGUID, String childSchemaAttributeGUID)
      Create the relationship between a SchemaAttribute element and a child SchemaAttribute element using the NestedSchemaAttribute relationship.
      Parameters:
      parentSchemaAttributeGUID - unique identifier of the parent element
      childSchemaAttributeGUID - unique identifier of the child element
    • addSchemaAttribute

      public String addSchemaAttribute(String typeName, String schemaTypeName, String qualifiedName, String displayName, String description, String dataType, int length, int position, Map<String,String> additionalProperties)
      Create a schema attribute with a TypeEmbeddedAttribute classification.
      Parameters:
      typeName - name of schema attribute subtype to use - default is SchemaAttribute
      schemaTypeName - name of schema type subtype to use - default is PrimitiveSchemaType
      qualifiedName - unique name for the schema attribute
      displayName - display name for the schema attribute
      description - description about the schema attribute
      dataType - data type for the schema attribute
      length - length of the storage used by the schema attribute
      position - position in the schema at this level
      additionalProperties - any other properties.
      Returns:
      id for the schema attribute
    • addSchemaAttribute

      public String addSchemaAttribute(String assetGUID, String assetTypeName, String typeName, String schemaTypeName, String qualifiedName, String displayName, String description, String dataType, int length, int position, String encodingStandard, Map<String,String> additionalProperties)
      Create a schema attribute with a TypeEmbeddedAttribute classification.
      Parameters:
      assetGUID - anchor GUID (optional)
      assetTypeName - anchorTypeName (needed if assetGUID is set)
      typeName - name of schema attribute subtype to use - default is SchemaAttribute
      schemaTypeName - name of schema type subtype to use - default is PrimitiveSchemaType
      qualifiedName - unique name for the schema attribute
      displayName - display name for the schema attribute
      description - description about the schema attribute
      dataType - data type for the schema attribute
      length - length of the storage used by the schema attribute
      position - position in the schema at this level
      encodingStandard - encoding standard
      additionalProperties - any other properties.
      Returns:
      id for the schema attribute
    • addConnection

      public String addConnection(String qualifiedName, String displayName, String description, String userId, String clearPassword, String encryptedPassword, Map<String,String> securedProperties, Map<String,Object> configurationProperties, Map<String,String> additionalProperties, String connectorTypeGUID, String endpointGUID, String anchorGUID, String anchorTypeName)
      Create a connection entity.
      Parameters:
      qualifiedName - unique name for the connection
      displayName - display name for the connection
      description - description about the connection
      userId - userId that the connector should use to connect to the platform that hosts the asset.
      clearPassword - possible password for the connector
      encryptedPassword - possible password for the connector
      securedProperties - properties hidden from the client
      configurationProperties - properties used to configure the connector
      additionalProperties - any other properties.
      connectorTypeGUID - unique identifier for the connector type
      endpointGUID - unique identifier for the endpoint of the asset
      anchorGUID - unique identifier for the anchor - can be null
      anchorTypeName - unique name of the anchor - set if anchorGUID set.
      Returns:
      id for the connection
    • addConnectorType

      public String addConnectorType(String connectorCategoryGUID, ConnectorProvider connectorProvider)
      Create a connector type entity. It is lined to a connector category if supplied.
      Parameters:
      connectorCategoryGUID - unique identifier of connector category - or null is not categorized
      connectorProvider - OCF Connector Provider
      Returns:
      id for the connector type
    • addConnectorType

      public String addConnectorType(String connectorCategoryGUID, IntegrationConnectorProvider connectorProvider)
      Create a connector type entity. It is lined to a connector category if supplied.
      Parameters:
      connectorCategoryGUID - unique identifier of connector category - or null is not categorized
      connectorProvider - OCF Connector Provider
      Returns:
      id for the connector type
    • addConnectorType

      public String addConnectorType(String connectorCategoryGUID, ConnectorType connectorType)
      Create a connector type entity. It is lined to a connector category if supplied.
      Parameters:
      connectorCategoryGUID - unique identifier of connector category - or null is not categorized
      connectorType - OCF connector type - comes from the Connector Provider
      Returns:
      id for the connector type
    • addConnectorType

      public String addConnectorType(String connectorCategoryGUID, String connectorTypeGUID, String qualifiedName, String displayName, String description, String deployedImplementationType, String supportedAssetTypeName, String expectedDataFormat, String connectorProviderClassName, String connectorFrameworkName, String connectorInterfaceLanguage, List<String> connectorInterfaces, String targetTechnologySource, String targetTechnologyName, List<String> targetTechnologyInterfaces, List<String> targetTechnologyVersions, List<String> recognizedSecuredProperties, List<String> recognizedConfigurationProperties, List<String> recognizedAdditionalProperties, Map<String,String> additionalProperties)
      Create a connector type entity. It is lined to a connector category if supplied.
      Parameters:
      connectorCategoryGUID - unique identifier of connector category - or null is not categorized
      connectorTypeGUID - fixed unique identifier for connector type - comes from the Connector Provider
      qualifiedName - unique name for the connector type
      displayName - display name for the connector type
      description - description about the connector type
      supportedAssetTypeName - type of asset supported by this connector
      deployedImplementationType - specific deployed implementation type for assets supported by this connector
      expectedDataFormat - format of the data stored in the resource
      connectorProviderClassName - code for this type of connector
      connectorFrameworkName - name of the framework that the connector implements - default "Open Connector Framework (OCF)"
      connectorInterfaceLanguage - programming language of the connector's interface
      connectorInterfaces - the interfaces that the connector implements
      targetTechnologySource - organization implementing the target technology
      targetTechnologyName - name of the target technology
      targetTechnologyInterfaces - called interfaces the target technology
      targetTechnologyVersions - supported versions of the target technology
      recognizedSecuredProperties - names of supported properties hidden from the client - for connection object.
      recognizedConfigurationProperties - names of supported properties used to configure the connector - for connection object.
      recognizedAdditionalProperties - names of any other properties for connection object.
      additionalProperties - any other properties.
      Returns:
      id for the connector type
    • addConnectorType

      protected String addConnectorType(String connectorCategoryGUID, String qualifiedName, String displayName, String description, String deployedImplementationType, String supportedAssetTypeName, String expectedDataFormat, String connectorProviderClassName, String connectorFrameworkName, String connectorInterfaceLanguage, List<String> connectorInterfaces, String targetTechnologySource, String targetTechnologyName, List<String> targetTechnologyInterfaces, List<String> targetTechnologyVersions, List<String> recognizedSecuredProperties, List<String> recognizedConfigurationProperties, List<String> recognizedAdditionalProperties, Map<String,String> additionalProperties)
      Create a connector type entity.
      Parameters:
      connectorCategoryGUID - unique identifier of connector category - or null is not categorized
      qualifiedName - unique name for the connector type
      displayName - display name for the connector type
      description - description about the connector type
      deployedImplementationType - specific deployed implementation type for assets supported by this connector
      supportedAssetTypeName - type of asset supported by this connector
      expectedDataFormat - format of the data stored in the resource
      connectorProviderClassName - code for this type of connector
      connectorFrameworkName - name of the framework that the connector implements - default "Open Connector Framework (OCF)"
      connectorInterfaceLanguage - programming language of the connector's interface
      connectorInterfaces - the interfaces that the connector implements
      targetTechnologySource - organization implementing the target technology
      targetTechnologyName - name of the target technology
      targetTechnologyInterfaces - called interfaces the target technology
      targetTechnologyVersions - supported versions of the target technology
      recognizedSecuredProperties - names of supported properties hidden from the client - for connection object.
      recognizedConfigurationProperties - names of supported properties used to configure the connector - for connection object.
      recognizedAdditionalProperties - names of any other properties for connection object.
      additionalProperties - any other properties.
      Returns:
      id for the connector type
    • addConnectorCategory

      public String addConnectorCategory(String connectorTypeDirectoryGUID, String qualifiedName, String displayName, String description, String targetTechnologySource, String targetTechnologyName, Map<String,Boolean> recognizedSecuredProperties, Map<String,Boolean> recognizedConfigurationProperties, Map<String,Boolean> recognizedAdditionalProperties, Map<String,String> additionalProperties)
      Create a connector category entity.
      Parameters:
      connectorTypeDirectoryGUID - unique identifier of connector type directory that this connector belongs to - or null for an independent connector category
      qualifiedName - unique name for the connector category
      displayName - display name for the connector category
      description - description about the connector category
      targetTechnologySource - organization implementing the target technology
      targetTechnologyName - name of the target technology
      recognizedSecuredProperties - names of supported properties hidden from the client - for connection object.
      recognizedConfigurationProperties - names of supported properties used to configure the connector - for connection object.
      recognizedAdditionalProperties - names of any other properties for connection object.
      additionalProperties - any other properties.
      Returns:
      id for the connector type
    • addConnectorTypeDirectory

      public String addConnectorTypeDirectory(String qualifiedName, String displayName, String description, Map<String,String> additionalProperties)
      Create a connector category entity.
      Parameters:
      qualifiedName - unique name for the connector type directory
      displayName - display name for the connector type directory
      description - description about the connector type directory
      additionalProperties - any other properties.
      Returns:
      id for the connector type
    • getTemplateClassification

      public Classification getTemplateClassification(String templateName, String templateDescription, String versionIdentifier, Map<String,String> additionalProperties, String methodName)
      Create a Template classification to add to an entity as it is created.
      Parameters:
      templateName - name of template
      templateDescription - description of template
      versionIdentifier - identifier of the template
      additionalProperties - additional properties
      methodName - calling method
      Returns:
      classification object
    • getTemplateSubstituteClassification

      public Classification getTemplateSubstituteClassification()
      Return the TemplateSubstitute classification.
      Returns:
      classification
    • addSourcedFromRelationship

      public void addSourcedFromRelationship(String resultingElementGUID, long sourceVersionNumber, String templateElementGUID, String methodName)
      Create a sourced from relationship.
      Parameters:
      resultingElementGUID - the element created
      sourceVersionNumber - the version of the template used for the creation
      templateElementGUID - the template used
      methodName - calling method
    • addCatalogTemplateRelationship

      public void addCatalogTemplateRelationship(String owningElementGUID, String templateElementGUID)
      Create a catalog template relationship.
      Parameters:
      owningElementGUID - the element to catalog
      templateElementGUID - the template to use
    • addEndpoint

      public String addEndpoint(String anchorGUID, String anchorGUIDTypeName, String qualifiedName, String displayName, String description, String networkAddress, String protocol, Map<String,String> additionalProperties)
      Create a endpoint entity.
      Parameters:
      qualifiedName - unique name for the endpoint
      displayName - display name for the endpoint
      description - description about the endpoint
      networkAddress - location of the asset
      protocol - protocol to use to connect to the asset
      additionalProperties - any other properties.
      Returns:
      id for the endpoint
    • addGlossary

      public String addGlossary(String qualifiedName, String displayName, String description, String language, String usage, String externalLink, String scope)
      Create a glossary entity. If the external link is specified, the glossary entity is linked to an ExternalGlossaryLink entity. If the scope is specified, the glossary entity is classified as a CanonicalGlossary.
      Parameters:
      qualifiedName - unique name for the glossary
      displayName - display name for the glossary
      description - description about the glossary
      language - language that the glossary is written in
      usage - how the glossary should be used
      externalLink - link to material
      scope - scope of the content.
      Returns:
      id for the glossary
    • addGlossary

      public String addGlossary(String qualifiedName, String displayName, String description, String language, String usage, String externalLink, String scope, Map<String,String> additionalProperties)
      Create a glossary entity. If the external link is specified, the glossary entity is linked to an ExternalGlossaryLink entity. If the scope is specified, the glossary entity is classified as a CanonicalGlossary.
      Parameters:
      qualifiedName - unique name for the glossary
      displayName - display name for the glossary
      description - description about the glossary
      language - language that the glossary is written in
      usage - how the glossary should be used
      externalLink - link to material
      scope - scope of the content.
      additionalProperties - any other properties.
      Returns:
      id for the glossary
    • addGlossaryCategory

      public String addGlossaryCategory(String glossaryGUID, String qualifiedName, String displayName, String description, String subjectArea)
      Add a glossary category to the archive and connect it to its glossary.
      Parameters:
      glossaryGUID - identifier of the glossary.
      qualifiedName - unique name for the category.
      displayName - display name for the category.
      description - description of the category.
      subjectArea - name of the subject area if this category contains terms for the subject area.
      Returns:
      identifier of the category
    • addGlossaryCategory

      public String addGlossaryCategory(String glossaryGUID, String qualifiedName, String displayName, String description, String subjectArea, Map<String,String> additionalProperties)
      Add a glossary category to the archive and connect it to its glossary.
      Parameters:
      glossaryGUID - identifier of the glossary.
      qualifiedName - unique name for the category.
      displayName - display name for the category.
      description - description of the category.
      subjectArea - name of the subject area if this category contains terms for the subject area.
      additionalProperties - any other properties.
      Returns:
      identifier of the category
    • addGlossaryCategory

      public String addGlossaryCategory(String glossaryGUID, boolean isRootCategory, String qualifiedName, String displayName, String description, String subjectArea, Map<String,String> additionalProperties)
      Add a glossary category to the archive and connect it to its glossary.
      Parameters:
      glossaryGUID - identifier of the glossary.
      isRootCategory - is this the top-level category for the glossary
      qualifiedName - unique name for the category.
      displayName - display name for the category.
      description - description of the category.
      subjectArea - name of the subject area if this category contains terms for the subject area.
      additionalProperties - any other properties.
      Returns:
      identifier of the category
    • addTerm

      public String addTerm(String glossaryGUID, List<String> categoryGUIDs, String qualifiedName, String displayName, String description)
      Add a term and link it to the glossary and an arbitrary number of categories.
      Parameters:
      glossaryGUID - unique identifier of the glossary
      categoryGUIDs - unique identifiers of the categories
      qualifiedName - unique name of the term
      displayName - display name of the term
      description - description of the term
      Returns:
      unique identifier of the term
    • addTerm

      public String addTerm(String glossaryGUID, List<String> categoryIds, boolean categoriesAsNames, String qualifiedName, String displayName, String summary, String description, String examples, String abbreviation, String usage, boolean isSpineObject, boolean isSpineAttribute, boolean isContext, String contextDescription, String contextScope, Map<String,String> additionalProperties, List<Classification> additionalClassifications)
      Add a term and link it to the glossary and an arbitrary number of categories. Add requested classifications
      Parameters:
      glossaryGUID - unique identifier of the glossary
      categoryIds - unique identifiers of the categories
      categoriesAsNames - when true the categories are specified as qualified names, otherwise they are guids.
      qualifiedName - unique name of the term
      displayName - display name of the term
      summary - short description of the term
      description - description of the term
      examples - examples of the term
      abbreviation - abbreviation
      usage - how is the term used
      isSpineObject - term is a spine object
      isSpineAttribute - term is a spine attribute
      isContext - is this term a context definition?
      contextDescription - description to add to the ContextDefinition classification
      contextScope - scope to add to the context classification
      additionalProperties - any other properties.
      additionalClassifications - classifications provided by the caller
      Returns:
      unique identifier of the term
    • addCategoryToCategory

      public void addCategoryToCategory(String parentCategoryGUID, String childCategoryGUID)
      Link two categories together as part of the parent child hierarchy.
      Parameters:
      parentCategoryGUID - unique identifier for the parent category
      childCategoryGUID - unique identifier for the child category
    • addSemanticAssignment

      public void addSemanticAssignment(String dataGUID, String glossaryTermGUID)
      Link a data element to a glossary term.
      Parameters:
      dataGUID - unique identifier for the element linked to the semantic assignment
      glossaryTermGUID - unique identifier for the term
    • addTermToContext

      public void addTermToContext(String contextGUID, String termGUID, int status, String description)
      Link a term to a context referenceable to show that the term is valid in the context of the other.
      Parameters:
      contextGUID - unique identifier for the context
      termGUID - unique identifier for the term
      status - ordinal for the relationship status
      description - description of the relationship between the term and the category.
    • addTermToSynonym

      public void addTermToSynonym(String synonymGUID, String termGUID, int status, String description, String expression, String steward, String source)
      Link two terms together to show that one is valid in the context of the other.
      Parameters:
      synonymGUID - unique identifier for the context
      termGUID - unique identifier for the term
      status - ordinal for the relationship status
      description - description of the relationship between the term and the category.
      expression - the expression that indicates how close a synonym this is
      steward - the identifier of the steward that created this relationship
      source - source of the information that indicates this is a synonym
    • addTermToCategory

      public void addTermToCategory(String categoryGUID, String termGUID)
      Link two categories together as part of the parent child hierarchy.
      Parameters:
      categoryGUID - unique identifier for the parent category
      termGUID - unique identifier for the term
    • addTermToCategory

      public void addTermToCategory(String categoryGUID, String termGUID, int status, String description)
      Link two categories together as part of the parent child hierarchy.
      Parameters:
      categoryGUID - unique identifier for the parent category
      termGUID - unique identifier for the term
      status - ordinal for the relationship status
      description - description of the relationship between the term and the category.
    • addLibraryCategoryReference

      public void addLibraryCategoryReference(String categoryGUID, String externalGlossaryLinkGUID, String identifier, String description, String steward, Date lastVerified)
      Link a category to an external glossary link with information on which category in the external glossary it corresponds to.
      Parameters:
      categoryGUID - unique identifier for the category
      externalGlossaryLinkGUID - unique identifier for the description of the external glossary (a type of external reference)
      identifier - identifier of the category in the external glossary
      description - description of the link
      steward - steward who created link
      lastVerified - last time this was verified
    • addLibraryTermReference

      public void addLibraryTermReference(String termGUID, String externalGlossaryLinkGUID, String identifier, String description, String steward, Date lastVerified)
      Link a glossary term to an external glossary link with information on which term in the external glossary it corresponds to.
      Parameters:
      termGUID - unique identifier for the term
      externalGlossaryLinkGUID - unique identifier for the description of the external glossary (a type of external reference)
      identifier - identifier of the term in the external glossary
      description - description of the link
      steward - steward who created link
      lastVerified - last time this was verified
    • addMoreInformationLink

      public void addMoreInformationLink(String describedElementId, String describerElementId)
      Create a navigation link from one referenceable to another to show they provide more information.
      Parameters:
      describedElementId - unique identifier for the element that is referencing the other.
      describerElementId - unique identifier for the element being pointed to.
    • addLicense

      public void addLicense(String licensedElementGUID, String licenseGUID, Date startDate, Date endDate, String conditions, String licensedBy, String licensedByTypeName, String licensedByPropertyName, String custodian, String custodianTypeName, String custodianPropertyName, String licensee, String licenseeTypeName, String licenseePropertyName, Map<String,String> entitlements, Map<String,String> restrictions, Map<String,String> obligations, String notes, String licenseTypeGUID)
      Create a licence relationship.
      Parameters:
      licensedElementGUID - unique identifier for the element that is licensed.
      licenseGUID - - unique identifier of the license
      startDate - start date for the license
      endDate - end date for the license
      conditions - conditions
      licensedBy - identity of source
      licensedByTypeName - type of identity of source
      licensedByPropertyName - property name use to identify source
      custodian - identity of person responsible for overseeing use
      custodianTypeName - type name of custodian
      custodianPropertyName - property name used to identify custodian
      licensee - identity of person receiving
      licenseeTypeName - type of person element
      licenseePropertyName - property name use to identify licensee
      entitlements - entitlements
      restrictions - restrictions
      obligations - obligations
      notes - notes
      licenseTypeGUID - unique identifier for the license type.
    • linkTermToReferenceable

      public void linkTermToReferenceable(String termId, String referenceableId)
      Create a semantic assignment between a term and a Referenceable - for example a model element.
      Parameters:
      termId - identifier of term
      referenceableId - identifier of referenceable
    • addIsATypeOfRelationship

      public void addIsATypeOfRelationship(String specialTermQName, String generalizedTermQName)
      Add an is-a-type-of relationship
      Parameters:
      specialTermQName - qualified name of the specialized term
      generalizedTermQName - qualified name of the generalized term
    • addHasARelationship

      public void addHasARelationship(String conceptQName, String propertyQName)
      Add a HasA relationship
      Parameters:
      conceptQName - concept qualified name
      propertyQName - property qualified name
    • addRelatedTermRelationship

      public void addRelatedTermRelationship(String conceptQName, String propertyQName)
      Add related term relationship.
      Parameters:
      conceptQName - concept qualified name
      propertyQName - property qualified name
    • addValidValue

      public String addValidValue(String typeName, String qualifiedName, String name, String description, String usage, String scope, String preferredValue, boolean isDeprecated, Map<String,String> additionalProperties)
      Add a valid value definition/set.
      Parameters:
      typeName - unique name of the valid value - ie a definition or a set
      qualifiedName - unique name of the valid value
      name - display name of the valid value
      scope - short description of the valid value
      description - description of the valid value
      preferredValue - preferredValue of the valid value
      usage - how is the valid value used
      isDeprecated - is value active
      additionalProperties - any other properties.
      Returns:
      unique identifier of the valid value
    • addValidValue

      public String addValidValue(String suppliedValidValueGUID, String setGUID, String anchorGUID, String anchorTypeName, String typeName, String qualifiedName, String name, String description, String category, String usage, String dataType, String scope, String preferredValue, boolean isDeprecated, boolean isCaseSensitive, Map<String,String> additionalProperties)
      Add a valid value definition/set.
      Parameters:
      suppliedValidValueGUID - optional unique identifier for the valid value instance
      setGUID - unique identifier of parent set
      anchorGUID - unique identifier of the anchor (or null)
      anchorTypeName - unique name of type of anchor (or null)
      typeName - unique name of the valid value - ie a definition or a set
      qualifiedName - unique name of the valid value
      name - display name of the valid value
      category - category of the valid value
      scope - short description of the valid value
      dataType - type for preferred value
      description - description of the valid value
      preferredValue - preferredValue of the valid value
      usage - how is the valid value used
      isDeprecated - is value active
      isCaseSensitive - is value case sensitive
      additionalProperties - any other properties.
      Returns:
      unique identifier of the valid value
    • addValidValueMembershipRelationship

      public void addValidValueMembershipRelationship(String setQName, String memberQName, boolean isDefaultValue)
      Link a valid value as a member of a valid value set.
      Parameters:
      setQName - qualified name of the set to add to
      memberQName - qualified name of the member to add
      isDefaultValue - is this the default value (only set to true for one member).
    • addValidValueMembershipRelationshipByGUID

      public void addValidValueMembershipRelationshipByGUID(String setId, String memberId, boolean isDefaultValue)
      Link a valid value as a member of a valid value set.
      Parameters:
      setId - unique identifier of the set to add to
      memberId - unique identifier of the member to add
      isDefaultValue - is this the default value (only set to true for one member).
    • addConsistentValidValueRelationship

      public void addConsistentValidValueRelationship(String validValue1QName, String validValue2QName)
      Link a valid value as a member of a valid value set.
      Parameters:
      validValue1QName - qualified name of first valid value
      validValue2QName - qualified name of second valid value
    • addValidValuesAssignmentRelationship

      public void addValidValuesAssignmentRelationship(String dataFieldQName, String validValueQName, boolean strictRequirement)
      Link an element that represents a data field (either directly or indirectly) to a valid value (typically a valid value set).
      Parameters:
      dataFieldQName - qualified name of element that represents the data field
      validValueQName - qualified name of the valid value set/definition
      strictRequirement - do the valid values mandate the values stored in the data field?
    • addValidValuesMappingRelationship

      public void addValidValuesMappingRelationship(String matchingValue1QName, String matchingValue2QName, String associationDescription, int confidence, String steward, String stewardTypeName, String stewardPropertyName, String notes)
      Add a mapping between two valid values. Typically they are in different valid value sets.
      Parameters:
      matchingValue1QName - qualified name of one of the valid values.
      matchingValue2QName - qualified name of the other valid value.
      associationDescription - a description of the meaning of the association
      confidence - how likely is the relationship correct - 0=unlikely; 100=certainty
      steward - who was the steward that made the link
      stewardTypeName - what is the type of the element used to represent the steward?
      stewardPropertyName - what is the name of the property used to represent the steward?
      notes - any notes on the relationship.
    • addReferenceValueAssignmentRelationship

      public void addReferenceValueAssignmentRelationship(String referenceableQName, String validValueQName, int confidence, String steward, String stewardTypeName, String stewardPropertyName, String notes)
      Link a referenceable element to a valid value that is acting as a tag.
      Parameters:
      referenceableQName - qualified name of referenceable
      validValueQName - qualified name of valid value
      confidence - how likely is the relationship correct - 0=unlikely; 100=certainty
      steward - who was the steward that made the link
      stewardTypeName - what is the type of the element used to represent the steward?
      stewardPropertyName - what is the name of the property used to represent the steward?
      notes - any notes on the relationship.
    • addReferenceValueAssignmentRelationship

      public void addReferenceValueAssignmentRelationship(String referenceableGUID, String validValueGUID, String attributeName, int confidence, String steward, String stewardTypeName, String stewardPropertyName, String notes)
      Link a referenceable element to a valid value that is acting as a tag.
      Parameters:
      referenceableGUID - unique identifier of referenceable
      validValueGUID - unique identifier of valid value
      attributeName - name of associated attribute
      confidence - how likely is the relationship correct - 0=unlikely; 100=certainty
      steward - who was the steward that made the link
      stewardTypeName - what is the type of the element used to represent the steward?
      stewardPropertyName - what is the name of the property used to represent the steward?
      notes - any notes on the relationship.
    • addSpecificationPropertyAssignmentRelationship

      public void addSpecificationPropertyAssignmentRelationship(String referenceableGUID, String validValueGUID, String propertyType)
      Link a referenceable element to a valid value that is acting as a tag.
      Parameters:
      referenceableGUID - unique identifier of referenceable
      validValueGUID - unique identifier of valid value
      propertyType - name of associated attribute
    • addValidValuesImplementationRelationship

      public void addValidValuesImplementationRelationship(String validValueQName, String assetQName, String symbolicName, String implementationValue, Map<String,String> additionalValues)
      Link a valid value definition to the asset where it is implemented.
      Parameters:
      validValueQName - qualified name of the valid value
      assetQName - qualified name of the asset
      symbolicName - property name used in the asset to represent the valid value
      implementationValue - value used in the asset to represent the valid value
      additionalValues - additional mapping values
    • addReferenceDataClassification

      public void addReferenceDataClassification(String assetGUID)
      Add the ReferenceData classification to the requested element.
      Parameters:
      assetGUID - unique identifier of the element to classify
    • addSecurityTagsClassification

      public void addSecurityTagsClassification(String assetGUID, List<String> securityLabels, Map<String,Object> securityProperties, Map<String,List<String>> accessGroups)
      Add a SecurityTags classification to the requested element.
      Parameters:
      assetGUID - unique identifier for the element to classify
      securityLabels - list of security labels
      securityProperties - map of security properties
      accessGroups - access group assignments
    • addSupportedSoftwareCapabilityRelationship

      public void addSupportedSoftwareCapabilityRelationship(String deployedElementQName, String deployedOnQName, Date deploymentTime, String deployerTypeName, String deployerPropertyName, String deployer, int serverCapabilityStatus)
      Add the DeployedOn relationship to the archive.
      Parameters:
      deployedElementQName - qualified name of element being deployed
      deployedOnQName - qualified name of target
      deploymentTime - time of the deployment
      deployerTypeName - type name of the element representing the deployer
      deployerPropertyName - property name used to identify the deployer
      deployer - identifier of the deployer
      serverCapabilityStatus - status of the deployment
    • addServerPurposeClassification

      public void addServerPurposeClassification(String elementGUID, String classificationName, String deployedImplementationType)
      Add a ServerPurpose classification to an IT Infrastructure element.
      Parameters:
      elementGUID - element to attach the classification
      classificationName - name of the classification
      deployedImplementationType - deployed implementation type property