Class OpenMetadataAPIGenericBuilder

    • Constructor Detail

      • OpenMetadataAPIGenericBuilder

        protected OpenMetadataAPIGenericBuilder​(String typeGUID,
                                                String typeName,
                                                OMRSRepositoryHelper repositoryHelper,
                                                String serviceName,
                                                String serverName)
        Constructor for working with classifications.
        Parameters:
        typeGUID - type GUID to use for the entity
        typeName - type name to use for the entity
        repositoryHelper - helper methods
        serviceName - name of this OMAS
        serverName - name of local server
      • OpenMetadataAPIGenericBuilder

        protected OpenMetadataAPIGenericBuilder​(String typeGUID,
                                                String typeName,
                                                Map<String,​Object> extendedProperties,
                                                InstanceStatus instanceStatus,
                                                List<Classification> existingClassifications,
                                                OMRSRepositoryHelper repositoryHelper,
                                                String serviceName,
                                                String serverName)
        Constructor for type specific creates.
        Parameters:
        typeGUID - type GUID to use for the entity
        typeName - type name to use for the entity
        extendedProperties - properties for the sub type (if any)
        instanceStatus - status to use on the request
        existingClassifications - classifications that are currently stored
        repositoryHelper - helper methods
        serviceName - name of this OMAS
        serverName - name of local server
      • OpenMetadataAPIGenericBuilder

        protected OpenMetadataAPIGenericBuilder​(String typeGUID,
                                                String typeName,
                                                Map<String,​Object> extendedProperties,
                                                InstanceStatus instanceStatus,
                                                Date effectiveFrom,
                                                Date effectiveTo,
                                                List<Classification> existingClassifications,
                                                OMRSRepositoryHelper repositoryHelper,
                                                String serviceName,
                                                String serverName)
        Constructor for type specific creates.
        Parameters:
        typeGUID - type GUID to use for the entity
        typeName - type name to use for the entity
        extendedProperties - properties for the sub type (if any)
        instanceStatus - status to use on the request
        effectiveFrom - date to make the element active in the governance program (null for now)
        effectiveTo - date to remove the element from the governance program (null = until deleted)
        existingClassifications - classifications that are currently stored
        repositoryHelper - helper methods
        serviceName - name of this OMAS
        serverName - name of local server
    • Method Detail

      • setClassification

        public void setClassification​(Classification newClassification)
        Add a classification to the entity. This overrides any existing value for this classification.
        Parameters:
        newClassification - classification object ready for the repository
      • setTemplateClassifications

        public void setTemplateClassifications​(String userId,
                                               String externalSourceGUID,
                                               String externalSourceName,
                                               List<Classification> templateClassifications,
                                               String methodName)
                                        throws InvalidParameterException
        Set up the list of classifications from a template entity.
        Parameters:
        userId - calling user
        externalSourceGUID - guid of the software server capability entity that represented the external source - null for local
        externalSourceName - name of the software server capability entity that represented the external source
        templateClassifications - list of classifications from the template
        methodName - calling method
        Throws:
        InvalidParameterException - the type of one of the classifications is not supported
      • setAnchors

        public void setAnchors​(String userId,
                               String anchorGUID,
                               String methodName)
                        throws PropertyServerException
        Set up the Anchors classification for this entity. This is used when a new entity is being created and it is known to be connected to a specific anchor.
        Parameters:
        userId - calling user
        anchorGUID - unique identifier of the anchor entity that this entity is linked to directly or indirectly
        methodName - calling method
        Throws:
        PropertyServerException - a null anchors GUID has been supplied
      • setEffectivityDates

        public void setEffectivityDates​(Date effectiveFrom,
                                        Date effectiveTo)
        Set up the effective dates for the entity. This determines
        Parameters:
        effectiveFrom - date that the element is effective from
        effectiveTo - date that the element is effective to
      • setLatestChange

        public void setLatestChange​(String userId,
                                    int latestChangeTargetOrdinal,
                                    int latestChangeActionOrdinal,
                                    String classificationName,
                                    String attachmentGUID,
                                    String attachmentTypeName,
                                    String relationshipTypeName,
                                    String actionDescription,
                                    String methodName)
                             throws InvalidParameterException
        Set up the LatestChange classification for an anchor entity. This is typically used on the create of the anchor and other direct update actions on it. Other updates are made to it through the generic handler as attachments are added and changed.
        Parameters:
        userId - calling user
        latestChangeTargetOrdinal - ordinal for the LatestChangeTarget enum value
        latestChangeActionOrdinal - ordinal for the LatestChangeAction enum value
        classificationName - name of a changed classification
        attachmentGUID - unique identifier of an entity attached to the anchor
        attachmentTypeName - type name of the attached entity
        relationshipTypeName - relationship used to attach the entity
        actionDescription - human readable description of the change
        methodName - calling method
        Throws:
        InvalidParameterException - this classification is not supported
      • getTypeName

        public String getTypeName()
        Return the bean's type name
        Returns:
        string name
      • getTypeGUID

        public String getTypeGUID()
        Return the bean's type id
        Returns:
        string id
      • getInstanceStatus

        public InstanceStatus getInstanceStatus()
        Return the status that this entity should be created with.
        Returns:
        instance status enum
      • getInstanceProperties

        public InstanceProperties getInstanceProperties​(Map<String,​InstancePropertyValue> propertyMap,
                                                        Date effectiveFrom,
                                                        Date effectiveTo)
                                                 throws InvalidParameterException
        Return the properties based on the parameters supplied. This is typically used for relationship and classification properties.
        Parameters:
        propertyMap - map of property names to values
        effectiveFrom - date to make the element active in the governance program (null for now)
        effectiveTo - date to remove the element from the governance program (null = until deleted)
        Returns:
        repository services properties
        Throws:
        InvalidParameterException - problem mapping properties
      • setEffectivityDates

        protected InstanceProperties setEffectivityDates​(InstanceProperties properties)
        Set the supplied effectivity dates into the instance properties.
        Parameters:
        properties - current accumulated properties
        Returns:
        augmented instance properties
      • getEntityClassifications

        public List<Classification> getEntityClassifications()
        Return a list of entity classifications that can be stored in the metadata repository.
        Returns:
        list of entity classification objects
      • getExistingEntityClassificationHeader

        public InstanceAuditHeader getExistingEntityClassificationHeader​(String elementClassificationName,
                                                                         String methodName)
                                                                  throws InvalidParameterException
        Retrieve the requested classification and convert it to the OMRS format.
        Parameters:
        elementClassificationName - name of the classification to retrieve/convert
        methodName - calling method
        Returns:
        null if the classification is not found for an OMRS Classification bean for the named classification
        Throws:
        InvalidParameterException - the classification name parameter is null
      • getEntityClassificationProperties

        public InstanceProperties getEntityClassificationProperties​(String elementClassificationName,
                                                                    String methodName)
                                                             throws InvalidParameterException
        Retrieve the requested classification and convert it to the OMRS format.
        Parameters:
        elementClassificationName - name of the classification to retrieve/convert
        methodName - calling method
        Returns:
        null or the appropriate properties
        Throws:
        InvalidParameterException - the classification name parameter is null