That’s great, thanks! - hugi
// Hugi Thordarson // http://www.loftfar.is/ <http://www.loftfar.is/> // s. 895-6688 > On 27. ágú. 2015, at 18:04, Andrus Adamchik <and...@objectstyle.org> wrote: > > You can add it to a List of project locations inside your Module 'configure': > > public void configure(Binder binder) { > > binder.bindList(Constants.SERVER_PROJECT_LOCATIONS_LIST).add("cayenne-xyz.xml"); > } > > Or explicitly pass it to ServerRuntime, when you are creating it. > > Though the first approach provides better encapsulation of your framework. > > Andrus > > >> On Aug 27, 2015, at 6:45 PM, Hugi Thordarson <h...@karlmenn.is> wrote: >> >> That’s pretty awesome. One question though, how do I tell the Module about >> the location of it's Cayenne Model? (like I do with the >> configurationLocation parameter in ServerRuntime) >> >> Thanks! >> - hugi >> >> >> >>> On 27. ágú. 2015, at 10:44, Andrus Adamchik <and...@objectstyle.org> wrote: >>> >>> Hi Hugi, >>> >>> Are you using DI by any chance in your app? Cause if you do, it becomes as >>> simple as making ServerRuntime one of the "services" and injecting it into >>> your framework. >>> >>> Or maybe you can invert that? Instead of telling the framework about >>> ServerRuntime, you tell ServerRuntime about your framework (essentially >>> relying on Cayenne to be your DI provider). To do that you expose your >>> framework as a DI Module. That's our preferred way of loading Cayenne >>> extensions. Maybe you can use the same approach with your own code: >>> >>> // this comes from your framework. The module can define a class that decla >>> public class MyModule implements Module { >>> public void configure(Binder binder) { >>> >>> // MyFrameworkImpl may inject ObjectContextFactory to obtain contexts >>> binder.bind(MyFramework.class).to(MyFrameworkImpl.class); >>> } >>> } >>> >>> // this is how you bootstrap both Cayenne and your framework in your app >>> MyModule m = new MyModule(); >>> ServerRuntime runtime = new ServerRuntime("myproject.xml", m); >>> >>> MyFramework f = runtime.getInjector().getInstance(MyFramework.class); >>> // now you can call methods on f. >>> >>> >>> Andrus >>> >>> >>>> On Aug 27, 2015, at 11:54 AM, Hugi Thordarson <h...@karlmenn.is> wrote: >>>> >>>>> On 27/08/2015 6:37pm, Hugi Thordarson wrote: >>>>>> I’m writing a Cayenne-based CRUD framework of sorts, in the form of a >>>>>> jar that plugs into Cayenne applications. >>>>> >>>>> Is there overlap with this: http://nhl.github.io/link-rest/ which was >>>>> already built over the top of Cayenne? >>>> >>>> Not really, what we're doing works at a little lower level and serves more >>>> specific requirements. Framework looks nice though—and it’s fun to see >>>> Cayenne in the wild. >>>> >>>> - hugi >>> >> >