Class EvaluatorIterator

  • All Implemented Interfaces:
    org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key,​org.apache.accumulo.core.data.Value>

    public class EvaluatorIterator
    extends org.apache.accumulo.core.iterators.WrappingIterator
    This iterator makes uses of Teiid engine for criteria evaluation. For this to work, the teiid libraries need to be copied over to the accumulo classpath. RowFilter based implemention fails with "java.lang.RuntimeException: Setting interrupt flag after calling deep copy not supported", this is copy of WholeRowIterator
    • Constructor Detail

      • EvaluatorIterator

        public EvaluatorIterator()
    • Method Detail

      • init

        public void init​(org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key,​org.apache.accumulo.core.data.Value> source,
                         Map<String,​String> options,
                         org.apache.accumulo.core.iterators.IteratorEnvironment env)
                  throws IOException
        Specified by:
        init in interface org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key,​org.apache.accumulo.core.data.Value>
        Overrides:
        init in class org.apache.accumulo.core.iterators.WrappingIterator
        Throws:
        IOException
      • createTransformationMetadata

        public static org.teiid.query.metadata.TransformationMetadata createTransformationMetadata​(String ddl)
      • createModel

        public static org.teiid.adminapi.impl.ModelMetaData createModel​(String name,
                                                                        boolean source)
      • deepCopy

        public org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key,​org.apache.accumulo.core.data.Value> deepCopy​(org.apache.accumulo.core.iterators.IteratorEnvironment env)
        Specified by:
        deepCopy in interface org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key,​org.apache.accumulo.core.data.Value>
        Overrides:
        deepCopy in class org.apache.accumulo.core.iterators.WrappingIterator
      • seek

        public void seek​(org.apache.accumulo.core.data.Range range,
                         Collection<org.apache.accumulo.core.data.ByteSequence> columnFamilies,
                         boolean inclusive)
                  throws IOException
        Specified by:
        seek in interface org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key,​org.apache.accumulo.core.data.Value>
        Overrides:
        seek in class org.apache.accumulo.core.iterators.WrappingIterator
        Throws:
        IOException
      • filter

        protected boolean filter​(ArrayList<org.teiid.translator.accumulo.EvaluatorIterator.KeyValuePair> values)
                          throws IOException
        Throws:
        IOException
      • getTopKey

        public org.apache.accumulo.core.data.Key getTopKey()
        Specified by:
        getTopKey in interface org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key,​org.apache.accumulo.core.data.Value>
        Overrides:
        getTopKey in class org.apache.accumulo.core.iterators.WrappingIterator
      • getTopValue

        public org.apache.accumulo.core.data.Value getTopValue()
        Specified by:
        getTopValue in interface org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key,​org.apache.accumulo.core.data.Value>
        Overrides:
        getTopValue in class org.apache.accumulo.core.iterators.WrappingIterator
      • hasTop

        public boolean hasTop()
        Specified by:
        hasTop in interface org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key,​org.apache.accumulo.core.data.Value>
        Overrides:
        hasTop in class org.apache.accumulo.core.iterators.WrappingIterator
      • next

        public void next()
                  throws IOException
        Specified by:
        next in interface org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key,​org.apache.accumulo.core.data.Value>
        Overrides:
        next in class org.apache.accumulo.core.iterators.WrappingIterator
        Throws:
        IOException