Preparing Faunus for old Titan import
Merge branch 'faunus05' of https://github.com/thinkaurelius/faunus into faunus05
Refactored FaunusElement to move path related code into separate FaunusPathElement, introduced ElementState to keep track of added and deleted elements, filtered out hidden and deleted elements.
Refactored TitanInputFormat to introduce support for important from older Titan versions.
Made sure that the ElementState is correctly updated and propagated.
Changed the shading to exclude all "org" dependencies which required some refactoring in Faunus. Included shaded dependencies on titan-cassandra and titan-hbase. Refactored FaunusTitanGraph to abstract all titan version specific elements in the respective delegated class. Some debugging.
added FaunusSequenceFileInput/OutputFormat with respect Record Readers/Writers that serialize and deserialize a schema file _schema.dat. Now we can read global data file information. First migration is the removal of pathEnabled.
added elastic search dependency.
Removed uneeded FaunusSequenceFileInput/OutputFormat as SequenceFile is Configurable (setConf()). Now global properties are available at deserialization of key/value pair. Elements now implement Configurable (setConf(), getConf()) to be able to get global configuration. BaseTest core test updated accordingly to support new model.
all FaunusElements require the use of Configuration object to determine global configuration information around pathEnabeling and tracking element state for mutations.
all InputFormats rely exclusively on Configuration-based Vertex/Edge creation.
path and state tracking no longer part of FaunusCompiler but FaunusPipeline as its global to the computation. Makes the properties file look cleaner too now. Score.
updated CHANGELOG, added FaunusGraph.setTrackPaths()/setTrackState(), nifty speed improvement to EmptyConfiguration.
fixed bug in FaunusTitanGraph around only edges with properties loading. Updated ElementPicker to put _label into PropertyMapMap-type computations.
moved all the bin/*.properties to conf/*.properties
Lots of work on TitanGraphOutputMapReduce. Updated FaunusCompiler with WARN for track paths. Fix to TitanCassandraInputFormat and TitanHBaseInputFormat. Trying fix serialization issues around isDeleted() in FaunusSerialzier, but no luck -- effecting deleting edges. More work needed on Configuration passing through to FaunusGraphSONUtility.
Added ability to remove edges using TitanGraphOutputMapReduce and trackState.
minor FaunusCompiler message tweak.
Updated FaunusVertex such that addAll() propagates element.state. Various improvements to TitanGraphOutputMapReduce.
added an EmptyConfiguration.immutable() as a default Configuraiton for when creating 'blank' vertices/edge for testing purposes (primarily) and for the default construtor of a Writable require by Hadoop.
More work on generalized API for the Elements. Added test cases for addProperty()/getProperties(key).