--
This module includes software from Sebastian Kruse
Copyright 2016 Sebastian Kruse, Licensed under the Apache License, Version 2.0
https://github.com/sekruse/profiledb-java.git
The adjusted code can be found in ./src/
--

This code is based on the implementation you can find in the following repository:

- https://github.com/sekruse/profiledb-java.git

The code there does not have regular maintenance. Apache Wayang (incubating) will require new functionalities to deal with serialization of UDFs and storage in other platforms.

The classes below has not been modified:
 
    MeasurementDeserializer
    MeasurementSerializer
    Experiment
    Measurement
    Subject
    TimeMeasurement
    Type
    
The classes below has been added/modified to provide an abstraction over different Storage methods:
  
    ProfileDB
    Storage
    FileStorage
    JDBCStorage
    
The code that is based on the mentioned repository starts and ends with the commits indicated below:

- start: [5344336f68bb9038e701435e9859321b6e8cbcfc](https://github.com/apache/incubator-wayang/commit/5344336f68bb9038e701435e9859321b6e8cbcfc)

- end: [fdb7ac352c5fb7eb69a436a5b4dc42c8d9d0a268](https://github.com/apache/incubator-wayang/commit/fdb7ac352c5fb7eb69a436a5b4dc42c8d9d0a268)

All the code that has been added after those commits is totally independent of the mentioned repository. 
