Very nice cleanup Andrea. Many thanks for your effort keeping this up to date 
and for refactoring the code to increase the provider performance! I've been 
through the entire PR now. Apart from what I've commented, let me summarize 
what should be changed:

* In the domain classes, for properties whose name does not match the 
serialized form, add the corresponding `@Named` annotation. That would make 
serialization and deserialization consistent.
* All constructors of the domain objects should have `null` checks for their 
mandatory properties.
* Don't use the `ConcreteBuilder + abstract Builder` pattern if the builder is 
not meant to be extended.
* Rename API methods to something meaningful rather than the generic 
`getObject()`, etc.
* There are several classes with unused imports and (quite long) blocks of 
commented code. Could you clean them up?
* Avoid using `System.out`, even in tests.
* **Important**: Add the expect and live tests for the `AccountApi` and 
`VirtualGuestBlockDeviceTemplateGroupApi` classes.
* **Important**: Add the expect and live tests for the missing methods from the 
`VirtualGuestApi` class.

Also, it would be great if, once finished addressing the comments, you could 
paste the result of running the live tests.

And huge thanks for your effort on this refactor! Changing the entire provider 
is not an easy task, but the new code looks promising.

---
Reply to this email directly or view it on GitHub:
https://github.com/jclouds/jclouds/pull/296#issuecomment-37242142

Reply via email to