Package org.apache.xindice.core.data

Examples of org.apache.xindice.core.data.Key


    public void testDeleteRecordWrongKey() throws Exception {
        assertTrue(filer.writeRecord(TEST_KEY, TEST_VALUE));
        assertEquals(1, filer.getRecordCount());

        // These should all just fail silently.
        assertTrue(false == filer.deleteRecord(new Key("non-existant-key")));
        assertEquals(1, filer.getRecordCount());
    }
View Full Code Here


    public void testGetRecordCount() throws Exception {
        assertEquals(0, filer.getRecordCount());

        assertTrue(filer.writeRecord(TEST_KEY, TEST_VALUE));
        assertTrue(filer.writeRecord(new Key("test1"), TEST_VALUE));
        assertTrue(filer.writeRecord(new Key("test2"), TEST_VALUE));
        assertEquals(3, filer.getRecordCount());

        assertTrue(filer.writeRecord(new Key("test3"), TEST_VALUE));
        assertEquals(4, filer.getRecordCount());

        assertTrue(filer.deleteRecord(new Key("test3")));
        assertEquals(3, filer.getRecordCount());

        assertTrue(filer.deleteRecord(TEST_KEY));
        assertTrue(filer.deleteRecord(new Key("test1")));
        assertTrue(filer.deleteRecord(new Key("test2")));

        assertEquals(0, filer.getRecordCount());
    }
View Full Code Here

        assertEquals(0, filer.getRecordCount());
    }

    public void testGetRecordSet() throws Exception {
        assertTrue(filer.writeRecord(TEST_KEY, TEST_VALUE));
        assertTrue(filer.writeRecord(new Key("test2"), TEST_VALUE_2));
        assertTrue(filer.writeRecord(new Key("test3"), TEST_VALUE_3));

        RecordSet result = filer.getRecordSet();
        assertNotNull(result);

        List results = new Vector();
        while (result.hasMoreRecords()) {
            results.add(result.getNextRecord().getValue());
        }
        assertEquals(3, results.size());
        assertTrue(results.contains(TEST_VALUE));
        assertTrue(results.contains(TEST_VALUE_2));
        assertTrue(results.contains(TEST_VALUE_3));

        assertTrue(filer.deleteRecord(TEST_KEY));
        assertTrue(filer.deleteRecord(new Key("test2")));
        assertTrue(filer.deleteRecord(new Key("test3")));

        result = filer.getRecordSet();
        assertTrue(!result.hasMoreRecords());
    }
View Full Code Here

    }

    public void testInsertManyDocuments() throws Exception {
        int iterations = 1000;
        for (int i = 0; i < iterations; i++) {
            assertTrue(filer.writeRecord(new Key("key" + i), TEST_VALUE));
        }

        assertTrue(filer.getRecordCount() == iterations);

        for (int i = 0; i < iterations; i++) {
            assertTrue(filer.deleteRecord(new Key("key" + i)));
        }

        assertTrue(filer.getRecordCount() == 0);
    }
View Full Code Here

        for (int i = 0; i < THREADS; i++) {
            final int threadID = i;
            threads[i] = new Thread() {
                public void run() {
                    for (int ii = 0; ii < ITERATIONS; ii++) {
                        Key key = new Key("T" + threadID + "I" + ii);
                        Value value = new Value("<test thread=\"" + threadID + "\" iteration=\"" + ii + "\"/>");
                        try {
                            filer.writeRecord(key, value);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                    // System.out.println(getName() + " done.");
                }
            };
            threads[i].setName("FilerTest" + i);
        }

        // Start all the threads at once
        for (int i = 0; i < THREADS; i++) {
            threads[i].start();
        }
        Thread.sleep(1000);

        for (int i = 0; i < THREADS; i++) {
            threads[i].join();
        }

        filer.flush();

        // Check results
        assertEquals(filer.getRecordCount(), THREADS * ITERATIONS);
        for (int i = 0; i < THREADS; i++) {
            for (int ii = 0; ii < ITERATIONS; ii++) {
                Key key = new Key("T" + i + "I" + ii);
                Value value = new Value("<test thread=\"" + i + "\" iteration=\"" + ii + "\"/>");
                Record record = filer.readRecord(key);
                assertNotNull("Record with key '" + key + "' was not found",
                              record);
                assertEquals("Expected record with key '" + key + "', found record with key '" + record.getKey() + "'",
View Full Code Here

        StringBuffer sb = new StringBuffer(LARGE_KEY_SIZE);
        sb.append("KEY");
        for (int k = 0; k < LARGE_KEY_SIZE - 3; k++) {
            sb.append('0');
        }
        final Key key = new Key(sb.toString());
        final Value value = new Value("<test/>");

        assertTrue(filer.writeRecord(key, value));

        assertEquals(filer.getRecordCount(), 1);
View Full Code Here

        }

        public Container getNextContainer() throws DBException {
            if (set.hasMoreRecords()) {
                Record rec = set.getNextRecord();
                Key key = rec.getKey();
                Value val = rec.getValue();
                if (val.getData() != null) {
                    try {
                        if (compressed) {
                            Document doc = new DocumentImpl(val.getData(), symbols, new NodeSource(Collection.this, key));
View Full Code Here

            this.dataPos = this.keyPos + header.keyLen;
        }

        public synchronized Key getKey() {
            if (header.keyLen > 0) {
                return new Key(this.data, this.keyPos, header.keyLen);
            } else {
                return null;
            }
        }
View Full Code Here

    }

    private IndexMatch getIndexMatch(Value v) {
        byte[] b = v.getData();
        int l = b.length - 13;
        Key key = new Key(b, 0, b.length - 13);

        int pos = ((b[l + 1] << 24) | (b[l + 2] << 16) | (b[l + 3] << 8) | b[l + 4]);
        int len = ((b[l + 5] << 24) | (b[l + 6] << 16) | (b[l + 7] << 8) | b[l + 8]);
        short elemID = (short) ((b[l + 9] << 8) | b[l + 10]);
        short attrID = (short) ((b[l + 11] << 8) | b[l + 12]);
View Full Code Here

        }

        SortedSet set = new TreeSet();
        boolean done = false;
        List highs = new ArrayList();
        Key highest = null;
        while (!done) {
            boolean eq = true;

            for (int i = 0; i < ptrs.length; i++) {
                Key comp = keySets[i][ptrs[i]];
                if (highest == null) {
                    highest = comp;
                    highs.add(new Integer(i));
                } else {
                    int c = highest.compareTo(comp);
View Full Code Here

TOP

Related Classes of org.apache.xindice.core.data.Key

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.