incubator-gora-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From e...@apache.org
Subject svn commit: r1006024 [1/8] - in /incubator/gora: branches/ tags/ trunk/ trunk/bin/ trunk/conf/ trunk/docs/ trunk/gora-cassandra/ trunk/gora-cassandra/ivy/ trunk/gora-cassandra/lib-ext/ trunk/gora-cassandra/src/ trunk/gora-cassandra/src/examples/ trunk/...
Date Fri, 08 Oct 2010 21:17:17 GMT
Author: enis
Date: Fri Oct  8 21:17:10 2010
New Revision: 1006024

URL: http://svn.apache.org/viewvc?rev=1006024&view=rev
Log:
INFRA-3038. Initial import of the source code

Added:
    incubator/gora/branches/
    incubator/gora/tags/
    incubator/gora/trunk/   (with props)
    incubator/gora/trunk/.gitignore
    incubator/gora/trunk/CHANGES.txt
    incubator/gora/trunk/LICENSE.txt
    incubator/gora/trunk/NOTICE.txt
    incubator/gora/trunk/README.markdown
    incubator/gora/trunk/bin/
    incubator/gora/trunk/bin/compile-examples.sh   (with props)
    incubator/gora/trunk/bin/gora   (with props)
    incubator/gora/trunk/build-common.xml
    incubator/gora/trunk/build.xml
    incubator/gora/trunk/conf/
    incubator/gora/trunk/conf/log4j.properties
    incubator/gora/trunk/docs/
    incubator/gora/trunk/docs/.gitignore
    incubator/gora/trunk/gora-cassandra/
    incubator/gora/trunk/gora-cassandra/build.xml
    incubator/gora/trunk/gora-cassandra/ivy/
    incubator/gora/trunk/gora-cassandra/ivy/ivy.xml
    incubator/gora/trunk/gora-cassandra/lib-ext/
    incubator/gora/trunk/gora-cassandra/lib-ext/apache-cassandra-0.6.4.jar   (with props)
    incubator/gora/trunk/gora-cassandra/lib-ext/libthrift-r917130.jar   (with props)
    incubator/gora/trunk/gora-cassandra/src/
    incubator/gora/trunk/gora-cassandra/src/examples/
    incubator/gora/trunk/gora-cassandra/src/examples/java/
    incubator/gora/trunk/gora-cassandra/src/examples/java/.gitignore
    incubator/gora/trunk/gora-cassandra/src/main/
    incubator/gora/trunk/gora-cassandra/src/main/java/
    incubator/gora/trunk/gora-cassandra/src/main/java/org/
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/CassandraClient.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Mutate.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Pair.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/RangeSliceGet.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Row.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/RowIterable.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Select.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/SimpleCassandraClient.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/SliceGet.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/TokenRangeRowIterableImpl.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/query/
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/query/CassandraPartitionQuery.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/query/CassandraQuery.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/query/CassandraResult.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/store/
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/store/CassandraColumn.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/store/CassandraMapping.java
    incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/store/CassandraStore.java
    incubator/gora/trunk/gora-cassandra/src/test/
    incubator/gora/trunk/gora-cassandra/src/test/conf/
    incubator/gora/trunk/gora-cassandra/src/test/conf/gora-cassandra-mapping.xml
    incubator/gora/trunk/gora-cassandra/src/test/conf/gora.properties
    incubator/gora/trunk/gora-cassandra/src/test/java/
    incubator/gora/trunk/gora-cassandra/src/test/java/.gitignore
    incubator/gora/trunk/gora-core/
    incubator/gora/trunk/gora-core/build.xml
    incubator/gora/trunk/gora-core/conf/
    incubator/gora/trunk/gora-core/conf/.gitignore
    incubator/gora/trunk/gora-core/ivy/
    incubator/gora/trunk/gora-core/ivy/ivy.xml
    incubator/gora/trunk/gora-core/lib-ext/
    incubator/gora/trunk/gora-core/lib-ext/.gitignore
    incubator/gora/trunk/gora-core/src/
    incubator/gora/trunk/gora-core/src/examples/
    incubator/gora/trunk/gora-core/src/examples/avro/
    incubator/gora/trunk/gora-core/src/examples/avro/employee.json
    incubator/gora/trunk/gora-core/src/examples/avro/tokendatum.json
    incubator/gora/trunk/gora-core/src/examples/avro/webpage.json
    incubator/gora/trunk/gora-core/src/examples/java/
    incubator/gora/trunk/gora-core/src/examples/java/org/
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/examples/
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/examples/WebPageDataCreator.java
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/examples/generated/
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/examples/generated/Employee.java
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/examples/generated/Metadata.java
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/examples/generated/TokenDatum.java
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/examples/generated/WebPage.java
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/examples/mapreduce/
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/examples/mapreduce/QueryCounter.java
    incubator/gora/trunk/gora-core/src/examples/java/org/gora/examples/mapreduce/WordCount.java
    incubator/gora/trunk/gora-core/src/main/
    incubator/gora/trunk/gora-core/src/main/java/
    incubator/gora/trunk/gora-core/src/main/java/org/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/PersistentDatumReader.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/PersistentDatumWriter.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/mapreduce/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/mapreduce/FsInput.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/query/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/query/AvroQuery.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/query/AvroResult.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/query/DataFileAvroResult.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/store/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/store/AvroStore.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/avro/store/DataFileAvroStore.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/compiler/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/compiler/GoraCompiler.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/FakeResolvingDecoder.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/GoraInputFormat.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/GoraInputSplit.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/GoraMapReduceUtils.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/GoraMapper.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/GoraOutputFormat.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/GoraRecordReader.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/GoraReducer.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/NullOutputCommitter.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/PersistentDeserializer.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/PersistentNonReusingSerialization.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/PersistentSerialization.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/PersistentSerializer.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/StringComparator.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/mapreduce/StringSerialization.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/memory/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/memory/store/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/memory/store/MemStore.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/BeanFactory.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/ListGenericArray.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/Persistent.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/State.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/StateManager.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/StatefulHashMap.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/StatefulMap.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/impl/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/impl/BeanFactoryImpl.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/impl/PersistentBase.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/persistency/impl/StateManagerImpl.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/query/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/query/PartitionQuery.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/query/Query.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/query/Result.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/query/impl/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/query/impl/FileSplitPartitionQuery.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/query/impl/PartitionQueryImpl.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/query/impl/QueryBase.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/query/impl/ResultBase.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/store/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/store/DataStore.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/store/DataStoreFactory.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/store/FileBackedDataStore.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/store/impl/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/store/impl/DataStoreBase.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/store/impl/FileBackedDataStoreBase.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/util/
    incubator/gora/trunk/gora-core/src/main/java/org/gora/util/AvroUtils.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/util/ByteUtils.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/util/IOUtils.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/util/NodeWalker.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/util/Null.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/util/OperationNotSupportedException.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/util/ReflectionUtils.java
    incubator/gora/trunk/gora-core/src/main/java/org/gora/util/StringUtils.java
    incubator/gora/trunk/gora-core/src/test/
    incubator/gora/trunk/gora-core/src/test/conf/
    incubator/gora/trunk/gora-core/src/test/conf/.gitignore
    incubator/gora/trunk/gora-core/src/test/conf/core-site.xml
    incubator/gora/trunk/gora-core/src/test/conf/gora.properties
    incubator/gora/trunk/gora-core/src/test/java/
    incubator/gora/trunk/gora-core/src/test/java/org/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/GoraTestDriver.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/avro/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/avro/TestPersistentDatumReader.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/avro/mapreduce/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/avro/mapreduce/TestDataFileAvroStoreMapReduce.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/avro/store/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/avro/store/TestAvroStore.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/avro/store/TestDataFileAvroStore.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mapreduce/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mapreduce/DataStoreMapReduceTestBase.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mapreduce/MapReduceTestUtils.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mapreduce/TestGoraInputFormat.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mapreduce/TestGoraInputSplit.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mapreduce/TestPersistentSerialization.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/memory/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/memory/store/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/memory/store/TestMemStore.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mock/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mock/persistency/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mock/persistency/MockPersistent.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mock/query/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mock/query/MockQuery.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mock/store/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/mock/store/MockDataStore.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/persistency/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/persistency/impl/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/persistency/impl/TestPersistentBase.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/persistency/impl/TestStateManagerImpl.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/query/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/query/impl/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/query/impl/TestPartitionQueryImpl.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/query/impl/TestQueryBase.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/store/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/store/DataStoreTestBase.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/store/DataStoreTestUtil.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/store/TestDataStoreFactory.java
    incubator/gora/trunk/gora-core/src/test/java/org/gora/util/
    incubator/gora/trunk/gora-core/src/test/java/org/gora/util/TestIOUtils.java
    incubator/gora/trunk/gora-hbase/
    incubator/gora/trunk/gora-hbase/build.xml
    incubator/gora/trunk/gora-hbase/conf/
    incubator/gora/trunk/gora-hbase/conf/.gitignore
    incubator/gora/trunk/gora-hbase/ivy/
    incubator/gora/trunk/gora-hbase/ivy/ivy.xml
    incubator/gora/trunk/gora-hbase/lib-ext/
    incubator/gora/trunk/gora-hbase/lib-ext/.gitignore
    incubator/gora/trunk/gora-hbase/lib-ext/hbase-0.20.6-test.jar   (with props)
    incubator/gora/trunk/gora-hbase/lib-ext/hbase-0.20.6.jar   (with props)
    incubator/gora/trunk/gora-hbase/lib-ext/zookeeper-3.2.2.jar   (with props)
    incubator/gora/trunk/gora-hbase/src/
    incubator/gora/trunk/gora-hbase/src/examples/
    incubator/gora/trunk/gora-hbase/src/examples/java/
    incubator/gora/trunk/gora-hbase/src/examples/java/.gitignore
    incubator/gora/trunk/gora-hbase/src/main/
    incubator/gora/trunk/gora-hbase/src/main/java/
    incubator/gora/trunk/gora-hbase/src/main/java/org/
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/query/
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/query/HBaseGetResult.java
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/query/HBaseQuery.java
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/query/HBaseResult.java
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/query/HBaseScannerResult.java
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/store/
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/store/HBaseColumn.java
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/store/HBaseMapping.java
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/store/HBaseStore.java
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/util/
    incubator/gora/trunk/gora-hbase/src/main/java/org/gora/hbase/util/HBaseByteInterface.java
    incubator/gora/trunk/gora-hbase/src/test/
    incubator/gora/trunk/gora-hbase/src/test/conf/
    incubator/gora/trunk/gora-hbase/src/test/conf/gora-hbase-mapping.xml
    incubator/gora/trunk/gora-hbase/src/test/conf/hbase-site.xml
    incubator/gora/trunk/gora-hbase/src/test/java/
    incubator/gora/trunk/gora-hbase/src/test/java/org/
    incubator/gora/trunk/gora-hbase/src/test/java/org/gora/
    incubator/gora/trunk/gora-hbase/src/test/java/org/gora/hbase/
    incubator/gora/trunk/gora-hbase/src/test/java/org/gora/hbase/GoraHBaseTestDriver.java
    incubator/gora/trunk/gora-hbase/src/test/java/org/gora/hbase/mapreduce/
    incubator/gora/trunk/gora-hbase/src/test/java/org/gora/hbase/mapreduce/TestHBaseStoreMapReduce.java
    incubator/gora/trunk/gora-hbase/src/test/java/org/gora/hbase/store/
    incubator/gora/trunk/gora-hbase/src/test/java/org/gora/hbase/store/TestHBaseStore.java
    incubator/gora/trunk/gora-sql/
    incubator/gora/trunk/gora-sql/build.xml
    incubator/gora/trunk/gora-sql/conf/
    incubator/gora/trunk/gora-sql/conf/.gitignore
    incubator/gora/trunk/gora-sql/ivy/
    incubator/gora/trunk/gora-sql/ivy/ivy.xml
    incubator/gora/trunk/gora-sql/lib-ext/
    incubator/gora/trunk/gora-sql/lib-ext/.gitignore
    incubator/gora/trunk/gora-sql/src/
    incubator/gora/trunk/gora-sql/src/examples/
    incubator/gora/trunk/gora-sql/src/examples/java/
    incubator/gora/trunk/gora-sql/src/examples/java/.gitignore
    incubator/gora/trunk/gora-sql/src/main/
    incubator/gora/trunk/gora-sql/src/main/java/
    incubator/gora/trunk/gora-sql/src/main/java/org/
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/query/
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/query/SqlQuery.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/query/SqlResult.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/statement/
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/statement/Delete.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/statement/HSqlInsertUpdateStatement.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/statement/InsertStatement.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/statement/InsertUpdateStatement.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/statement/InsertUpdateStatementFactory.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/statement/MySqlInsertUpdateStatement.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/statement/SelectStatement.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/statement/Where.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/store/
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/store/Column.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/store/SqlMapping.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/store/SqlStore.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/store/SqlTypeInterface.java
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/util/
    incubator/gora/trunk/gora-sql/src/main/java/org/gora/sql/util/SqlUtils.java
    incubator/gora/trunk/gora-sql/src/test/
    incubator/gora/trunk/gora-sql/src/test/conf/
    incubator/gora/trunk/gora-sql/src/test/conf/.gitignore
    incubator/gora/trunk/gora-sql/src/test/conf/gora-sql-mapping.xml
    incubator/gora/trunk/gora-sql/src/test/java/
    incubator/gora/trunk/gora-sql/src/test/java/org/
    incubator/gora/trunk/gora-sql/src/test/java/org/gora/
    incubator/gora/trunk/gora-sql/src/test/java/org/gora/sql/
    incubator/gora/trunk/gora-sql/src/test/java/org/gora/sql/GoraSqlTestDriver.java
    incubator/gora/trunk/gora-sql/src/test/java/org/gora/sql/store/
    incubator/gora/trunk/gora-sql/src/test/java/org/gora/sql/store/TestSqlStore.java
    incubator/gora/trunk/ivy/
    incubator/gora/trunk/ivy/ivy-2.1.0.jar   (with props)
    incubator/gora/trunk/ivy/ivy-configurations.xml
    incubator/gora/trunk/ivy/ivysettings.xml

Propchange: incubator/gora/trunk/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Oct  8 21:17:10 2010
@@ -0,0 +1,12 @@
+*~
+.classpath
+.externalToolBuilders
+.project
+.settings
+.git
+.svn
+build
+**/lib/*.jar
+ivy/ivy*.jar
+/conf/*-site.xml
+**/conf/*-site.xml

Added: incubator/gora/trunk/.gitignore
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/.gitignore?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/.gitignore (added)
+++ incubator/gora/trunk/.gitignore Fri Oct  8 21:17:10 2010
@@ -0,0 +1,12 @@
+*~
+.classpath
+.externalToolBuilders
+.project
+.settings
+.git
+.svn
+build
+**/lib/*.jar
+ivy/ivy*.jar
+/conf/*-site.xml
+**/conf/*-site.xml

Added: incubator/gora/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/CHANGES.txt?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/CHANGES.txt (added)
+++ incubator/gora/trunk/CHANGES.txt Fri Oct  8 21:17:10 2010
@@ -0,0 +1,5 @@
+Gora Change Log
+
+Trunk (unreleased changes)
+
+*  INFRA-3038. Initial import of code.

Added: incubator/gora/trunk/LICENSE.txt
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/LICENSE.txt?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/LICENSE.txt (added)
+++ incubator/gora/trunk/LICENSE.txt Fri Oct  8 21:17:10 2010
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.

Added: incubator/gora/trunk/NOTICE.txt
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/NOTICE.txt?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/NOTICE.txt (added)
+++ incubator/gora/trunk/NOTICE.txt Fri Oct  8 21:17:10 2010
@@ -0,0 +1,2 @@
+This product includes software developed by The Apache Software
+Foundation (http://www.apache.org/).

Added: incubator/gora/trunk/README.markdown
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/README.markdown?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/README.markdown (added)
+++ incubator/gora/trunk/README.markdown Fri Oct  8 21:17:10 2010
@@ -0,0 +1,90 @@
+Gora Project
+============
+
+For the latest information about Gora, please visit our website at:
+
+   http://github.com/enis/gora
+
+and the wiki page at:
+
+   http://wiki.github.com/enis/gora/
+
+How to check out project
+------------------------
+
+Gora uses git distributed version tracking. Source code for gora resides in 
+GitHub server. To checkout the code from git use
+
+$ git clone git://github.com/enis/gora.git
+
+adding changes to local repository can be done like
+$ touch first.txt
+$ git add .
+$ git commit -m "added first.txt file" 
+
+then to send the changes(local commits to the server) use
+$git push
+
+to fetch and merge the updates to the server use
+$git pull origin master
+
+
+Building the project
+--------------------
+
+Gora uses ant and ivy as the build tool and dependency manager respectively. 
+Install ant (on debian systems)
+ $ sudo apt-get install ant 
+ivy is downloaded and installed at first build. 
+
+To build the project 
+
+$cd gora
+$ant 
+
+which will build all the modules in the project and deploys the jar files to 
+local ivy repository. To build a specific module, cd to that module and run 
+ant there. 
+
+Gora project uses modular architecture. Each module has its own directory under
+top-level. The gore-core module contains most of the shared code between the modules. 
+
+Dependency management is handled by ivy. Required libraries are specified at 
+ivy.xml files. Default configuration uses the official maven repository. 
+Libraries not found on the maven repository is distributed along the module 
+under lib-ext dir.
+
+Developing with Eclipse
+-----------------------
+
+Gora is a modular project, so every module has to be imported to Eclipse 
+separately. First start with gora-core, File -> New -> Project -> Java Project 
+from Existing Ant Buildfile -> select gora-core/build.xml. Repeat for every 
+module you wish to develop. Also add dependency to the gora-core project. 
+
+Gora development 
+----------------
+
+Gora is currently developed by a small team. The contributers of Gora 
+can be found at http://wiki.github.com/enis/gora/who-we-are
+
+However, we encourage all kinds of help 
+from the community. More information can be found at
+http://wiki.github.com/enis/gora/how-to-contribute
+
+Mailing list
+------------
+Gora mailing list is hosted at google groups. Please direct any questions, feature requests, 
+and project releted announcements to the mailing list.
+
+Current web address:
+http://groups.google.com/group/gora-dev
+
+Current email address:
+gora-dev@googlegroups.com
+
+License
+-------
+
+Gora is provided under Apache License version 2.0. See LICENSE.txt for more details.
+

Added: incubator/gora/trunk/bin/compile-examples.sh
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/bin/compile-examples.sh?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/bin/compile-examples.sh (added)
+++ incubator/gora/trunk/bin/compile-examples.sh Fri Oct  8 21:17:10 2010
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+# resolve links - $0 may be a softlink
+THIS="$0"
+while [ -h "$THIS" ]; do
+  ls=`ls -ld "$THIS"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '.*/.*' > /dev/null; then
+    THIS="$link"
+  else
+    THIS=`dirname "$THIS"`/"$link"
+  fi
+done
+
+# some directories
+THIS_DIR=`dirname "$THIS"`
+GORA_HOME=`cd "$THIS_DIR/.." ; pwd`
+
+MODULE=gora-core
+DIR=$MODULE/src/examples/avro/
+OUTDIR=$MODULE/src/examples/java
+GORA_BIN=$GORA_HOME/bin/gora
+
+for f in `ls $DIR` ; do
+  echo "Compiling $DIR$f"
+  $GORA_BIN compile $DIR$f $OUTDIR 
+done
+

Propchange: incubator/gora/trunk/bin/compile-examples.sh
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/gora/trunk/bin/gora
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/bin/gora?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/bin/gora (added)
+++ incubator/gora/trunk/bin/gora Fri Oct  8 21:17:10 2010
@@ -0,0 +1,118 @@
+#!/bin/bash
+
+##
+# The script to run Java components.
+#
+# Environment Variables
+#
+#   GORA_HEAPSIZE  The maximum amount of heap to use, in MB. 
+#                   Default is 1024.
+#
+#   GORA_OPTS      Extra Java runtime option.
+#
+
+# resolve links - $0 may be a softlink
+THIS="$0"
+while [ -h "$THIS" ]; do
+  ls=`ls -ld "$THIS"`
+  link=`expr "$ls" : '.*-> \(.*\)$'`
+  if expr "$link" : '.*/.*' > /dev/null; then
+    THIS="$link"
+  else
+    THIS=`dirname "$THIS"`/"$link"
+  fi
+done
+
+# if no args specified, show usage
+if [ $# = 0 ]; then
+  echo "Usage: run COMMAND [COMMAND options]"
+  echo "where COMMAND is one of:"
+  echo "  compile                    Run Compiler"
+  echo "  specificcompiler           Run Avro Specific Compiler"
+  echo " or"
+  echo " MODULE CLASSNAME   run the class named CLASSNAME in module MODULE"
+  echo "Most commands print help when invoked w/o parameters."
+  exit 1
+fi
+
+# get arguments
+COMMAND=$1
+shift
+
+# some directories
+THIS_DIR=`dirname "$THIS"`
+GORA_HOME=`cd "$THIS_DIR/.." ; pwd`
+
+if [ -f "${GORA_HOME}/conf/gora-env.sh" ]; then
+  . "${GORA_HOME}/conf/gora-env.sh"
+fi
+
+if [ "$JAVA_HOME" = "" ]; then
+  echo "Error: JAVA_HOME is not set."
+  exit 1
+fi
+
+JAVA=$JAVA_HOME/bin/java
+JAVA_HEAP_MAX=-Xmx1024m 
+
+# check envvars which might override default args
+if [ "$GORA_HEAPSIZE" != "" ]; then
+  #echo "run with heapsize $GORA_HEAPSIZE"
+  JAVA_HEAP_MAX="-Xmx""$GORA_HEAPSIZE""m"
+  #echo $JAVA_HEAP_MAX
+fi
+
+# CLASSPATH initially contains $GORA_CONF_DIR, or defaults to $GORA_HOME/conf
+CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
+
+# so that filenames w/ spaces are handled correctly in loops below
+IFS=
+
+# restore ordinary behaviour
+unset IFS
+
+# default log directory & file
+if [ "$GORA_LOG_DIR" = "" ]; then
+  GORA_LOG_DIR="$GORA_HOME/logs"
+fi
+if [ "$GORA_LOGFILE" = "" ]; then
+  GORA_LOGFILE='gora.log'
+fi
+
+if [ "x$JAVA_LIBRARY_PATH" != "x" ]; then
+  JAVA_OPTS="$JAVA_OPTS -Djava.library.path=$JAVA_LIBRARY_PATH"
+fi
+
+#GORA_OPTS="$GORA_OPTS -Dhadoop.log.dir=$GORA_LOG_DIR"
+#GORA_OPTS="$GORA_OPTS -Dhadoop.log.file=$GORA_LOGFILE"
+
+# figure out which class to run
+if [ "$COMMAND" = "compile" ] ; then
+  CLASS=org.gora.compiler.GoraCompiler
+  MODULE=gora-core
+elif [ "$COMMAND" = "specificcompiler" ] ; then
+  CLASS=org.apache.avro.specific.SpecificCompiler
+  MODULE=gora-core
+else
+  MODULE="$COMMAND"
+  CLASS=$1
+  shift
+fi
+
+# add libs to CLASSPATH
+for f in $GORA_HOME/$MODULE/lib/*.jar; do
+  CLASSPATH=${CLASSPATH}:$f;
+done
+
+for f in $GORA_HOME/$MODULE/build/*.job; do
+  CLASSPATH=${CLASSPATH}:$f;
+done
+
+CLASSPATH=$CLASSPATH:$GORA_HOME/$MODULE/build/classes
+CLASSPATH=${CLASSPATH}:$GORA_HOME/$MODULE/build/test/classes
+
+CLASSPATH=$CLASSPATH:$GORA_HOME/conf
+CLASSPATH=$CLASSPATH:$GORA_HOME/$MODULE/conf
+
+# run it
+exec "$JAVA" $JAVA_HEAP_MAX $JAVA_OPTS $GORA_OPTS -classpath "$CLASSPATH" $CLASS "$@"

Propchange: incubator/gora/trunk/bin/gora
------------------------------------------------------------------------------
    svn:executable = *

Added: incubator/gora/trunk/build-common.xml
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/build-common.xml?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/build-common.xml (added)
+++ incubator/gora/trunk/build-common.xml Fri Oct  8 21:17:10 2010
@@ -0,0 +1,399 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="gora-common" xmlns:ivy="antlib:org.apache.ivy.ant">
+
+  <property name="version" value="0.1" />
+  <property name="final.name" value="${ant.project.name}-${version}" />
+  <property name="year" value="2008" />
+  <property name="module.version.target" value="${version}" />
+  <property name="module.name" value="${ant.project.name}-${version}"/>
+	
+  <!-- Load all the default properties, and any the user wants    -->
+  <!-- to contribute (without having to type -D or edit this file -->
+  <property file="${user.home}/build.properties" />
+  <property file="${basedir}/build.properties" />
+  <property file="${basedir}/default.properties" />
+	
+  <property name="project.dir" value="${basedir}/.."/>
+  <property name="lib.dir" value="${basedir}/lib" />
+  <property name="lib-ext.dir" value="${basedir}/lib-ext" />
+  <property name="build.dir" value="${basedir}/build" />
+  <property name="build.classes.dir" value="${build.dir}/classes" />
+  <property name="src.dir" value="${basedir}/src/main/java" />
+  <property name="conf.dir" value="${basedir}/conf" />
+  <property name="jar.file" value="${build.dir}/${module.name}.jar" />
+  <property name="job.file" value="${build.dir}/${module.name}.job" />
+  <property name="dist.dir" value="${build.dir}/${final.name}" />
+  
+  <property name="examples.src.dir" value="${basedir}/src/examples/java" />
+  <property name="examples.build.dir" value="${build.dir}/examples" />
+  <property name="examples.build.classes.dir" value="${examples.build.dir}/classes" />
+  
+  <property name="test.src.dir" value="${basedir}/src/test/java" />
+  <property name="test.conf.dir" value="${basedir}/src/test/conf" />
+  <property name="test.build.dir" value="${build.dir}/test" />
+  <property name="test.build.data" value="${test.build.dir}/data" />
+  <property name="test.build.classes.dir" value="${test.build.dir}/classes" />
+  <property name="test.jar.file" value="${build.dir}/${ant.project.name}-test-${version}.jar" />
+  <property name="test.lib.dir" value="${basedir}/src/test/lib"/>
+  <property name="test.log.dir" value="${test.build.dir}/logs"/>
+  <property name="test.include" value="Test*"/>
+  <property name="test.junit.output" value="no"/>
+  <property name="test.junit.timeout" value="3600000"/>
+  <property name="test.junit.output.format" value="plain"/>
+  <property name="test.junit.fork.mode" value="perTest" />
+  <property name="test.junit.printsummary" value="yes" />
+  <property name="test.junit.haltonfailure" value="no" />
+  <property name="test.junit.maxmemory" value="512m" />
+
+  <property name="build.encoding" value="UTF-8" />
+  <property name="javac.debug" value="on" />
+  <property name="javac.optimize" value="on" />
+  <property name="javac.deprecation" value="off" />
+  <property name="javac.version" value="1.6" />
+
+
+  <!-- Include project's build file -->
+  <import file="${project.dir}/build.xml"/>
+  <!--<ivy:settings file="${basedir}/ivy/ivysettings.xml" />-->
+
+  <!-- ====================================================== -->
+  <!-- path: classpath                                        -->
+  <!-- ====================================================== -->
+  <path id="classpath">
+    <pathelement location="${build.classes.dir}"/>
+    <pathelement location="${conf.dir}"/>
+    <fileset dir="${lib.dir}">
+      <include name="*.jar" />
+    </fileset>
+  </path>
+
+  <!-- the unit test classpath: uses test.src.dir for configuration -->
+  <path id="test.classpath">
+    <pathelement location="${examples.build.classes.dir}"/>
+    <pathelement location="${conf.dir}"/>
+    <pathelement location="${test.build.classes.dir}" />
+    <pathelement location="${test.src.dir}"/>
+    <pathelement location="${build.dir}"/>
+    <pathelement location="${test.conf.dir}"/>
+    <path refid="classpath"/>
+  </path>
+
+
+  <!-- ====================================================== -->
+  <!-- target: init                                           -->
+  <!-- ====================================================== -->
+  <target name="init" depends="ivy-init">
+    <mkdir dir="${build.dir}"/>
+    <mkdir dir="${build.classes.dir}"/>
+    
+    <mkdir dir="${examples.build.dir}"/>
+    <mkdir dir="${examples.build.classes.dir}"/>
+
+    <mkdir dir="${test.build.dir}"/>
+    <mkdir dir="${test.build.classes.dir}"/>
+
+    <copy todir="${conf.dir}" verbose="true" failonerror="false">
+      <fileset dir="${conf.dir}" includes="**/*.template"/>
+      <mapper type="glob" from="*.template" to="*"/>
+    </copy>
+  </target>
+
+  <!-- ====================================================== -->
+  <!-- target: compile                                        -->
+  <!-- ====================================================== -->
+  <target name="compile" depends="init, resolve">
+    <javac 
+        encoding="${build.encoding}" 
+        srcdir="${src.dir}"
+        includes="**/*.java"
+        destdir="${build.classes.dir}"
+        debug="${javac.debug}"
+        optimize="${javac.optimize}"
+        target="${javac.version}"
+        source="${javac.version}"
+        deprecation="${javac.deprecation}">
+      <classpath refid="classpath"/>
+    </javac>
+  </target>
+
+  <!-- ====================================================== -->
+  <!-- target: compile-examples                               -->
+  <!-- ====================================================== -->
+  <target name="compile-examples" depends="compile">
+    <javac 
+        encoding="${build.encoding}" 
+        srcdir="${examples.src.dir}"
+        includes="**/*.java"
+        destdir="${examples.build.classes.dir}"
+        debug="${javac.debug}"
+        optimize="${javac.optimize}"
+        target="${javac.version}"
+        source="${javac.version}"
+        deprecation="${javac.deprecation}">
+      <classpath refid="classpath"/>
+    </javac>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: compile-test                                               -->
+  <!-- ================================================================== -->
+  <target name="compile-test" depends="compile-examples, resolve-test">
+    <javac 
+         encoding="${build.encoding}" 
+         srcdir="${test.src.dir}"
+         includes="**/*.java"
+         destdir="${test.build.classes.dir}"
+         debug="${javac.debug}"
+         optimize="${javac.optimize}"
+         target="${javac.version}"
+         source="${javac.version}"
+         deprecation="${javac.deprecation}">
+      <classpath refid="test.classpath"/>
+    </javac>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: jar                                                        -->
+  <!-- ================================================================== -->
+  <target name="jar" depends="compile, version" description="--> make a jar file for this project">
+    <jar destfile="${jar.file}">
+      <fileset dir="${build.classes.dir}" />
+      <!--<zipfileset dir="${conf.dir}" excludes="*.template"/>-->
+      <manifest>
+        <attribute name="Built-By" value="${user.name}"/>
+        <attribute name="Build-Version" value="${version}" />
+      </manifest>
+    </jar>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: test-jar                                                   -->
+  <!-- ================================================================== -->
+  <target name="test-jar" depends="version, compile-test, jar" description="--> make a jar file for this project">
+    <jar destfile="${test.jar.file}">
+      <fileset dir="${examples.build.classes.dir}" />
+      <fileset dir="${test.build.classes.dir}" />
+      <fileset dir="${test.conf.dir}" excludes="*.template" />
+      <!--<zipfileset dir="${conf.dir}" excludes="*.template"/>-->
+      <manifest>
+        <attribute name="Built-By" value="${user.name}"/>
+        <attribute name="Build-Version" value="${version}" />
+      </manifest>
+    </jar>
+  </target>
+
+  <target name="jar-snapshot" description="copies the jar files to append timestamp to artifact name">
+    <tstamp>
+      <format property="now" pattern="yyyyMMddHHmmss"/>
+    </tstamp>
+    <copy file="${jar.file}" tofile="${build.dir}/${module.name}-${now}.jar"/>
+    <echo message="New snapshot jar file copied to ${build.dir}/${module.name}-${now}.jar"/>
+  </target>
+
+  <target name="test-jar-snapshot" description="copies the jar files to append timestamp to artifact name">
+    <tstamp>
+      <format property="now" pattern="yyyyMMddHHmmss"/>
+    </tstamp>
+    <copy file="${jar.file}" tofile="${build.dir}/${module.name}-${now}.jar"/>
+    <copy file="${test.jar.file}" tofile="${build.dir}/${ant.project.name}-test-${version}-${now}.jar"/>
+
+    <echo message="New snapshot jar file copied to ${build.dir}/${module.name}-${now}.jar"/>
+    <echo message="New snapshot jar file copied to ${build.dir}/${ant.project.name}-test-${version}-${now}.jar"/>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: job                                                        -->
+  <!-- ================================================================== -->
+  <target name="job" depends="compile" description="--> make a job file for running on hadoop">
+    <jar destfile="${job.file}">
+      <fileset dir="${build.classes.dir}" />
+      <zipfileset dir="conf" excludes="*.template" />
+      <zipfileset dir="${lib.dir}" prefix="lib" includes="**/*.jar" excludes="hadoop-*.jar" followsymlinks="true"/>
+      <zipfileset dir="${lib.dir}" prefix="lib" includes="hadoop-gpl-compression*.jar" followsymlinks="true"/>
+      <manifest>
+        <attribute name="Built-By" value="${user.name}" />
+        <attribute name="Build-Version" value="${version}" />
+      </manifest>
+    </jar>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: test                                                       -->
+  <!-- ================================================================== -->
+  <target name="test" depends="compile-test" description="Run core unit tests">
+
+    <delete dir="${test.build.data}"/>
+    <mkdir dir="${test.build.data}"/>
+    <delete dir="${test.log.dir}"/>
+    <mkdir dir="${test.log.dir}"/>
+    <junit showoutput="${test.junit.output}"
+      printsummary="${test.junit.printsummary}"
+      haltonfailure="${test.junit.haltonfailure}"
+      fork="yes"
+      forkmode="${test.junit.fork.mode}"
+      maxmemory="${test.junit.maxmemory}"
+      dir="${basedir}" timeout="${test.junit.timeout}"
+      errorProperty="tests.failed" failureProperty="tests.failed">
+      <sysproperty key="test.build.data" value="${test.build.data}"/>
+      <sysproperty key="hadoop.log.dir" value="${test.log.dir}"/>
+      <classpath refid="test.classpath"/>
+      <formatter type="${test.junit.output.format}" />
+      <batchtest todir="${test.build.dir}" unless="testcase">
+        <fileset dir="${test.src.dir}"
+                 includes="**/${test.include}.java"
+                 excludes="**/${test.exclude}.java" />
+      </batchtest>
+      <batchtest todir="${test.build.dir}" if="testcase">
+        <fileset dir="${test.src.dir}" includes="**/${testcase}.java"/>
+      </batchtest>
+    </junit>
+    <fail if="tests.failed">Tests failed!</fail>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: resolve                                                    -->
+  <!-- ================================================================== -->
+  <target name="resolve" depends="clean-lib" description="--> resolve and retrieve dependencies with ivy">
+    <mkdir dir="${lib.dir}"/> <!-- not usually necessary, ivy creates the directory IF there are dependencies -->
+    	
+    <!-- the call to resolve is not mandatory, retrieve makes an implicit call if we don't -->
+    <ivy:resolve file="${ivy.dir}/${ivy.file}" conf="compile" log="download-only"/>
+    <ivy:retrieve pattern="${lib.dir}/[artifact]-[revision].[ext]" symlink="true" log="quiet" conf="compile"/>
+
+    <!-- copy the libs in lib-ext, which are not ivy enabled, should change in the future -->
+    <copy todir="${lib.dir}/" failonerror="false">
+      <fileset dir="${lib-ext.dir}" includes="**/*.jar"/>
+    </copy>
+  </target>
+   
+  <!-- ================================================================== -->
+  <!-- target: resolve-test                                               -->
+  <!-- ================================================================== -->
+  <target name="resolve-test" depends="clean-lib" description="--> resolve and retrieve dependencies with ivy">
+    <mkdir dir="${lib.dir}"/> <!-- not usually necessary, ivy creates the directory IF there are dependencies -->
+
+    <!-- the call to resolve is not mandatory, retrieve makes an implicit call if we don't -->
+    <ivy:resolve file="${ivy.dir}/${ivy.file}" conf="test" log="download-only"/>
+    <ivy:retrieve pattern="${lib.dir}/[artifact]-[revision].[ext]" symlink="true" log="quiet" conf="test"/>
+
+    <!-- copy the libs in lib-ext, which are not ivy enabled, should change in the future -->
+    <copy todir="${lib.dir}/" failonerror="false">
+      <fileset dir="${lib-ext.dir}" includes="**/*.jar"/>
+    </copy>
+  </target>	 
+
+  <!-- ================================================================== -->
+  <!-- target: report                                                     -->
+  <!-- ================================================================== -->
+  <target name="report" depends="resolve" description="--> generates a report of dependencies">
+    <ivy:report todir="${build.dir}"/>
+  </target>
+        
+
+  <!-- ================================================================== -->
+  <!-- target: ivy-new-version                                            -->
+  <!-- ================================================================== -->
+  <target name="ivy-new-version" depends="" unless="ivy.new.revision">
+    <!-- default module version prefix value -->
+    <property name="module.version.prefix" value="${module.version.target}-dev-b" />
+	
+    <!-- asks to ivy an available version number -->
+    <ivy:info file="${ivy.dir}/${ivy.file}" />
+      <ivy:buildnumber organisation="${ivy.organisation}" module="${ivy.module}"
+                       revision="${module.version.prefix}" defaultBuildNumber="1" revSep=""/>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: local-version                                              -->
+  <!-- ================================================================== -->
+  <target name="local-version">
+    <tstamp>
+      <format property="now" pattern="yyyyMMddHHmmss"/>
+    </tstamp>
+    <property name="ivy.new.revision" value="${module.version.target}-local-${now}"/>
+  </target>	
+
+  <!-- ================================================================== -->
+  <!-- target: version                                                    -->
+  <!-- ================================================================== -->
+  <target name="version" depends="ivy-new-version">
+    <!-- create version file in classpath for later inclusion in jar -->
+    <mkdir dir="${build.classes.dir}"/>
+    <echo message="version=${ivy.new.revision}" file="${build.classes.dir}/${ant.project.name}.properties" append="false" />
+
+    <!-- load generated version properties file -->
+    <property file="${classes.dir}/${ant.project.name}.properties" />
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: publish                                                    -->
+  <!-- ================================================================== -->
+   <target name="publish" depends="version, clean-build, jar" description="--> publish this project in the ivy repository">
+     <ivy:publish artifactspattern="${build.dir}/[artifact].[ext]" 
+                  resolver="shared" 
+                  pubrevision="${version}" 
+                  status="release"/>
+
+     <echo message="project ${ant.project.name} released with version ${version}" />
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: publish-local                                              -->
+  <!-- ================================================================== -->
+  <target name="publish-local" depends="local-version, jar" description="--> publish this project in the local ivy repository">
+    <ivy:publish artifactspattern="${build.dir}/[artifact]-${version}.[ext]" 
+    			        resolver="local"
+    			        pubrevision="${version}"
+				pubdate="${now}"
+    			        status="integration"
+    				forcedeliver="true"
+    				overwrite="true"
+                                conf="compile"
+    	/>
+    <echo message="project ${ant.project.name} published locally with version ${version}" />
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: publish-local-test                                         -->
+  <!-- ================================================================== -->
+  <target name="publish-local-test" depends="local-version, test-jar" description="--> publish this project in the local ivy repository">
+    <ivy:publish artifactspattern="${build.dir}/[artifact]-${version}.[ext]"
+                                resolver="local"
+                                pubrevision="${version}"
+                                pubdate="${now}"
+                                status="integration"
+                                forcedeliver="true"
+                                overwrite="true"
+        />
+    <echo message="project ${ant.project.name} published locally with version ${version}" />
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: clean-local                                                -->
+  <!-- ================================================================== -->
+  <target name="clean-local" depends="" description="--> cleans the local repository for the current module">
+    <ivy:info file="${ivy.dir}/${ivy.file}" />
+      <delete dir="${ivy.local.default.root}/${ivy.organisation}/${ivy.module}"/>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: clean-lib                                                  -->
+  <!-- ================================================================== -->
+  <target name="clean-lib" description="--> clean the project libraries directory (dependencies)">
+    <delete includeemptydirs="true" dir="${lib.dir}"/>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: clean-build                                                -->
+  <!-- ================================================================== -->
+  <target name="clean-build" description="--> clean the project built files">
+    <delete includeemptydirs="true" dir="${build.dir}"/>
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- target: clean                                                      -->
+  <!-- ================================================================== -->
+  <target name="clean" depends="clean-build, clean-lib" description="--> clean the project" />
+
+</project>

Added: incubator/gora/trunk/build.xml
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/build.xml?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/build.xml (added)
+++ incubator/gora/trunk/build.xml Fri Oct  8 21:17:10 2010
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="gora" default="publish-local-all" 
+  xmlns:ivy="antlib:org.apache.ivy.ant">
+  
+  <property name="project.dir" value="${basedir}"/>
+
+  <!-- Load all the default properties, and any the user wants    -->
+  <!-- to contribute (without having to type -D or edit this file -->
+  <property file="${user.home}/build.properties" />
+  <property file="${basedir}/build.properties" />
+  <property file="${basedir}/default.properties" />
+  
+  <!-- setup ivy default configuration with some custom info -->
+  <property name="ivy.file" value="ivy.xml" />
+  <property name="ivy.version" value="2.1.0" />
+  <property name="ivy.dir" value="${basedir}/ivy" />
+  <property name="project.ivy.dir" value="${project.dir}/ivy" />
+  <property name="ivy.jar" location="${project.ivy.dir}/ivy-${ivy.version}.jar" />
+  <property name="ivy.repo.url" value="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar" />
+
+  <property name="ivy.local.default.root" value="${ivy.default.ivy.user.dir}/local" />
+  <property name="ivy.local.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" />
+  <property name="ivy.local.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" />
+
+  <property name="ivy.shared.default.root" value="${ivy.default.ivy.user.dir}/shared" />
+  <property name="ivy.shared.default.ivy.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" />
+  <property name="ivy.shared.default.artifact.pattern" value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" />
+
+  <!-- target: init  ================================================ -->
+  <target name="init" depends="ivy-init">
+    <chmod dir="bin" perm="ugo+rx" includes="*.sh, gora"/>
+  </target>
+
+  <!-- target: -buildlist  ================================================ -->    
+  <target name="-buildlist" depends="init">
+    <ivy:buildlist reference="build-path" ivyfilepath="ivy/${ivy.file}">
+      <fileset dir="." includes="**/build.xml" excludes="build.xml"/>
+    </ivy:buildlist>
+  </target>
+  
+  <target name="compile" depends="-buildlist">
+    <subant target="compile" buildpathref="build-path" />
+  </target>
+
+  <target name="jar" depends="-buildlist">
+    <subant target="jar" buildpathref="build-path" />
+  </target>
+
+  <target name="jar-snapshot" depends="-buildlist, jar" description="copies the jar files to append timestamp to artifact name">
+    <subant target="jar-snapshot" buildpathref="build-path" />
+  </target>
+
+  <target name="compile-test" depends="publish-local-all-test">
+  </target>
+
+  <target name="test-jar" depends="publish-local-all-test"/>
+
+  <target name="test-jar-snapshot" depends="test-jar" description="copies the jar files to append timestamp to artifact name">
+    <subant target="test-jar-snapshot" buildpathref="build-path" />
+  </target>
+
+  <target name="test" depends="publish-local-all-test">
+    <subant target="test" buildpathref="build-path" />
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Publish Targets                                                    --> 
+  <!-- ================================================================== -->
+
+  <!-- target: publish-local-all  ========================================== --> 
+  <target name="publish-local-all" depends="-buildlist"
+                           description="publish the projects to local ivy repo">
+    <subant target="publish-local" buildpathref="build-path" />
+  </target>
+  
+  <!-- target: publish-local-all-test  ===================================== --> 
+  <target name="publish-local-all-test" depends="-buildlist"
+                           description="publish the projects test jars to local ivy repo">
+    <subant target="publish-local-test" buildpathref="build-path" />
+  </target>
+
+  <!-- target: publish-all  ================================================ -->
+  <target name="publish-all" depends="-buildlist" 
+  			description="compile, jar and publish all projects in the right order">
+    <subant target="publish" buildpathref="build-path" />
+  </target>
+
+  <!-- ================================================================== -->
+  <!-- Clean Targets                                                      --> 
+  <!-- ================================================================== -->
+
+  <!-- target: clean-all  ================================================ -->
+  <target name="clean-all" depends="-buildlist" description="clean all projects">
+    <subant target="clean" buildpathref="build-path" />
+  </target>
+
+  <!-- target: clean  ================================================ -->  
+  <target name="clean" depends="clean-all" 
+  			description="clean all projects">
+  </target>
+
+  <!-- target: clean-cache  ================================================ -->  
+  <target name="clean-cache" depends="" 
+  			description="delete ivy cache">
+    <ivy:cleancache />
+  </target>
+  
+  <!-- ================================================================== -->
+  <!-- Ivy Targets                                                        --> 
+  <!-- ================================================================== -->
+  
+  <!-- target: ivy-init  ================================================ -->
+  <target name="ivy-init" depends="ivy-probe-antlib, ivy-init-antlib">
+    <ivy:settings file="${project.ivy.dir}/ivysettings.xml" />
+  </target>
+  
+  <!-- target: ivy-probe-antlib  ======================================== -->
+  <target name="ivy-probe-antlib">
+    <condition property="ivy.found">
+      <typefound uri="antlib:org.apache.ivy.ant" name="cleancache" />
+    </condition>
+  </target>
+
+  <!-- target: ivy-download  ============================================ -->
+  <target name="ivy-download" description="Download ivy">
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="-ivy-download-unchecked"/>
+  </target>
+
+  <!-- target: ivy-download-unchecked  ================================== -->
+  <target name="-ivy-download-unchecked" unless="ivy.jar.found">
+    <get src="${ivy.repo.url}" dest="${ivy.jar}" usetimestamp="true" />
+  </target>
+
+  <!-- target: ivy-init-antlib  ========================================= -->
+  <target name="ivy-init-antlib" depends="ivy-download" unless="ivy.found">
+    <typedef uri="antlib:org.apache.ivy.ant" onerror="fail" loaderRef="ivyLoader">
+      <classpath>
+        <pathelement location="${ivy.jar}" />
+      </classpath>
+    </typedef>
+    <fail>
+      <condition>
+        <not>
+          <typefound uri="antlib:org.apache.ivy.ant" name="cleancache" />
+        </not>
+      </condition>
+      You need Apache Ivy 2.0 or later from http://ant.apache.org/
+      It could not be loaded from ${ivy.repo.url}
+    </fail>
+  </target>
+  
+</project>

Added: incubator/gora/trunk/conf/log4j.properties
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/conf/log4j.properties?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/conf/log4j.properties (added)
+++ incubator/gora/trunk/conf/log4j.properties Fri Oct  8 21:17:10 2010
@@ -0,0 +1,43 @@
+gora.root.logger=INFO,console
+gora.log.dir=.
+gora.log.file=gora.log
+
+log4j.rootLogger=${gora.root.logger}
+
+# Define some default values that can be overridden by system properties
+# Logging Threshold
+log4j.threshhold=WARN
+
+#
+# Daily Rolling File Appender
+#
+log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.DRFA.File=${gora.log.dir}/${gora.log.file}
+
+# Rollver at midnight
+log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
+
+# 30-day backup
+log4j.appender.DRFA.MaxBackupIndex=30
+log4j.appender.DRFA.layout=org.apache.log4j.PatternLayout
+
+# Pattern format: Date LogLevel LoggerName LogMessage
+log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %p %c: %m%n
+# Debugging Pattern format
+#log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p %c{2} (%F:%M(%L)) - %m%n
+
+
+#
+# console
+# Add "console" to rootlogger above if you want to use this 
+#
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.target=System.err
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+#log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n
+log4j.appender.console.layout.ConversionPattern=%-5p %-30.30c{2} - %m%n
+# Custom Logging levels
+
+log4j.logger.net.sf.jml=WARN
+log4j.logger.org.apache=WARN
+log4j.org.gora=INFO

Added: incubator/gora/trunk/docs/.gitignore
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/docs/.gitignore?rev=1006024&view=auto
==============================================================================
    (empty)

Added: incubator/gora/trunk/gora-cassandra/build.xml
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/build.xml?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/gora-cassandra/build.xml (added)
+++ incubator/gora/trunk/gora-cassandra/build.xml Fri Oct  8 21:17:10 2010
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="gora-cassandra" default="compile">
+  <property name="project.dir" value="${basedir}/.."/>
+
+  <import file="${project.dir}/build-common.xml"/>
+</project>

Added: incubator/gora/trunk/gora-cassandra/ivy/ivy.xml
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/ivy/ivy.xml?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/gora-cassandra/ivy/ivy.xml (added)
+++ incubator/gora/trunk/gora-cassandra/ivy/ivy.xml Fri Oct  8 21:17:10 2010
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+
+<ivy-module version="2.0">
+    <info 
+      organisation="org.gora"
+      module="gora-cassandra"
+      status="integration"/>
+
+  <configurations>
+    <include file="${project.dir}/ivy/ivy-configurations.xml"/>
+  </configurations>
+  
+  <publications>
+    <artifact name="gora-cassandra" conf="compile"/>
+    <artifact name="gora-cassandra-test" conf="test"/>
+  </publications>
+
+  <dependencies>
+    <!-- conf="*->@" means every conf is mapped to the conf of the same name of the artifact-->
+    <dependency org="org.gora" name="gora-core" rev="latest.integration" changing="true" conf="*->@"/> 
+    <dependency org="org.jdom" name="jdom" rev="1.1" conf="*->master"/>
+
+    <dependency org="org.slf4j" name="slf4j-jdk14" rev="1.5.8" conf="*->master"/>
+    <dependency org="org.slf4j" name="slf4j-api" rev="1.5.8" conf="*->master"/>
+
+    <dependency org="com.google.guava" name="guava" rev="r06"/>
+
+    <!-- test dependencies -->
+
+  </dependencies>
+    
+</ivy-module>
+

Added: incubator/gora/trunk/gora-cassandra/lib-ext/apache-cassandra-0.6.4.jar
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/lib-ext/apache-cassandra-0.6.4.jar?rev=1006024&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/gora/trunk/gora-cassandra/lib-ext/apache-cassandra-0.6.4.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/gora/trunk/gora-cassandra/lib-ext/libthrift-r917130.jar
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/lib-ext/libthrift-r917130.jar?rev=1006024&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/gora/trunk/gora-cassandra/lib-ext/libthrift-r917130.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/gora/trunk/gora-cassandra/src/examples/java/.gitignore
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/src/examples/java/.gitignore?rev=1006024&view=auto
==============================================================================
    (empty)

Added: incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/CassandraClient.java
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/CassandraClient.java?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/CassandraClient.java (added)
+++ incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/CassandraClient.java Fri Oct  8 21:17:10 2010
@@ -0,0 +1,37 @@
+package org.gora.cassandra.client;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.cassandra.thrift.ConsistencyLevel;
+import org.apache.cassandra.thrift.TokenRange;
+
+public interface CassandraClient {
+
+  public void setKeySpace(String keySpace);
+
+  public void setConsistencyLevel(ConsistencyLevel level);
+
+  public Row get(String key, Select select) throws IOException;
+
+  public RowIterable getRange(String startKey, String endKey, int rowCount,
+      Select select)
+  throws IOException;
+
+  public RowIterable getTokenRange(String startToken, String endToken,
+      int rowCount, Select select)
+  throws IOException;
+
+  public void mutate(String key, Mutate mutation) throws IOException;
+
+  public Map<String, Map<String, String>> describeKeySpace()
+  throws IOException;
+
+  public List<TokenRange> describeRing() throws IOException;
+
+  public List<String> describeSplits(String startToken, String endToken, int size)
+  throws IOException;
+
+  public void close();
+}

Added: incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Mutate.java
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Mutate.java?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Mutate.java (added)
+++ incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Mutate.java Fri Oct  8 21:17:10 2010
@@ -0,0 +1,122 @@
+package org.gora.cassandra.client;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.cassandra.thrift.Column;
+import org.apache.cassandra.thrift.ColumnOrSuperColumn;
+import org.apache.cassandra.thrift.Deletion;
+import org.apache.cassandra.thrift.Mutation;
+import org.apache.cassandra.thrift.SlicePredicate;
+import org.apache.cassandra.thrift.SliceRange;
+import org.apache.cassandra.thrift.SuperColumn;
+import org.gora.util.ByteUtils;
+
+public class Mutate {
+  private Map<String, List<Mutation>> mutationMap;
+
+  public Mutate() {
+    mutationMap = new HashMap<String, List<Mutation>>();
+  }
+
+  private void addToMutationMap(String columnFamily, Mutation mutation) {
+    List<Mutation> mutationList = mutationMap.get(columnFamily);
+    if (mutationList == null) {
+      mutationList = new ArrayList<Mutation>();
+      mutationMap.put(columnFamily, mutationList);
+    }
+    mutationList.add(mutation);
+  }
+
+  public Mutate put(String columnFamily, String columnName,
+      byte[] value) {
+    return put(columnFamily, columnName, value, System.currentTimeMillis());
+  }
+
+  public Mutate put(String columnFamily, String columnName,
+      byte[] value, long timestamp) {
+
+    Mutation mutation = new Mutation();
+    ColumnOrSuperColumn csc = new ColumnOrSuperColumn();
+    csc.column = new Column(ByteUtils.toBytes(columnName), value, timestamp);
+    mutation.setColumn_or_supercolumn(csc);
+    addToMutationMap(columnFamily, mutation);
+
+    return this;
+  }
+
+  public Mutate put(String superColumnFamily, String superColumnName,
+      String columnName, byte[] value) {
+    return put(superColumnFamily, superColumnName, columnName, value,
+        System.currentTimeMillis());
+  }
+
+  public Mutate put(String superColumnFamily, String superColumnName,
+      String columnName, byte[] value, long timestamp) {
+
+    Mutation mutation = new Mutation();
+    ColumnOrSuperColumn csc = new ColumnOrSuperColumn();
+    csc.super_column = new SuperColumn();
+    csc.super_column.name = ByteUtils.toBytes(superColumnName);
+    // TODO: This will probably be slow. Try to group all columns
+    // under a supercolumn within a single mutation object
+    csc.super_column.addToColumns(
+        new Column(ByteUtils.toBytes(columnName), value, timestamp));
+    mutation.setColumn_or_supercolumn(csc);
+    addToMutationMap(superColumnFamily, mutation);
+
+    return this;
+  }
+
+  public Mutate deleteAll(String columnFamily) {
+    Deletion deletion = new Deletion();
+    deletion.setTimestamp(Long.MAX_VALUE); //TODO: check this
+    deletion.predicate = new SlicePredicate();
+    SliceRange sliceRange =
+      new SliceRange(new byte[0], new byte[0], false, Integer.MAX_VALUE);
+    deletion.predicate.slice_range = sliceRange;
+    Mutation mutation = new Mutation();
+    mutation.deletion = deletion;
+    addToMutationMap(columnFamily, mutation);
+    return this;
+  }
+
+
+  public Mutate delete(String columnFamily, String columnName) {
+    Deletion deletion = new Deletion().setTimestamp(Long.MAX_VALUE);
+    // TODO: This will also probably be slow. Try to group
+    // deletes together
+    deletion.predicate = new SlicePredicate();
+    deletion.predicate.addToColumn_names(ByteUtils.toBytes(columnName));
+
+    Mutation mutation = new Mutation();
+    mutation.deletion = deletion;
+    addToMutationMap(columnFamily, mutation);
+    return this;
+  }
+
+  public Mutate delete(String superColumnFamily, String superColumnName,
+      String columnName) {
+    Deletion deletion = new Deletion().setTimestamp(Long.MAX_VALUE);
+    // TODO: This will also probably be slow. Try to group
+    // deletes together
+    deletion.predicate = new SlicePredicate();
+    deletion.super_column = ByteUtils.toBytes(superColumnName);
+    deletion.predicate.addToColumn_names(ByteUtils.toBytes(columnName));
+
+    Mutation mutation = new Mutation();
+    mutation.deletion = deletion;
+    addToMutationMap(superColumnFamily, mutation);
+    return this;
+  }
+
+  /*package*/ Map<String, List<Mutation>> getMutationMap() {
+    return mutationMap;
+  }
+  
+  public boolean isEmpty() {
+    return mutationMap.isEmpty();
+  }
+}

Added: incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Pair.java
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Pair.java?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Pair.java (added)
+++ incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Pair.java Fri Oct  8 21:17:10 2010
@@ -0,0 +1,15 @@
+package org.gora.cassandra.client;
+
+/*package*/ class Pair<V1, V2> {
+  V1 v1;
+  V2 v2;
+
+  Pair(V1 v1, V2 v2) {
+    this.v1 = v1;
+    this.v2 = v2;
+  }
+
+  V1 getFirst() { return v1; }
+
+  V2 getSecond() { return v2; }
+}

Added: incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/RangeSliceGet.java
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/RangeSliceGet.java?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/RangeSliceGet.java (added)
+++ incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/RangeSliceGet.java Fri Oct  8 21:17:10 2010
@@ -0,0 +1,40 @@
+package org.gora.cassandra.client;
+
+import java.util.List;
+import java.util.concurrent.Callable;
+
+import org.apache.cassandra.thrift.Cassandra;
+import org.apache.cassandra.thrift.ColumnParent;
+import org.apache.cassandra.thrift.ConsistencyLevel;
+import org.apache.cassandra.thrift.KeyRange;
+import org.apache.cassandra.thrift.KeySlice;
+import org.apache.cassandra.thrift.SlicePredicate;
+
+public class RangeSliceGet
+implements Callable<Pair<ColumnParent, List<KeySlice>>> {
+
+  private Cassandra.Client client;
+  private String keySpace;
+  private KeyRange keyRange;
+  private ColumnParent parent;
+  private SlicePredicate predicate;
+  private ConsistencyLevel consistencyLevel;
+
+  public RangeSliceGet(Cassandra.Client client, String keySpace, KeyRange keyRange,
+      ColumnParent parent, SlicePredicate predicate,
+      ConsistencyLevel consistencyLevel) {
+    this.client = client;
+    this.keySpace = keySpace;
+    this.keyRange = keyRange;
+    this.parent = parent;
+    this.predicate = predicate;
+    this.consistencyLevel = consistencyLevel;
+  }
+
+  @Override
+  public Pair<ColumnParent, List<KeySlice>> call() throws Exception {
+    return new Pair<ColumnParent, List<KeySlice>>(parent,
+        client.get_range_slices(keySpace, parent, predicate, keyRange, consistencyLevel));
+  }
+
+}

Added: incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Row.java
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Row.java?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Row.java (added)
+++ incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/Row.java Fri Oct  8 21:17:10 2010
@@ -0,0 +1,85 @@
+package org.gora.cassandra.client;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.cassandra.thrift.ColumnOrSuperColumn;
+import org.gora.util.ByteUtils;
+
+public class Row {
+
+  private String key;
+
+  private Map<String, Map<String, Map<String, byte[]>>> data;
+
+  /** this is a placeholder as a "supercolumn" for all normal columns */
+  private static final String EMPTY_COLUMN = "";
+
+  public Row(String key) {
+    this.key = key;
+    data = new HashMap<String, Map<String,Map<String,byte[]>>>();
+  }
+
+  private Map<String, byte[]> getOrCreate(String family, String superColumn) {
+    Map<String, Map<String, byte[]>> familyMap = data.get(family);
+    if (familyMap == null) {
+      familyMap = new HashMap<String, Map<String,byte[]>>();
+      data.put(family, familyMap);
+    }
+    Map<String, byte[]> map = familyMap.get(superColumn);
+    if (map == null) {
+      map = new HashMap<String, byte[]>();
+      familyMap.put(superColumn, map);
+    }
+    return map;
+  }
+
+  /*package*/ void addColumnOrSuperColumn(String columnFamily
+      , byte[] superColumn, ColumnOrSuperColumn csc) {
+    if (superColumn == null) {
+      Map<String, byte[]> map = getOrCreate(columnFamily, EMPTY_COLUMN);
+      map.put(ByteUtils.toString(csc.column.name), csc.column.value);
+    } else {
+      String superColumnStr = ByteUtils.toString(superColumn);
+      Map<String, byte[]> map = getOrCreate(columnFamily, superColumnStr);
+      map.put(ByteUtils.toString(csc.column.name), csc.column.value);
+    }
+  }
+
+  public String getKey() {
+    return key;
+  }
+
+  public Map<String, byte[]> getColumn(String columnFamily) {
+    return getSuperColumn(columnFamily, EMPTY_COLUMN);
+  }
+
+  public Map<String, byte[]> getSuperColumn(String columnFamily, String superColumn) {
+    Map<String, Map<String, byte[]>> map = data.get(columnFamily);
+    if (map == null) {
+      return null;
+    }
+    return map.get(superColumn);
+  }
+
+  public byte[] get(String columnFamily, String superColumn, String column) {
+    Map<String, byte[]> map = getSuperColumn(columnFamily, superColumn);
+    if (map == null) {
+      return null;
+    }
+    return map.get(column);
+  }
+
+  public byte[] get(String columnFamily, String column) {
+    Map<String, byte[]> map = getColumn(columnFamily);
+    if (map == null) {
+      return null;
+    }
+    return map.get(column);
+  }
+
+  @Override
+  public String toString() {
+    return key + "::" + data.toString();
+  }
+}

Added: incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/RowIterable.java
URL: http://svn.apache.org/viewvc/incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/RowIterable.java?rev=1006024&view=auto
==============================================================================
--- incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/RowIterable.java (added)
+++ incubator/gora/trunk/gora-cassandra/src/main/java/org/gora/cassandra/client/RowIterable.java Fri Oct  8 21:17:10 2010
@@ -0,0 +1,5 @@
+package org.gora.cassandra.client;
+
+public interface RowIterable extends Iterable<Row> {
+
+}



Mime
View raw message