Class SimpleDBMetadataProcessor

  • All Implemented Interfaces:
    org.teiid.translator.MetadataProcessor<org.teiid.translator.simpledb.api.SimpleDBConnection>

    public class SimpleDBMetadataProcessor
    extends Object
    implements org.teiid.translator.MetadataProcessor<org.teiid.translator.simpledb.api.SimpleDBConnection>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static String ITEM_NAME  
      • Fields inherited from interface org.teiid.translator.MetadataProcessor

        FQN, SOURCE_PREFIX
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static String getName​(org.teiid.metadata.AbstractMetadataRecord record)  
      static String getQuotedName​(org.teiid.metadata.AbstractMetadataRecord record)  
      static boolean isItemName​(String name)  
      static boolean isItemName​(org.teiid.metadata.Column column)  
      void process​(org.teiid.metadata.MetadataFactory metadataFactory, org.teiid.translator.simpledb.api.SimpleDBConnection connection)
      As SimpleDB does not provide any way to obtain all attribute names for given domain (one can query only attribute names for single item) and querrying all items in domain to get complete set of attribute names would be very slow and resource consuming, this approach has been selected: For each domain only first item is queried for attribute names and metadata are created using this information.
    • Constructor Detail

      • SimpleDBMetadataProcessor

        public SimpleDBMetadataProcessor()
    • Method Detail

      • process

        public void process​(org.teiid.metadata.MetadataFactory metadataFactory,
                            org.teiid.translator.simpledb.api.SimpleDBConnection connection)
                     throws org.teiid.translator.TranslatorException
        As SimpleDB does not provide any way to obtain all attribute names for given domain (one can query only attribute names for single item) and querrying all items in domain to get complete set of attribute names would be very slow and resource consuming, this approach has been selected: For each domain only first item is queried for attribute names and metadata are created using this information. Thus first item in domain should have as much attributes as possible.
        Specified by:
        process in interface org.teiid.translator.MetadataProcessor<org.teiid.translator.simpledb.api.SimpleDBConnection>
        Throws:
        org.teiid.translator.TranslatorException
        See Also:
        MetadataProcessor.process(org.teiid.metadata.MetadataFactory, java.lang.Object)
      • getName

        public static String getName​(org.teiid.metadata.AbstractMetadataRecord record)
      • getQuotedName

        public static String getQuotedName​(org.teiid.metadata.AbstractMetadataRecord record)
      • isItemName

        public static boolean isItemName​(org.teiid.metadata.Column column)
      • isItemName

        public static boolean isItemName​(String name)