Initial directory structure.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@1 962b3a1e-5fa1-11de-82f7-67359cf3946f
Initial commit just to get a copy into the cloud. The build files should be
mostly correct, but the source doesn't build because it's just the source from
the hackystat-developer-example project.


git-svn-id: https://wattdepot.googlecode.com/svn/trunk@2 962b3a1e-5fa1-11de-82f7-67359cf3946f
Imported latest buildfile changes from hackystat-developer-example

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@3 962b3a1e-5fa1-11de-82f7-67359cf3946f
Removed developer-example code, created simple ping server. Some things aren't working right yet, run target, can't run verify for some reason. Also need to create client class and JUnit test.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@4 962b3a1e-5fa1-11de-82f7-67359cf3946f
Fixed the run target so that it points to the right class, fixed the problem with checkstyle.tool where it would not run if install-checkstyle had not already been run (should commit this back to developer-example). Also fixed all the problems found by checkstyle, PMD, and FindBugs.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@5 962b3a1e-5fa1-11de-82f7-67359cf3946f
Created a client for the ping server, and a JUnit test that uses the client. Passes verify, and finally can generate some coverage data with Emma.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@6 962b3a1e-5fa1-11de-82f7-67359cf3946f
Integrated final tweaks to build files from hackystat-developer-example project

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@15 962b3a1e-5fa1-11de-82f7-67359cf3946f
Adding first XML schema for sensordata resource, based on sensorbase's sensordata resource

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@29 962b3a1e-5fa1-11de-82f7-67359cf3946f
updated the sensordata schema to remove references to SensorDataTypes, now that we are not going to use them anymore

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@42 962b3a1e-5fa1-11de-82f7-67359cf3946f
Added two more XML representations for resources: source and user

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@43 962b3a1e-5fa1-11de-82f7-67359cf3946f
Made some elements required in the XML schemas

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@45 962b3a1e-5fa1-11de-82f7-67359cf3946f
Now supports the health resource from the REST API. Switched port that the Ping server was running on (when I was tinkering) so that the unit test would continue to run (probably should disable it at some point).

Needs refactoring to remove duplicated code

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@48 962b3a1e-5fa1-11de-82f7-67359cf3946f
Mostly refactoring. Now we have server properties so test servers run on a different port, and a class to make writing tests easier. Also started on creating a qa build file to make running the QA tools easier.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@49 962b3a1e-5fa1-11de-82f7-67359cf3946f
Added a new build script qa.build.xml that runs junit, checkstyle, pmd, and findbugs and displays any reports generated if there are problems. Only works on Mac OS X, just because I haven't bothered to figure out how to display an HTML file from the command line in Windows and Linux/Unix.

Added Java scrapbook for Eclipse tinkering. 

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@52 962b3a1e-5fa1-11de-82f7-67359cf3946f
A mixed bag of changes. Got JAXB working by adopting jaxb Ant file from Sensorbase, and instructed checkstyle and PMD to ignore jaxb-generated code (also per Sensorbase). Generated JAXB code for all three resources and added to source control.

Updated source XML schema to support virtual sources (as documented in API).

Created empty placeholder resources for Sources and Sensor Data (mostly since the JAXB code was being generated now). Created stub User and Users resource that just outputs "User resource" for testing.

Set up HTTP authentication that currently works only for the admin user. The User and Users resources are behind HTTP authentication.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@55 962b3a1e-5fa1-11de-82f7-67359cf3946f
Several unrelated changes in this commit. Fixed emma.build.xml so that it properly excludes tests and my tinker packages from coverage.

Implemented some code that might make qa.build.xml's display functionality work on Linux and Windows, but haven't tested on anything but Mac OS X. It's also kinda gross (lots of duplicated Ant code) but can't figure out how to refactor it without writing my own Ant task, which is total overkill. Also, seems like the display function should really be in each QA tool's build file, but for now I wish to keep the build files as similar to Hackystat's as possible.

Added tests for the stub User and Users resources. Turned out to be harder than I expected, since it required WattDepotClient to start doing authenticated HTTP stuff. Lots of refactoring, so now the tests and even the client code is short and sweet.

Had strange problem with Junit tests for Users resource, saying that the port was already in use when starting up a server for testing. Fixed by not recreating the Server in the static field if it is already there, but not sure that is the correct solution. Needs more investigation.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@57 962b3a1e-5fa1-11de-82f7-67359cf3946f
Copied over db.build.xml from sensorbase for future usage.

junit.build.xml now runs with fork=yes, which solves the problem of binding to the port that was already bound problem.

Fixed a bug in qa.build.xml, it was always displaying the JUnit output, even when there were no problems.

Imported and customized HackystatLogger and related classes into WattDepotLogger. We now have logging, whee!

Removed all System.out calls that I had written back when I didn't have logging.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@58 962b3a1e-5fa1-11de-82f7-67359cf3946f
Added database abstraction later via DbImplementation and DbManager classes, closely cribbed from the Sensorbase equivalents.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@66 962b3a1e-5fa1-11de-82f7-67359cf3946f
Made checkstyle, PMD, and JUnit ignore files in tinker package, which exists only to try things out, not for production.

Added Owner element/attribute to Source and SourceIndex XML elements in Source XML schema, and rebuilt JAXB classes. Now one can follow ownership of a SensorData back to a Source back to a User.

First pass at an in-memory database implementation. I created this to allow me to push forward on other aspects of the system without getting bogged down in learning CouchDB. Obviously a database that only stores in memory and not disk can't be used in production, but it could be useful for performance testing against CouchDB, and writing a DbImplementation where the persistence was easy allowed me to understand the abstraction layer better, and the requirements. In the course of writing it, ended up making several changes to DbImplementation API. Still needs unit tests.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@67 962b3a1e-5fa1-11de-82f7-67359cf3946f
Wrote DbManager unit tests for User resources, which lead to some bug fixes in MemoryStorageImplementation

DbManager constructor can now be passed an explicit class name to use for the persistency layer. This is useful for testing a particular layer without fussing with server property files.

Created and moved around some static convenience methods for creating users, properties, and comparing UserRef and User objects.

git-svn-id: https://wattdepot.googlecode.com/svn/trunk@68 962b3a1e-5fa1-11de-82f7-67359cf3946f