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 Summary
-
Constructor Summary
Constructors Constructor Description SimpleCatalogArchiveHelper(OpenMetadataArchiveBuilder archiveBuilder, String archiveGUID, String archiveRootName, String originatorName, Date creationDate, long versionNumber, String versionName)Typical constructor passes parameters used to build the open metadata archive's property header.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringaddAPIOperation(String apiSchemaTypeGUID, String qualifiedName, String displayName, String description, String path, String command, Map<String,String> additionalProperties)Create the schema type for an API operation.StringaddAPIParameterList(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.StringaddAsset(String typeName, String qualifiedName, String displayName, String description, List<String> governanceZones, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)Create an asset entity.StringaddAsset(String typeName, String qualifiedName, String displayName, String description, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)Create an asset entity.StringaddAsset(String typeName, String qualifiedName, String displayName, String description, Map<String,String> additionalProperties, Map<String,Object> extendedProperties, List<Classification> classifications)Create an asset entity.voidaddAttributeForSchemaType(String schemaTypeGUID, String schemaAttributeGUID)Create the relationship between a SchemaType element and a child SchemaAttribute element using the AttributeForSchema relationship.StringaddCategory(String glossaryGUID, String qualifiedName, String displayName, String description, String subjectArea)Add a glossary category to the archive and connect it to glossary.voidaddCategoryToCategory(String parentCategoryGUID, String childCategoryGUID)Link two categories together as part of the parent child hierarchy.voidaddConceptBeadAttributeLink(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.voidaddConceptBeadRelationshipEnd(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.StringaddConnection(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)Create a connection entity.voidaddConnectionForAsset(String assetGUID, String assetSummary, String connectionGUID)Create the relationship between an asset and its connection.StringaddConnectorCategory(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.StringaddConnectorType(String connectorCategoryGUID, String connectorTypeGUID, String qualifiedName, String displayName, String description, 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.protected StringaddConnectorType(String connectorCategoryGUID, String qualifiedName, String displayName, String description, 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.StringaddConnectorTypeDirectory(String qualifiedName, String displayName, String description, Map<String,String> additionalProperties)Create a connector category entity.voidaddDataContentForDataSet(String dataContentGUID, String dataSetGUID)Create the relationship between a data set and an asset that is providing all or part of its content.StringaddDesignModel(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.StringaddDesignModelElement(String designModelGUID, 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.voidaddDesignModelGroupMembership(String groupGUID, String memberGUID)Create the relationship between a design model group and one of its members.StringaddEndpoint(String qualifiedName, String displayName, String description, String networkAddress, String protocol, Map<String,String> additionalProperties)Create a endpoint entity.StringaddExternalReference(String typeName, 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.voidaddExternalReferenceLink(String referenceableGUID, String externalReferenceGUID, String referenceId, String description, String pages)Create the relationship between a design mode group and one of its members.StringaddGlossary(String qualifiedName, String displayName, String description, String language, String usage, String externalLink, String scope)Create a glossary entity.voidaddHasARelationship(String conceptQName, String propertyQName)voidaddIsATypeOfRelationship(String specialTermQName, String generalizedTermQName)Add an is-a-type-of relationshipvoidaddLibraryCategoryReference(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.voidaddLibraryTermReference(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.voidaddMoreInformationLink(String describedElementId, String describerElementId)Create a navigation link from one referenceable to another to show they provide more information.voidaddNestedSchemaAttribute(String parentSchemaAttributeGUID, String childSchemaAttributeGUID)Create the relationship between a SchemaAttribute element and a child SchemaAttribute element using the NestedSchemaAttribute relationship.voidaddRelatedTermRelationship(String conceptQName, String propertyQName)StringaddSchemaAttribute(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.voidaddSchemaTypeOption(String schemaTypeChoiceGUID, String schemaTypeOptionGUID)Create the relationship between a SchemaTypeChoice element and a child element using the SchemaTypeOption relationship.StringaddSoftwareCapability(String typeName, String qualifiedName, String displayName, String description, String capabilityType, String capabilityVersion, String patchLevel, String source, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)Create a software capability entity.voidaddSubjectAreaClassification(String referenceableGUID, String subjectAreaQualifiedName)Add the subject area classification to the requested element.StringaddSubjectAreaDefinition(String qualifiedName, String displayName, String description, String scope, String usage, int domainIdentifier, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)Create a subject area entity.voidaddSubjectAreaHierarchy(String broaderSubjectAreaGUID, String nestedSubjectAreaGUID)Create the relationship between a design mode group and one of its members.StringaddTerm(String glossaryGUID, List<String> categoryIds, boolean categoriesAsNames, String qualifiedName, String displayName, String description, String examples, boolean isSpineObject, boolean isSpineAttribute, boolean isContext, String contextDescription, String contextScope)Add a term and link it to the glossary and an arbitrary number of categories.StringaddTerm(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.StringaddTerm(String glossaryGUID, List<String> categoryIds, String qualifiedName, String displayName, String description, String examples, boolean isSpineObject, boolean isSpineAttribute, boolean categoriesAsNames)Add a term and link it to the glossary and an arbitrary number of categories.voidaddTermToCategory(String categoryGUID, String termGUID, int status, String description)Link two categories together as part of the parent child hierarchy.voidaddTermToContext(String categoryGUID, String termGUID, int status, String description)Link two categories together as part of the parent child hierarchy.StringaddTopLevelSchemaType(String assetGUID, String typeName, String qualifiedName, String displayName, String description, Map<String,String> additionalProperties)Create the top level schema type for an asset.StringgetGUID(String qualifiedName)Return the guid of an element based on its qualified name.voidlinkTermToReferenceable(String termId, String referenceableId)Create a semantic assignment between a term and a Referenceable - for example a model element.voidsaveGUIDs()Save the GUIDs so that the GUIDs of the elements inside the archive are consistent each time the archive runs.
-
-
-
Field Detail
-
guidMapFileNamePostFix
protected static final String guidMapFileNamePostFix
- See Also:
- Constant Field Values
-
EXTERNAL_GLOSSARY_LINK_TYPE_NAME
public static final String EXTERNAL_GLOSSARY_LINK_TYPE_NAME
- See Also:
- Constant Field Values
-
RELATED_MEDIA_TYPE_NAME
public static final String RELATED_MEDIA_TYPE_NAME
- See Also:
- Constant Field Values
-
MEDIA_USAGE_ICON
public static final int MEDIA_USAGE_ICON
- See Also:
- Constant Field Values
-
MEDIA_USAGE_THUMBNAIL
public static final int MEDIA_USAGE_THUMBNAIL
- See Also:
- Constant Field Values
-
MEDIA_USAGE_ILLUSTRATION
public static final int MEDIA_USAGE_ILLUSTRATION
- See Also:
- Constant Field Values
-
MEDIA_USAGE_USAGE_GUIDANCE
public static final int MEDIA_USAGE_USAGE_GUIDANCE
- See Also:
- Constant Field Values
-
MEDIA_USAGE_OTHER
public static final int MEDIA_USAGE_OTHER
- See Also:
- Constant Field Values
-
MEDIA_TYPE_IMAGE
public static final int MEDIA_TYPE_IMAGE
- See Also:
- Constant Field Values
-
MEDIA_TYPE_AUDIO
public static final int MEDIA_TYPE_AUDIO
- See Also:
- Constant Field Values
-
MEDIA_TYPE_DOCUMENT
public static final int MEDIA_TYPE_DOCUMENT
- See Also:
- Constant Field Values
-
MEDIA_TYPE_VIDEO
public static final int MEDIA_TYPE_VIDEO
- See Also:
- Constant Field Values
-
MEDIA_TYPE_OTHER
public static final int MEDIA_TYPE_OTHER
- See Also:
- Constant Field Values
-
TERM_RELATIONSHIP_STATUS_DRAFT
public static final int TERM_RELATIONSHIP_STATUS_DRAFT
- See Also:
- Constant Field Values
-
TERM_RELATIONSHIP_STATUS_ACTIVE
public static final int TERM_RELATIONSHIP_STATUS_ACTIVE
- See Also:
- Constant Field Values
-
TERM_RELATIONSHIP_STATUS_DEPRECATED
public static final int TERM_RELATIONSHIP_STATUS_DEPRECATED
- See Also:
- Constant Field Values
-
TERM_RELATIONSHIP_STATUS_OBSOLETE
public static final int TERM_RELATIONSHIP_STATUS_OBSOLETE
- See Also:
- Constant Field Values
-
TERM_RELATIONSHIP_STATUS_OTHER
public static final int TERM_RELATIONSHIP_STATUS_OTHER
- See Also:
- Constant Field Values
-
CONCEPT_MODEL_DECORATION_NONE
public static final int CONCEPT_MODEL_DECORATION_NONE
- See Also:
- Constant Field Values
-
CONCEPT_MODEL_DECORATION_AGGREGATION
public static final int CONCEPT_MODEL_DECORATION_AGGREGATION
- See Also:
- Constant Field Values
-
CONCEPT_MODEL_DECORATION_COMPOSITION
public static final int CONCEPT_MODEL_DECORATION_COMPOSITION
- See Also:
- Constant Field Values
-
CONCEPT_MODEL_DECORATION_EXTENSION
public static final int CONCEPT_MODEL_DECORATION_EXTENSION
- See Also:
- Constant Field Values
-
CONCEPT_BEAD_COVERAGE_UNKNOWN
public static final int CONCEPT_BEAD_COVERAGE_UNKNOWN
- See Also:
- Constant Field Values
-
CONCEPT_BEAD_COVERAGE_UNIQUE_IDENTIFIER
public static final int CONCEPT_BEAD_COVERAGE_UNIQUE_IDENTIFIER
- See Also:
- Constant Field Values
-
CONCEPT_BEAD_COVERAGE_IDENTIFIER
public static final int CONCEPT_BEAD_COVERAGE_IDENTIFIER
- See Also:
- Constant Field Values
-
CONCEPT_BEAD_COVERAGE_CORE_DETAIL
public static final int CONCEPT_BEAD_COVERAGE_CORE_DETAIL
- See Also:
- Constant Field Values
-
CONCEPT_BEAD_COVERAGE_EXTENDED_DETAIL
public static final int CONCEPT_BEAD_COVERAGE_EXTENDED_DETAIL
- See Also:
- Constant Field Values
-
API_HEADER_TYPE_NAME
public static final String API_HEADER_TYPE_NAME
- See Also:
- Constant Field Values
-
API_REQUEST_TYPE_NAME
public static final String API_REQUEST_TYPE_NAME
- See Also:
- Constant Field Values
-
API_RESPONSE_TYPE_NAME
public static final String API_RESPONSE_TYPE_NAME
- See Also:
- Constant Field Values
-
archiveBuilder
protected OpenMetadataArchiveBuilder archiveBuilder
-
archiveHelper
protected OMRSArchiveHelper archiveHelper
-
idToGUIDMap
protected OMRSArchiveGUIDMap idToGUIDMap
-
archiveRootName
protected String archiveRootName
-
originatorName
protected String originatorName
-
versionName
protected String versionName
-
activeStatus
protected EnumElementDef activeStatus
-
-
Constructor Detail
-
SimpleCatalogArchiveHelper
public SimpleCatalogArchiveHelper(OpenMetadataArchiveBuilder archiveBuilder, String archiveGUID, 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 cachedarchiveGUID- unique identifier for this open metadata archive.archiveRootName- non-spaced root name of the open metadata archive elements.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.
-
-
Method Detail
-
getGUID
public String getGUID(String qualifiedName)
Return the guid of an element based on its qualified name. This is a look up 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.
-
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 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 ExternalReferencequalifiedName- unique name for the elementdisplayName- display name for the elementreferenceTitle- full title from the publicationreferenceAbstract- full abstract from the publicationdescription- description about the elementauthors- authors of the elementnumberOfPages- number of pages in the external sourcepageRange- range of pages that is significantauthorOrganization- organization that the information is frompublicationSeries- publication series or journal that the external source is from.publicationSeriesVolume- volume of the publication series where the external source is foundedition- edition where the external source is fromversionNumber- version number for the elementreferenceURL- link to the external sourcepublisher- publisher of the external sourcefirstPublicationDate- date this material was first published (ie first version's publication date)publicationDate- date that this version was publishedpublicationCity- city that the publisher operates frompublicationYear- year that this version was publishedpublicationNumbers- list of ISBNs for this external sourcelicense- name of the license associated with this external sourcecopyright- copyright statement associated with this external sourceattribution- attribution statement to use when consuming this external sourcesearchKeywords- list of keywordsadditionalProperties- any other propertiesextendedProperties- 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 design mode group and one of its members.- Parameters:
referenceableGUID- unique identifier of the element making the referenceexternalReferenceGUID- unique identifier of the external referencereferenceId- unique reference id for this referenceabledescription- description of the relevance of the external referencepages- relevant pages in the external reference
-
addSubjectAreaDefinition
public String addSubjectAreaDefinition(String qualifiedName, String displayName, String description, String scope, String usage, int domainIdentifier, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
Create a subject area entity.- Parameters:
qualifiedName- unique name for the subject areadisplayName- display name for the subject areadescription- description about the subject areascope- scope where the subject area is usedusage- how is the subject area useddomainIdentifier- unique identifier of the governance domainadditionalProperties- any other propertiesextendedProperties- 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 design mode group and one of its members.- Parameters:
broaderSubjectAreaGUID- unique identifier of the broader subject areanestedSubjectAreaGUID- 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 classifysubjectAreaQualifiedName- name of the subject area. The suggestion is that the name used is the qualified name.
-
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 DesignModelclassificationName- name of classification the identifies the type of design modelqualifiedName- unique name for the elementdisplayName- display name for the elementtechnicalName- technical name for the elementdescription- description about the elementversionNumber- version number for the elementauthor- author of the elementadditionalProperties- any other propertiesextendedProperties- additional properties defined in the subtype- Returns:
- unique identifier for new design model (designModelGUID)
-
addDesignModelElement
public String addDesignModelElement(String designModelGUID, 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 elementtypeName- name of element subtype to use - default is DesignModelElementqualifiedName- unique name for the elementdisplayName- display name for the elementtechnicalName- technical name for the elementdescription- description about the elementversionNumber- version number for the elementauthor- author of the elementadditionalProperties- any other propertiesextendedProperties- additional properties defined in the subtypeclassifications- 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 groupmemberGUID- 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 entityconceptBeadGUID- unique identifier of the concept beadattributeName- name of the attribute for this endconceptModelDecoration- what type of relationship endposition- in the attributes for the beadminCardinality- minimum number of the relationshipsmaxCardinality- maximum number of the relationshipsuniqueValues- are the relationship values uniqueorderedValues- 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 entityconceptBeadAttributeGUID- unique identifier of the concept bead attribute entityposition- in the attributes for the beadminCardinality- minimum number of the relationshipsmaxCardinality- maximum number of the relationshipsuniqueValues- are the relationship values uniqueorderedValues- are the relationship values in any order (using position)
-
addAsset
public String addAsset(String typeName, String qualifiedName, String displayName, 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 AssetqualifiedName- unique name for the assetdisplayName- display name for the assetdescription- description about the assetadditionalProperties- any other propertiesextendedProperties- additional properties defined in the subtypeclassifications- list of classifications (if any)- Returns:
- id for the asset
-
addAsset
public String addAsset(String typeName, String qualifiedName, String displayName, String description, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
Create an asset entity.- Parameters:
typeName- name of asset subtype to use - default is AssetqualifiedName- unique name for the assetdisplayName- display name for the assetdescription- description about the assetadditionalProperties- any other propertiesextendedProperties- additional properties defined in the sub type- Returns:
- id for the asset
-
addAsset
public String addAsset(String typeName, String qualifiedName, String displayName, 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 AssetqualifiedName- unique name for the assetdisplayName- display name for the assetdescription- description about the assetgovernanceZones- list of zones to add to the assetadditionalProperties- any other propertiesextendedProperties- additional properties defined in the sub type- Returns:
- id for the asset
-
addSoftwareCapability
public String addSoftwareCapability(String typeName, String qualifiedName, String displayName, String description, String capabilityType, String capabilityVersion, String patchLevel, String source, Map<String,String> additionalProperties, Map<String,Object> extendedProperties)
Create a software capability entity.- Parameters:
typeName- name of software capability subtype to use - default is SoftwareCapabilityqualifiedName- unique name for the capabilitydisplayName- display name for the capabilitydescription- description about the capabilitycapabilityType- typecapabilityVersion- versionpatchLevel- patch levelsource- sourceadditionalProperties- any other propertiesextendedProperties- properties for subtype- 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 assetassetSummary- summary of the asset from the connection perspectiveconnectionGUID- 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 storedataSetGUID- unique identifier of the consuming data set
-
addTopLevelSchemaType
public String addTopLevelSchemaType(String assetGUID, 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 assettypeName- name of asset subtype to use - default is SchemaTypequalifiedName- unique name for the schema typedisplayName- display name for the schema typedescription- description about the schema typeadditionalProperties- any other properties- Returns:
- id for the schemaType
-
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 schemaTypequalifiedName- unique name for the schema typedisplayName- display name for the schema typedescription- description about the schema typepath- the path name for the operationcommand- the command to issue eg GET, POSTadditionalProperties- 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 schemaTyperelationshipTypeName- name of relationship type - default is APIRequestqualifiedName- unique name for the schema typedisplayName- display name for the schema typedescription- description about the schema typerequired- is this parameter list requiredadditionalProperties- any other properties- Returns:
- id for the schemaType
-
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 elementschemaTypeOptionGUID- 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 elementschemaAttributeGUID- 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 elementchildSchemaAttributeGUID- 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 SchemaAttributeschemaTypeName- name of schema type subtype to use - default is PrimitiveSchemaTypequalifiedName- unique name for the schema attributedisplayName- display name for the schema attributedescription- description about the schema attributedataType- data type for the schema attributelength- length of the storage used by the schema attributeposition- position in the schema at this leveladditionalProperties- 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)
Create a connection entity.- Parameters:
qualifiedName- unique name for the connectiondisplayName- display name for the connectiondescription- description about the connectionuserId- userId that the connector should use to connect to the platform that hosts the asset.clearPassword- possible password for the connectorencryptedPassword- possible password for the connectorsecuredProperties- properties hidden from the clientconfigurationProperties- properties used to configure the connectoradditionalProperties- any other properties.connectorTypeGUID- unique identifier for the connector typeendpointGUID- unique identifier for the endpoint of the asset- Returns:
- id for the connection
-
addConnectorType
public String addConnectorType(String connectorCategoryGUID, String connectorTypeGUID, String qualifiedName, String displayName, String description, 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 categorizedconnectorTypeGUID- fixed unique identifier for connector type - comes from the Connector ProviderqualifiedName- unique name for the connector typedisplayName- display name for the connector typedescription- description about the connector typesupportedAssetTypeName- type of asset supported by this connectorexpectedDataFormat- format of the data stored in the resourceconnectorProviderClassName- code for this type of connectorconnectorFrameworkName- name of the framework that the connector implements - default "Open Connector Framework (OCF)"connectorInterfaceLanguage- programming language of the connector's interfaceconnectorInterfaces- the interfaces that the connector implementstargetTechnologySource- organization implementing the target technologytargetTechnologyName- name of the target technologytargetTechnologyInterfaces- called interfaces the target technologytargetTechnologyVersions- supported versions of the target technologyrecognizedSecuredProperties- 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 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 categorizedqualifiedName- unique name for the connector typedisplayName- display name for the connector typedescription- description about the connector typesupportedAssetTypeName- type of asset supported by this connectorexpectedDataFormat- format of the data stored in the resourceconnectorProviderClassName- code for this type of connectorconnectorFrameworkName- name of the framework that the connector implements - default "Open Connector Framework (OCF)"connectorInterfaceLanguage- programming language of the connector's interfaceconnectorInterfaces- the interfaces that the connector implementstargetTechnologySource- organization implementing the target technologytargetTechnologyName- name of the target technologytargetTechnologyInterfaces- called interfaces the target technologytargetTechnologyVersions- supported versions of the target technologyrecognizedSecuredProperties- 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 connector belongs to - or null for an independent connector categoryqualifiedName- unique name for the connector categorydisplayName- display name for the connector categorydescription- description about the connector categorytargetTechnologySource- organization implementing the target technologytargetTechnologyName- name of the target technologyrecognizedSecuredProperties- 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 directorydisplayName- display name for the connector type directorydescription- description about the connector type directoryadditionalProperties- any other properties.- Returns:
- id for the connector type
-
addEndpoint
public String addEndpoint(String qualifiedName, String displayName, String description, String networkAddress, String protocol, Map<String,String> additionalProperties)
Create a endpoint entity.- Parameters:
qualifiedName- unique name for the endpointdisplayName- display name for the endpointdescription- description about the endpointnetworkAddress- location of the assetprotocol- protocol to use to connect to the assetadditionalProperties- 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 glossarydisplayName- display name for the glossarydescription- description about the glossarylanguage- language that the glossary is written inusage- how the glossary should be usedexternalLink- link to materialscope- scope of the content.- Returns:
- id for the glossary
-
addCategory
public String addCategory(String glossaryGUID, String qualifiedName, String displayName, String description, String subjectArea)
Add a glossary category to the archive and connect it to 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
-
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 glossarycategoryGUIDs- unique identifiers of the categoriesqualifiedName- unique name of the termdisplayName- display name of the termdescription- description of the term- Returns:
- unique identifier of the term
-
addTerm
public String addTerm(String glossaryGUID, List<String> categoryIds, String qualifiedName, String displayName, String description, String examples, boolean isSpineObject, boolean isSpineAttribute, boolean categoriesAsNames)
Add a term and link it to the glossary and an arbitrary number of categories.- Parameters:
glossaryGUID- unique identifier of the glossarycategoryIds- unique identifiers of the categoriesqualifiedName- unique name of the termdisplayName- display name of the termdescription- description of the termexamples- examples of the termisSpineObject- term is a spine objectisSpineAttribute- term is a spine attributecategoriesAsNames- when true the categories are specified as qualified names, otherwise they are guids.- Returns:
- unique identifier of the term
-
addTerm
public String addTerm(String glossaryGUID, List<String> categoryIds, boolean categoriesAsNames, String qualifiedName, String displayName, String description, String examples, boolean isSpineObject, boolean isSpineAttribute, boolean isContext, String contextDescription, String contextScope)
Add a term and link it to the glossary and an arbitrary number of categories. Add requested classifications- Parameters:
glossaryGUID- unique identifier of the glossarycategoryIds- unique identifiers of the categoriescategoriesAsNames- when true the categories are specified as qualified names, otherwise they are guids.qualifiedName- unique name of the termdisplayName- display name of the termdescription- description of the termexamples- examples of the termisSpineObject- term is a spine objectisSpineAttribute- term is a spine attributeisContext- is this term a context definition?contextDescription- description to add to the ContextDefinition classificationcontextScope- scope to add to the context classification- 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 categorychildCategoryGUID- unique identifier for the child category
-
addTermToContext
public void addTermToContext(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 categorytermGUID- unique identifier for the child categorystatus- ordinal for the relationship statusdescription- description of the relationship between the term and the category.
-
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 categorytermGUID- unique identifier for the child categorystatus- ordinal for the relationship statusdescription- 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 categoryexternalGlossaryLinkGUID- unique identifier for the description of the external glossary (a type of external reference)
-
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 termexternalGlossaryLinkGUID- unique identifier for the description of the external glossary (a type of external reference)
-
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.
-
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 termreferenceableId- 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 termgeneralizedTermQName- qualified name of the generalized term
-
-