Example usage for org.apache.commons.collections.primitives ArrayIntList size

List of usage examples for org.apache.commons.collections.primitives ArrayIntList size

Introduction

In this page you can find the example usage for org.apache.commons.collections.primitives ArrayIntList size.

Prototype

public int size() 

Source Link

Usage

From source file:dbs_project.storage.functional.TableTest.java

@Test(timeout = 300000L)
public void testAddAndGetRows() throws Exception {
    Utils.getOut().println("testAddAndGetRows");
    //test addRows()
    final Map<String, TableCreationResult> tableCreatResults = TestTableBuilder
            .createTablesAndAddRows(StorageLayerTest.TABLE_NAMES, storage);
    for (final TableCreationResult artifacts : tableCreatResults.values()) {
        final Table toTestTable = artifacts.getTable();
        final List<SimpleColumn> referenceSimpleColumnList = artifacts.getColumns();
        final ArrayIntList idList = artifacts.getGeneratedIds();
        assertEquals(idList.size(), toTestTable.getTableMetaData().getRowCount());
        //test getRows
        final RowCursor toTestCursor = toTestTable.getRows(IntIteratorWrapper.wrap(idList.iterator()));
        final RowCursor referenceCursor = new SimpleRowCursor(referenceSimpleColumnList);
        assertTrue("result is different from reference: addAndgetRows",
                Utils.compareRowCursors(referenceCursor, toTestCursor));
        //            For debug purposes. Comment out the assertion above before use.
        //            Utils.getOut().println(Utils.rowCursorToHtmlTable(toTestCursor, true));
        //            Utils.getOut().println(Utils.rowCursorToHtmlTable(referenceCursor, true));
        final Map<String, Type> schema = new HashMap<String, Type>();
        for (SimpleColumn column : referenceSimpleColumnList) {
            schema.put(column.getName(), column.getType());
        }//from w w w .ja va  2  s  .co m
        final int randomAddCount = Utils.RANDOM.nextInt(20) + 1;
        final RowCursor additionalRandomData = new RandomRowCursor(schema, randomAddCount);
        final IdCursor generatedIdsPartTwo = toTestTable.addRows(additionalRandomData.getMetaData(),
                additionalRandomData);
        int idCount = 0;
        while (generatedIdsPartTwo.next()) {
            generatedIdsPartTwo.getId();
            ++idCount;
        }
        assertEquals("size of IdCursor returned by addRows() does not match the size of RowCursor",
                randomAddCount, idCount);

        generatedIdsPartTwo.close();
        additionalRandomData.close();
        toTestCursor.close();
        referenceCursor.close();
    }
}

From source file:dbs_project.storage.functional.TableTest.java

@Test(timeout = 300000L)
public void testUpdateRows() throws Exception {
    Utils.getOut().println("testUpdateRows");
    final Map<String, TableCreationResult> tableCreateResults = TestTableBuilder
            .createTablesAndAddRows(StorageLayerTest.TABLE_NAMES, storage);
    for (final TableCreationResult artifacts : tableCreateResults.values()) {
        final Table toTestTable = artifacts.getTable();
        final List<SimpleColumn> referenceSimpleColumnList = artifacts.getColumns();
        final ArrayIntList idList = artifacts.getGeneratedIds();
        //choose rows for update
        final ArrayIntList updateListReference = new ArrayIntList();
        final ArrayIntList updateListToTest = new ArrayIntList();
        for (int i = 0; i < idList.size(); ++i) {
            if (Utils.RANDOM.nextInt() % UPDATE_ROW_FACTOR == 0) {
                updateListReference.add(i);
                updateListToTest.add(idList.get(i));
            }/*from   w  w w.j  a v  a 2 s  . c  o m*/
        }

        final List<SimpleColumn> updateColumns = new ArrayList<SimpleColumn>(referenceSimpleColumnList.size());
        for (final SimpleColumn referenceColumn : referenceSimpleColumnList) {
            final SimpleColumn generatedRandomUpdateColumn = new SimpleColumn(updateListToTest.size(),
                    referenceColumn.getId(), referenceColumn.getName(), referenceColumn.getType());
            for (int i = 0; i < generatedRandomUpdateColumn.getRowCount(); ++i) {
                referenceColumn.set(updateListReference.get(i), generatedRandomUpdateColumn.getObject(i));
            }
            updateColumns.add(generatedRandomUpdateColumn);
        }
        //perform update of chosen rows
        final SimpleRowCursor updateCursor = new SimpleRowCursor(updateColumns);
        toTestTable.updateRows(updateCursor.getMetaData(), IntIteratorWrapper.wrap(updateListToTest.iterator()),
                updateCursor);
        final RowCursor toTestCursor = toTestTable.getRows(IntIteratorWrapper.wrap(idList.iterator()));
        final RowCursor referenceCursor = new SimpleRowCursor(referenceSimpleColumnList);
        assertTrue("result is different from reference: updateRows",
                Utils.compareRowCursors(referenceCursor, toTestCursor));
        //            For debug purposes. Comment out the assertion above before use.
        //            Utils.getOut().println(Utils.rowCursorToHtmlTable(toTestCursor, true));
        //            Utils.getOut().println(Utils.rowCursorToHtmlTable(referenceCursor, true));
        toTestCursor.close();
        referenceCursor.close();
    }
}

From source file:dbs_project.storage.functional.TableTest.java

@Test(timeout = 300000L)
public void testDeleteRows() throws Exception {
    Utils.getOut().println("testDeleteRows");
    final Map<String, TableCreationResult> tableCreateResults = TestTableBuilder
            .createTablesAndAddRows(StorageLayerTest.TABLE_NAMES, storage);
    for (final TableCreationResult artifacts : tableCreateResults.values()) {
        final Table toTestTable = artifacts.getTable();
        final List<SimpleColumn> referenceSimpleColumnList = artifacts.getColumns();
        final ArrayIntList idList = artifacts.getGeneratedIds();
        final ArrayIntList deleteReferenceList = new ArrayIntList();
        final ArrayIntList deleteTotestList = new ArrayIntList();
        //delete list backwards, so that indexes remain stable
        for (int i = idList.size(); --i >= 0;) {
            if (Utils.RANDOM.nextInt() % DELETE_ROW_FACTOR == 0) {
                deleteReferenceList.add(i);
                deleteTotestList.add(idList.get(i));
                idList.removeElementAt(i);
            }/*from  w w w .j a  v  a  2s . co m*/
        }
        for (final SimpleColumn referenceColumn : referenceSimpleColumnList) {
            for (int i = 0; i < deleteTotestList.size(); ++i) {
                referenceColumn.remove(deleteReferenceList.get(i));
            }
        }
        toTestTable.deleteRows(IntIteratorWrapper.wrap(deleteTotestList.iterator()));
        final RowCursor toTestCursor = toTestTable.getRows(IntIteratorWrapper.wrap(idList.iterator()));
        final RowCursor referenceCursor = new SimpleRowCursor(referenceSimpleColumnList);
        assertTrue("result is different from reference: deleteRows",
                Utils.compareRowCursors(referenceCursor, toTestCursor));
        //            For debug purposes. Comment out the assertion above before use.
        //            Utils.getOut().println(Utils.rowCursorToHtmlTable(toTestCursor, true));
        //            Utils.getOut().println(Utils.rowCursorToHtmlTable(referenceCursor, true));
        toTestCursor.close();
        referenceCursor.close();
    }
}

From source file:dbs_project.index.performance.IndexTest.java

private void updateRowsTest() throws Exception {
    long time = 0;
    int count = 0;
    for (int i = 0; i < scaleFactor; ++i) {
        ArrayIntList updateList = new ArrayIntList();
        SimpleRowCursor rc = new SimpleRowCursor(TPCHData.createLineitemColumns(scaleFactor, i));

        for (int j = 0; j < rc.getRowCount(); ++j) {
            if (Utils.RANDOM.nextInt(UPDATE_ROW_FACTOR) == 0) {
                ++count;//from   ww w .java2 s  . c om
                updateList.add(idList.get(j));
            }
        }
        rc.setRowCount(updateList.size());
        long start = System.nanoTime();
        table.updateRows(rc.getMetaData(), new IntIteratorWrapper(updateList.iterator()), rc);
        time += System.nanoTime() - start;
    }
    outputTime("updateRowsTest", scaleFactor, indexType, time);
}

From source file:weka.classifiers.rules.LACClassOccurrences.java

/**
 * Returns the instances that belong to a given class
 * @param classIndex/*  w w  w  .j  ava  2s. co m*/
 * @return
 */
@SuppressWarnings("unchecked")
List<Integer> getInstancesOfClass(int classIndex) {
    ArrayIntList m = map.get(classIndex);
    ArrayList<Integer> result = new ArrayList<Integer>();
    if (m != null && m.size() > 0) {
        ArrayIntList tmp = map.get(m.get(0));
        if (tmp != null) {
            for (IntIterator iter = tmp.iterator(); iter.hasNext();) {
                result.add(iter.next());
            }
        }
    } else {
        result = null;
    }
    return result != null ? result : Collections.EMPTY_LIST;
}

From source file:weka.classifiers.rules.LACFeatureOccurrences.java

/**
 * Gets all instances which contain all given features
 * //w  ww.  j  a v  a 2  s.c om
 * @param featuresIndexes
 * @return
 */
public List<Integer> instancesWithFeatures(List<Integer> featuresIndexes) {
    ArrayIntList instances = cache.get(featuresIndexes);
    List<Integer> result = new ArrayList<Integer>();

    if (instances == null) {
        if (featuresIndexes.size() == 1) {
            instances = map.get(featuresIndexes.get(0));
            if (instances != null) {
                for (IntIterator iter = instances.iterator(); iter.hasNext();) {
                    result.add(iter.next());
                }
            }
        } else {
            instances = new ArrayIntList();

            Integer feature = featuresIndexes.get(0);
            ArrayIntList instancesForCurrFeat = map.get(feature);

            if (instancesForCurrFeat == null || instancesForCurrFeat.size() == 0) {
                return Collections.emptyList();
            } else {
                List<Integer> otherfeatures = new ArrayList<Integer>();
                otherfeatures.addAll(featuresIndexes);
                otherfeatures.remove(0);

                instances.addAll(instancesForCurrFeat);
                List<Integer> rest = instancesWithFeatures(otherfeatures);
                if (rest != null) {
                    List<Integer> instancesAsList = new ArrayList<Integer>();
                    for (IntIterator iter = instances.iterator(); iter.hasNext();) {
                        instancesAsList.add(iter.next());
                    }
                    result = calculateIntersection(instancesAsList, rest);
                    ///cache.put(featuresIndexes, instances);
                } else {
                    ///cache.put(featuresIndexes, new ArrayIntList());
                }
            }
        }
    }

    return result;
}