Exemple #1
0
        protected internal override void writeVectorToOutputStream(ExtendedDataOutput @out)
        {
            int    indexCount   = rowIndices.Count;
            int    cols         = valueVec.rows();
            int    countBytes   = 1;
            UInt32 maxCount     = 255;
            int    indicesPos   = 0;
            int    valuesOffect = 0;

            while (indicesPos < indexCount)
            {
                int byteRequest = 4;
                int curRows     = 0;
                int indiceCount = 1;
                while (byteRequest < BUF_SIZE && indicesPos + indiceCount - 1 < indexCount && indiceCount < 65536)
                {
                    int curIndiceOffect = indicesPos + indiceCount - 1;
                    int index           = curIndiceOffect == 0 ? rowIndices[curIndiceOffect] : rowIndices[curIndiceOffect] - rowIndices[curIndiceOffect - 1];
                    while (index > maxCount)
                    {
                        byteRequest += (indiceCount - 1) * countBytes;
                        countBytes  *= 2;
                        maxCount     = Math.Min(UInt32.MaxValue, (UInt32)1 << (8 * countBytes) - 1);
                    }
                    curRows += index;
                    indiceCount++;
                    byteRequest += countBytes + baseUnitLength_ * index;
                }
                indiceCount--;
                @out.writeShort(indiceCount);
                @out.writeByte(countBytes);
                @out.writeByte(0);
                for (int i = 0; i < indiceCount; ++i)
                {
                    int index = indicesPos + i == 0 ? rowIndices[indicesPos + i] : rowIndices[indicesPos + i] - rowIndices[indicesPos + i - 1];
                    if (countBytes == 1)
                    {
                        @out.writeByte(index);
                    }
                    else if (countBytes == 2)
                    {
                        @out.writeShort(index);
                    }
                    else
                    {
                        @out.writeInt(index);
                    }
                }
                valueVec.serialize(valuesOffect, curRows, @out);
                indicesPos   += indiceCount;
                valuesOffect += curRows;
            }
        }
        public virtual void write(ExtendedDataOutput @out)
        {
            if (valueType == DATA_TYPE.DT_DICTIONARY)
            {
                throw new IOException("Can't streamlize the dictionary with value type " + valueType.ToString());
            }

            BasicEntityFactory factory = new BasicEntityFactory();
            IVector            keys    = (IVector)factory.createScalarWithDefaultValue(keyType);
            IVector            values  = (IVector)factory.createVectorWithDefaultValue(valueType, dict.Count);
            int index = 0;

            try
            {
                IEnumerator <KeyValuePair <IScalar, IEntity> > itr = dict.GetEnumerator();

                while (itr.MoveNext())
                {
                    keys.set(index, itr.Current.Key);
                    values.set(index, (IScalar)itr.Current.Value);
                    ++index;
                }
            }
            catch (Exception ex)
            {
                throw new IOException(ex.Message);
            }

            int flag = ((int)DATA_FORM.DF_DICTIONARY << 8) + (int)getDataType();

            @out.writeShort(flag);

            keys.write(@out);
            values.write(@out);
        }
Exemple #3
0
        public void write(ExtendedDataOutput @out)
        {
            int flag = ((int)DATA_FORM.DF_SCALAR << 8) + (int)getDataType();

            @out.writeShort(flag);
            writeScalarToOutputStream(@out);
        }
        public virtual void write(ExtendedDataOutput @out)
        {
            if (valueType == DATA_TYPE.DT_DICTIONARY)
            {
                throw new IOException("Can't streamlize the dictionary with value type " + valueType.name());
            }

            BasicEntityFactory factory = new BasicEntityFactory();
            Vector             keys    = (Vector)factory.createVectorWithDefaultValue(keyType, dict.Count);
            Vector             values  = (Vector)factory.createVectorWithDefaultValue(valueType, dict.Count);
            int index = 0;

            try
            {
                foreach (KeyValuePair <Scalar, Entity> entry in dict.SetOfKeyValuePairs())
                {
                    keys.set(index, entry.Key);
                    values.set(index, (Scalar)entry.Value);
                    ++index;
                }
            }
            catch (Exception ex)
            {
                throw new IOException(ex.Message);
            }

            int flag = ((int)DATA_FORM.DF_DICTIONARY << 8) + DataType.ordinal();

            @out.writeShort(flag);

            keys.write(@out);
            values.write(@out);
        }
Exemple #5
0
 public override void serialize(int start, int count, ExtendedDataOutput @out)
 {
     for (int i = 0; i < count; ++i)
     {
         @out.writeShort(values[start + i]);
     }
 }
Exemple #6
0
        public void writeCompressed(ExtendedDataOutput output)
        {
            short flag = ((short)(DATA_FORM.DF_TABLE) << 8 | 8 & 0xff); //8: table type TODO: add table type

            output.writeShort(flag);

            int rows = this.rows();
            int cols = this.columns();

            output.writeInt(rows);
            output.writeInt(cols);
            output.writeString("");     //table name
            for (int i = 0; i < cols; i++)
            {
                output.writeString(this.getColumnName(i));
            }

            for (int i = 0; i < cols; i++)
            {
                AbstractVector v = (AbstractVector)this.getColumn(i);
                if (v.getDataType() == DATA_TYPE.DT_SYMBOL)
                {
                    v.write((ExtendedDataOutput)output);
                }
                else
                {
                    v.writeCompressed((ExtendedDataOutput)output);
                }
                output.flush();
            }
        }
Exemple #7
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET:
//ORIGINAL LINE: public void write(com.xxdb.io.ExtendedDataOutput out) throws java.io.IOException
        public virtual void write(ExtendedDataOutput @out)
        {
            Vector keys = keys();
            int    flag = ((int)DATA_FORM.DF_SET << 8) + DataType.ordinal();

            @out.writeShort(flag);
            keys.write(@out);
        }
Exemple #8
0
        public virtual void write(ExtendedDataOutput @out)
        {
            IVector _keys = keys();
            int     flag  = ((int)DATA_FORM.DF_SET << 8) + (int)getDataType();

            @out.writeShort(flag);
            _keys.write(@out);
        }
        public virtual void write(ExtendedDataOutput @out)
        {
            int flag = ((int)df_ << 8) + (int)getDataType();

            @out.writeShort(flag);
            @out.writeInt(rows());
            @out.writeInt(columns());
            writeVectorToOutputStream(@out);
        }
        public virtual void write(ExtendedDataOutput @out, SymbolBaseCollection collection)
        {
            int dataType = (int)getDataType() + 128;
            int flag     = ((int)DATA_FORM.DF_VECTOR << 8) + dataType;

            @out.writeShort(flag);
            @out.writeInt(rows());
            @out.writeInt(columns());
            collection.write(@out, @base);
            @out.writeIntArray(values.ToArray());
        }
Exemple #11
0
        public virtual void write(ExtendedDataOutput @out)
        {
            int flag = ((int)DATA_FORM.DF_MATRIX << 8) + (int)getDataType();

            @out.writeShort(flag);
            byte labelFlag = (byte)((hasRowLabel() ? 1 : 0) + (hasColumnLabel() ? 2 : 0));

            @out.writeByte(labelFlag);
            if (hasRowLabel())
            {
                rowLabels.write(@out);
            }
            if (hasColumnLabel())
            {
                columnLabels.write(@out);
            }
            @out.writeShort(flag);
            @out.writeInt(rows());
            @out.writeInt(columns());
            writeVectorToOutputStream(@out);
        }
Exemple #12
0
        public virtual void write(ExtendedDataOutput @out)
        {
            int flag = ((int)df_ << 8) + (int)getDataType();

            if (this is BasicSymbolVector)
            {
                flag += 128;
            }
            @out.writeShort(flag);
            @out.writeInt(rows());
            @out.writeInt(columns());
            writeVectorToOutputStream(@out);
        }
Exemple #13
0
        public virtual void write(ExtendedDataOutput @out)
        {
            int flag = ((int)DATA_FORM.DF_TABLE << 8) + (int)getDataType();

            @out.writeShort(flag);
            @out.writeInt(rows());
            @out.writeInt(columns());
            @out.writeString(""); //table name
            foreach (string colName in names_)
            {
                @out.writeString(colName);
            }
            foreach (IVector vector in columns_)
            {
                vector.write(@out);
            }
        }
Exemple #14
0
        public virtual void write(ExtendedDataOutput output)
        {
            int length = 27 + AbstractExtendedDataOutputStream.getUTFlength(path, 0, 0) + sites.Count;

            foreach (string site in sites)
            {
                length += AbstractExtendedDataOutputStream.getUTFlength(site, 0, 0);
            }
            output.writeShort(length);
            output.writeString(path);
            output.write(id);
            output.writeInt(version);
            output.writeInt(size_Renamed);
            output.writeByte(flag);
            output.writeByte(sites.Count);
            foreach (string site in sites)
            {
                output.writeUTF(site);
            }
        }
 protected override void writeScalarToOutputStream(ExtendedDataOutput @out)
 {
     @out.writeShort(value);
 }