Closed johnzeringue closed 8 years ago
@bowring, I was hoping for your thoughts on this. I'm not sure of the potential performance requirements for future versions of Calamari, but the use of mutable global state has bothered me since I began contributing. This is my first attempt at ripping off the bandaid.
@johnzeringue - This is great - I appreciate the hard work. When Calamari started it was really just an exploration, and static structure was an anticipation of performance issues. However, the processing is fast and now it is evident Calamari will become part of the CIRDLES tool box. This is a needed update and improvement to make it robust. Calamari will in general probably only be used on one raw data file at a time, but now we can support bulk operations if someone wants to do so.
On a related topic, I would also like to explore deploying Calamari as a web service and would value your insights in that regard. One of the problems for example is that Geosciences Australia's official machines are currently stuck in Java 6 because of a dependence on some Oracle products and providing Calamari as a service would bypass this issue.
Removed Calamari's reliance on static state in order to eliminate a whole class of bugs and facilitate multithreading if desired. As part of these changes, old APIs have been deprecated in favor of new ones requiring object instances.