Class OMRSArchiveBuilder
java.lang.Object
org.odpi.openmetadata.repositoryservices.archiveutilities.OMRSArchiveBuilder
- All Implemented Interfaces:
OpenMetadataArchiveBuilder
,OpenMetadataArchiveCache
public class OMRSArchiveBuilder
extends Object
implements OpenMetadataArchiveBuilder, OpenMetadataArchiveCache
OMRSArchiveBuilder creates an in-memory copy of an open metadata archive that can be saved to disk or processed
by a server.
-
Constructor Summary
ConstructorDescriptionOMRSArchiveBuilder
(String archiveGUID, String archiveName, String archiveDescription, OpenMetadataArchiveType archiveType, String archiveVersion, String originatorName, String originatorLicense, Date creationDate, List<OpenMetadataArchive> dependsOnArchives) Full constructor.OMRSArchiveBuilder
(String archiveGUID, String archiveName, String archiveDescription, OpenMetadataArchiveType archiveType, String originatorName, String originatorLicense, Date creationDate, List<OpenMetadataArchive> dependsOnArchives) Constructor for licensed material.OMRSArchiveBuilder
(String archiveGUID, String archiveName, String archiveDescription, OpenMetadataArchiveType archiveType, String originatorName, Date creationDate, List<OpenMetadataArchive> dependsOnArchives) Simple constructor.OMRSArchiveBuilder
(OpenMetadataArchiveProperties properties) Constructor used when content of dependent archives is not needed in the maps. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addClassification
(ClassificationEntityExtension classification) Add a new classification to the archive.void
addClassificationDef
(ClassificationDef classificationDef) Add a new ClassificationDef to the archive.void
addCollectionDef
(CollectionDef collectionDef) Add a new CollectionDef to the archive.void
addEntity
(EntityDetail entity) Add a new entity to the archive.void
addEntityDef
(EntityDef entityDef) Add a new EntityDef to the archive.void
addEnumDef
(EnumDef enumDef) Add a new EnumDef to the archive.void
addPrimitiveDef
(PrimitiveDef primitiveDef) Add a new PrimitiveDef to the archive.void
addRelationship
(Relationship relationship) Add a new relationship to the archive.void
addRelationshipDef
(RelationshipDef relationshipDef) Add a new RelationshipDef to the archive.void
addTypeDefPatch
(TypeDefPatch typeDefPatch) Add a new patch to the archive.Return the archive properties as will appear in the archive.getClassification
(String entityGUID, String classificationName) Retrieve a classification extension from the archive.getClassificationDef
(String classificationDef) Retrieve the relationshipDef or null if it is not defined.getCollectionDef
(String collectionDefName) Retrieve a CollectionDef from the archive.Retrieve an entity from the archive.getEntityDef
(String entityDefName) Retrieve the entityDef or null if it is not defined.getEnumDef
(String enumDefName) Get an existing EnumDef from the archive.Once the content of the archive has been added to the archive builder, an archive object can be retrieved.getPatchForType
(String typeName) Create a skeleton patch for a TypeDefPatch.getPrimitiveDef
(String primitiveDefName) Retrieve a PrimitiveDef from the archive.getRelationship
(String guid) Retrieve a relationship from the archive.getRelationshipDef
(String relationshipDefName) Retrieve the relationshipDef or null if it is not defined.getTypeDefByName
(String typeName) Return the requested type definition if known.void
logBadArchiveContent
(String methodName) Throws an exception if there is a problem retrieving the archive.queryClassification
(String entityGUID, String classificationName) Retrieve a classification extension from the archive if it existsqueryEntity
(String guid) Retrieve an entity from the archive.queryRelationship
(String guid) Retrieve a relationship from the archive.void
setArchiveProperties
(String archiveGUID, String archiveName, String archiveDescription, OpenMetadataArchiveType archiveType, String archiveVersion, String originatorName, String originatorLicense, Date creationDate, List<OpenMetadataArchive> dependsOnArchives) Set up archive header and initialize the maps assuming it is building a new archive.
-
Constructor Details
-
OMRSArchiveBuilder
public OMRSArchiveBuilder(String archiveGUID, String archiveName, String archiveDescription, OpenMetadataArchiveType archiveType, String originatorName, Date creationDate, List<OpenMetadataArchive> dependsOnArchives) Simple constructor.- Parameters:
archiveGUID
- unique identifier for this open metadata archive.archiveName
- name of the open metadata archive.archiveDescription
- description of the open metadata archive.archiveType
- enum describing the type of archive this is.originatorName
- name of the originator (person or organization) of the archive.creationDate
- data that this archive was created.dependsOnArchives
- list of GUIDs for archives that this archive depends on (null for no dependencies).
-
OMRSArchiveBuilder
public OMRSArchiveBuilder(String archiveGUID, String archiveName, String archiveDescription, OpenMetadataArchiveType archiveType, String originatorName, String originatorLicense, Date creationDate, List<OpenMetadataArchive> dependsOnArchives) Constructor for licensed material. It passes parameters used to build the open metadata archive's property header including the default license string. This determines the license and copyright for all instances in the archive that do not have their own explicit license string. The default license string will be inserted into each instance with a null license when it is loaded into an open metadata repository.- Parameters:
archiveGUID
- unique identifier for this open metadata archive.archiveName
- name of the open metadata archive.archiveDescription
- description of the open metadata archive.archiveType
- enum describing the type of archive this is.originatorName
- name of the originator (person or organization) of the archive.originatorLicense
- default license string for content.creationDate
- data that this archive was created.dependsOnArchives
- list of archives that this archive depends on (null for no dependencies).
-
OMRSArchiveBuilder
Constructor used when content of dependent archives is not needed in the maps.- Parameters:
properties
- filled out archive properties
-
OMRSArchiveBuilder
public OMRSArchiveBuilder(String archiveGUID, String archiveName, String archiveDescription, OpenMetadataArchiveType archiveType, String archiveVersion, String originatorName, String originatorLicense, Date creationDate, List<OpenMetadataArchive> dependsOnArchives) Full constructor. It passes parameters used to build the open metadata archive's property header including the default license string. This determines the license and copyright for all instances in the archive that do not have their own explicit license string. The default license string will be inserted into each instance with a null license when it is loaded into an open metadata repository.- Parameters:
archiveGUID
- unique identifier for this open metadata archive.archiveName
- name of the open metadata archive.archiveDescription
- description of the open metadata archive.archiveType
- enum describing the type of archive this is.archiveVersion
- descriptive name for the version of the archive.originatorName
- name of the originator (person or organization) of the archive.originatorLicense
- default license string for content.creationDate
- data that this archive was created.dependsOnArchives
- list of archives that this archive depends on (null for no dependencies).
-
-
Method Details
-
setArchiveProperties
public void setArchiveProperties(String archiveGUID, String archiveName, String archiveDescription, OpenMetadataArchiveType archiveType, String archiveVersion, String originatorName, String originatorLicense, Date creationDate, List<OpenMetadataArchive> dependsOnArchives) Set up archive header and initialize the maps assuming it is building a new archive. It passes parameters used to build the open metadata archive's property header including the default license string. This determines the license and copyright for all instances in the archive that do not have their own explicit license string. The default license string will be inserted into each instance with a null license when it is loaded into an open metadata repository.- Specified by:
setArchiveProperties
in interfaceOpenMetadataArchiveBuilder
- Parameters:
archiveGUID
- unique identifier for this open metadata archive.archiveName
- name of the open metadata archive.archiveDescription
- description of the open metadata archive.archiveType
- enum describing the type of archive this is.archiveVersion
- descriptive name for the version of the archive.originatorName
- name of the originator (person or organization) of the archive.originatorLicense
- default license string for content.creationDate
- data that this archive was created.dependsOnArchives
- list of archives that this archive depends on (null for no dependencies).
-
getArchiveProperties
Return the archive properties as will appear in the archive. Null is returned if archive properties not set up.- Specified by:
getArchiveProperties
in interfaceOpenMetadataArchiveBuilder
- Returns:
- property bean
-
addPrimitiveDef
Add a new PrimitiveDef to the archive.- Specified by:
addPrimitiveDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
primitiveDef
- type to add nulls are ignored
-
getPrimitiveDef
Retrieve a PrimitiveDef from the archive.- Specified by:
getPrimitiveDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
primitiveDefName
- primitive to retrieve- Returns:
- PrimitiveDef type
-
addCollectionDef
Add a new CollectionDef to the archive.- Specified by:
addCollectionDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
collectionDef
- type to add
-
getCollectionDef
Retrieve a CollectionDef from the archive.- Specified by:
getCollectionDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
collectionDefName
- type to retrieve- Returns:
- CollectionDef type
-
addEnumDef
Add a new EnumDef to the archive.- Specified by:
addEnumDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
enumDef
- type to add
-
getEnumDef
Get an existing EnumDef from the archive.- Specified by:
getEnumDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
enumDefName
- type to retrieve- Returns:
- EnumDef object
-
addClassificationDef
Add a new ClassificationDef to the archive.- Specified by:
addClassificationDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
classificationDef
- type to add
-
addEntityDef
Add a new EntityDef to the archive.- Specified by:
addEntityDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
entityDef
- type to add
-
getEntityDef
Retrieve the entityDef or null if it is not defined.- Specified by:
getEntityDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
entityDefName
- name of the entity- Returns:
- the retrieved entity def
-
getRelationshipDef
Retrieve the relationshipDef or null if it is not defined.- Specified by:
getRelationshipDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
relationshipDefName
- name of the relationship- Returns:
- the retrieved relationship def
-
getClassificationDef
Retrieve the relationshipDef or null if it is not defined.- Specified by:
getClassificationDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
classificationDef
- name of the classification- Returns:
- the retrieved classification def
-
addRelationshipDef
Add a new RelationshipDef to the archive.- Specified by:
addRelationshipDef
in interfaceOpenMetadataArchiveBuilder
- Parameters:
relationshipDef
- type to add
-
getPatchForType
Create a skeleton patch for a TypeDefPatch.- Specified by:
getPatchForType
in interfaceOpenMetadataArchiveBuilder
- Parameters:
typeName
- name of type- Returns:
- TypeDefPatch
-
addTypeDefPatch
Add a new patch to the archive.- Specified by:
addTypeDefPatch
in interfaceOpenMetadataArchiveBuilder
- Parameters:
typeDefPatch
- patch
-
getTypeDefByName
Return the requested type definition if known.- Specified by:
getTypeDefByName
in interfaceOpenMetadataArchiveBuilder
- Parameters:
typeName
- name ot type- Returns:
- type definition
-
addEntity
Add a new entity to the archive.- Specified by:
addEntity
in interfaceOpenMetadataArchiveBuilder
- Parameters:
entity
- instance to add
-
getEntity
Retrieve an entity from the archive.- Specified by:
getEntity
in interfaceOpenMetadataArchiveBuilder
- Parameters:
guid
- unique identifier- Returns:
- requested entity
-
queryEntity
Retrieve an entity from the archive. Return null if it does not exist- Specified by:
queryEntity
in interfaceOpenMetadataArchiveBuilder
- Parameters:
guid
- unique identifier- Returns:
- requested entity
-
addRelationship
Add a new relationship to the archive.- Specified by:
addRelationship
in interfaceOpenMetadataArchiveBuilder
- Parameters:
relationship
- instance to add
-
getRelationship
Retrieve a relationship from the archive.- Specified by:
getRelationship
in interfaceOpenMetadataArchiveBuilder
- Parameters:
guid
- unique identifier- Returns:
- requested relationship
-
queryRelationship
Retrieve a relationship from the archive.- Specified by:
queryRelationship
in interfaceOpenMetadataArchiveBuilder
- Parameters:
guid
- unique identifier- Returns:
- requested relationship
-
addClassification
Add a new classification to the archive.- Specified by:
addClassification
in interfaceOpenMetadataArchiveBuilder
- Parameters:
classification
- instance to add
-
getClassification
public ClassificationEntityExtension getClassification(String entityGUID, String classificationName) Retrieve a classification extension from the archive.- Specified by:
getClassification
in interfaceOpenMetadataArchiveBuilder
- Parameters:
entityGUID
- unique identifier of entityclassificationName
- name of the classification- Returns:
- requested classification extension
-
queryClassification
public ClassificationEntityExtension queryClassification(String entityGUID, String classificationName) Retrieve a classification extension from the archive if it exists- Specified by:
queryClassification
in interfaceOpenMetadataArchiveBuilder
- Parameters:
entityGUID
- unique identifier of entityclassificationName
- name of the classification- Returns:
- requested classification extension
-
getOpenMetadataArchive
Once the content of the archive has been added to the archive builder, an archive object can be retrieved.- Specified by:
getOpenMetadataArchive
in interfaceOpenMetadataArchiveCache
- Returns:
- open metadata archive object with all the supplied content in it.
-
logBadArchiveContent
Throws an exception if there is a problem retrieving the archive.- Parameters:
methodName
- calling method
-