Fork me on GitHub
#onyx
<
2017-04-20
>
georgek19:04:44

Sorry for the long delay on Onyx-Java progress! We went pretty far along a direction that turned out to generate more edges case the longer we went. So we inverted our approach. Here’s the repo: https://github.com/RBerkheimer/onyx-java Basically our aim is to stay out of the way of doing coercion’s by maintaining valid IPersistentMap’s and PersistentVectors that have the right clj-native objects in them and presente sensible interfaces on the Java side. We offload the semantic correctness of the returned map to job runtime. We can always add them as a cross-cutting concern in a clean way due to the object hierarchy later. Mainly this prevents a ton of conversion edge cases since there are a lot of valid things that can go in maps lifecycles/windows/etc that aren’t just a keyword to keyword mapping.

georgek19:04:22

We are re-writing the tests so that part is a mess at the moment. Those should be cleaned up in a couple of days

georgek19:04:57

I’m also going to start working on the instance binding approach which is mostly just filled with comments and thoughts at the moment! 😉

georgek19:04:09

I you have questions u can always direct-slack me or email me at <mailto:[email protected]|[email protected]>

georgek19:04:22

I’d love to get some feedback!

georgek19:04:50

Also, @rberkheimer is the co-author! Welcome to the Onyx slack channel! 😉

michaeldrogalis20:04:16

Thanks @georgek & @rberkheimer! This is awesome work! Thanks for your contribution. 🙂

michaeldrogalis20:04:25

In a meeting right now, I’ll take a closer look tonight!

georgek20:04:33

Awesome! Thanks!

lucasbradstreet20:04:47

@georgek looks awesome! Would you consider having addFlowConditions/addLifecycle/et al return the job itself, so you can use it in a fluent style?

lucasbradstreet20:04:05

e.g. myjob.addLifecycle(lf1).addLifecycle(lf2);

georgek20:04:59

sure! 🙂

michaeldrogalis21:04:13

Nice to finally have a proper Java API. This is wonderful work you’ve both done. 🙂 I’ll post on the usual locations when it’s ready to be merged.