java.lang.Object
org.odpi.openmetadata.commonservices.generichandlers.OpenMetadataAPIGenericConverter<B>
org.odpi.openmetadata.commonservices.generichandlers.OMFConverter<B>
Direct Known Subclasses:
ActorProfileConverter, APIConverter, APIOperationConverter, APIOperationConverter, APIParameterConverter, APIParameterListConverter, AssetConverter, AssetConverter, AssetManagerOMASConverter, CatalogTargetConverter, CatalogTargetConverter, CertificationConverter, CertificationTypeConverter, CollectionConverter, CollectionMembershipConverter, CommentConverter, CommentConverter, CommunityConverter, CommunityProfileOMASConverter, ConnectionConverter, ConnectorTypeConverter, ConnectorTypeConverter, ContactMethodConverter, ContributionRecordConverter, ControlFlowConverter, DatabaseColumnConverter, DatabaseConverter, DatabaseManagerConverter, DatabaseSchemaConverter, DatabaseTableConverter, DatabaseViewConverter, DataContainerConverter, DataFieldConverter, DataFileConverter, DataFlowConverter, ElementHeaderConverter, ElementStubConverter, EndpointConverter, EndpointConverter, EventTypeConverter, ExternalIdentifierConverter, ExternalReferenceConverter, ExternalReferenceConverter, FileSystemConverter, FormConverter, GovernanceDefinitionConverter, GovernanceDefinitionGraphConverter, GovernanceDomainConverter, GovernanceDomainSetConverter, GovernanceEngineConverter, GovernanceMetricConverter, GovernanceMetricImplementationConverter, GovernanceRoleConverter, GovernanceServiceConverter, GovernanceZoneConverter, InformalTagConverter, InformalTagConverter, IntegrationConnectorConverter, IntegrationGroupConverter, IntegrationReportConverter, ITProfileConverter, LicenseConverter, LicenseTypeConverter, LikeConverter, LikeConverter, LineageMappingConverter, LocationConverter, LocationConverter, MeaningConverter, MeaningConverter, MetadataElementConverter, MetadataRelationshipConverter, MetadataSourceConverter, NoteConverter, NoteLogConverter, OCFConnectionConverter, OpenMetadataStoreConverter, PersonRoleConverter, PortConverter, ProcessCallConverter, ProcessConverter, ProfileConverter, ProjectConverter, QueryConverter, RatingConverter, RatingConverter, ReferenceableConverter, ReferenceableConverter, ReferenceValueAssignmentItemConverter, RelatedAssetConverter, RelatedAssetConverter, RelatedElementConverter, RelatedMediaConverter, ReportConverter, SAFConverter, SchemaAttributeConverter, SchemaAttributeConverter, SchemaTypeConverter, SchemaTypeConverter, SearchKeywordConverter, SecurityGroupConverter, SecurityManagerConverter, SoftwareCapabilityConverter, SubjectAreaConverter, TabularColumnConverter, TopicConverter, UserIdentityConverter, ValidValueAssignmentConsumerConverter, ValidValueConverter, ValidValueSetConverter

public abstract class OMFConverter<B> extends OpenMetadataAPIGenericConverter<B>
OMFConverter provides the generic methods for the OCF beans converters. Generic classes have limited knowledge of the classes these are working on and this means creating a new instance of a class from within a generic is a little involved. This class provides the generic method for creating and initializing a Data Manager bean.
  • Field Details

    • karmaPointPlateau

      protected long karmaPointPlateau
  • Constructor Details

    • OMFConverter

      protected OMFConverter(OMRSRepositoryHelper repositoryHelper, String serviceName, String serverName)
      Constructor
      Parameters:
      repositoryHelper - helper object to parse entity
      serviceName - name of this component
      serverName - name of this server
    • OMFConverter

      public OMFConverter(OMRSRepositoryHelper repositoryHelper, String serviceName, String serverName, int karmaPointPlateau)
      Constructor
      Parameters:
      repositoryHelper - helper object to parse entity
      serviceName - name of this component
      serverName - local server name
      karmaPointPlateau - how many karma points to a plateau
  • Method Details

    • setUpElementHeader

      protected void setUpElementHeader(ElementHeader elementHeader, EntityDetail entity, String expectedTypeName, String methodName) throws PropertyServerException
      Extract the properties from the entity.
      Parameters:
      elementHeader - the header for the bean
      entity - entity containing the properties
      expectedTypeName - type that the entity must match (or it may be a subtype)
      methodName - calling method
      Throws:
      PropertyServerException - the supplied entity is not of the expected type
    • setUpElementHeader

      protected void setUpElementHeader(ElementHeader elementHeader, InstanceHeader instanceHeader, List<Classification> classifications, String methodName) throws PropertyServerException
      Extract the properties from the entity.
      Parameters:
      elementHeader - the header for the bean
      instanceHeader - header of entity
      classifications - classifications from the entity
      methodName - calling method
      Throws:
      PropertyServerException - the supplied entity is not of the expected type
    • getClassification

      protected ElementClassification getClassification(String classificationName, List<ElementClassification> beanClassifications)
      Retrieve a specific named classification.
      Parameters:
      classificationName - name of classification
      beanClassifications - list of classifications retrieved from the repositories
      Returns:
      null or the requested classification
    • removeClassification

      protected List<ElementClassification> removeClassification(String classificationName, List<ElementClassification> beanClassifications)
      Remove the requested classification from the bean classifications and return the resulting list.
      Parameters:
      classificationName - name of the classification
      beanClassifications - list of classifications retrieved from the repositories
      Returns:
      null or a list of classifications
    • getRelatedElement

      public RelatedElement getRelatedElement(Class<B> beanClass, EntityDetail entity, Relationship relationship, String methodName) throws PropertyServerException
      Using the supplied instances, return a new instance of a relatedElement bean. This is used for beans that contain a combination of the properties from an entity and that of a connected relationship.
      Overrides:
      getRelatedElement in class OpenMetadataAPIGenericConverter<B>
      Parameters:
      beanClass - name of the class to create
      entity - entity containing the properties
      relationship - relationship containing the properties
      methodName - calling method
      Returns:
      bean populated with properties from the instances supplied
      Throws:
      PropertyServerException - there is a problem instantiating the bean
    • getRelatedElement

      public RelatedElement getRelatedElement(Class<B> beanClass, Relationship relationship, EntityProxy entityProxy, String methodName) throws PropertyServerException
      Using the supplied instances, return a new instance of a relatedElement bean. This is used for beans that contain a combination of the properties from an entityProxy and that of a connected relationship.
      Parameters:
      beanClass - name of the class to create
      entityProxy - entityProxy containing the properties
      relationship - relationship containing the properties
      methodName - calling method
      Returns:
      bean populated with properties from the instances supplied
      Throws:
      PropertyServerException - there is a problem instantiating the bean
    • getEmbeddedConnection

      protected Connection getEmbeddedConnection(Class<B> beanClass, EntityDetail primaryEntity, List<EntityDetail> supplementaryEntities, List<Relationship> relationships, String methodName) throws PropertyServerException
      Using the supplied instances, return a new instance of the Connection bean. It may be a Connection or a VirtualConnection.
      Parameters:
      beanClass - class name for the bean
      primaryEntity - entity that is the root of the collection of entities that make up the content of the bean
      supplementaryEntities - entities connected to the primary entity by the relationships
      relationships - relationships linking the entities
      methodName - calling method
      Returns:
      bean populated with properties from the instances supplied in the constructor
      Throws:
      PropertyServerException - there is a problem instantiating the bean
    • removePermittedSynchronization

      protected PermittedSynchronization removePermittedSynchronization(InstanceProperties instanceProperties)
      Extract and delete the permittedSynchronization property from the supplied instance properties.
      Parameters:
      instanceProperties - properties from entity
      Returns:
      PermittedSynchronization enum
    • removePortType

      protected PortType removePortType(InstanceProperties instanceProperties)
      Extract and delete the portType property from the supplied instance properties.
      Parameters:
      instanceProperties - properties from entity
      Returns:
      PortType enum
    • getContactMethodTypeFromProperties

      protected ContactMethodType getContactMethodTypeFromProperties(InstanceProperties properties)
      Retrieve the ContactMethodType enum property from the instance properties of an entity
      Parameters:
      properties - entity properties
      Returns:
      ContactMethodType enum value