When you say "let's", are you volunteering? :-) I'd like to see the output of this.
I've just committed to do a mini-book for InfoQ over the next few months; I could see that this would make a nice topic to include? D On Wed, 1 Feb 2017 at 09:30 Óscar Bou - GOVERTIS <[email protected]> wrote: > Hi Dan, > > Thanks for pointing me there. > > It would be really nice to have all metamodel info. available on Spring > Boot, for example. > > The Services Injector, in your taxonomy, should correspond to the runtime, > so it should be a responsibility of Spring Boot. > If Isis need it for its own runtime, a Spring-based implementation would > be needed. > > But I was just trying to know if it would be possible to have a Domain > Metamodel, and seems feasible. > > Let’s explore it. > > Thanks! > > > > El 1 feb 2017, a las 1:04, Dan Haywood <[email protected]> > escribió: > > Hi Oscar, > > One can think of the framework as breaking into two: > - the metamodel ... Isis' reflection stuff, cf java.lang.Class > - the runtime ... Isis' object mgmt stuff, leaning heavily on > JDO/DataNucleus, cf java.lang.Object. > > The metamodel piece is relatively decoupled from the runtime piece, so it > should be fairly easy to embed it. > > In IsisMojoAbstract - the superclass for the maven plugin goals - you'll > see the code: > > final AppManifest manifest = > InstanceUtil.createInstance(this.appManifest, AppManifest.class); > > final IsisSessionFactoryBuilder isisSessionFactoryBuilder = new > IsisSessionFactoryBuilder(manifest); > IsisSessionFactory isisSessionFactory = > isisSessionFactoryBuilder.buildSessionFactory(); > > from which you can call: > > final SpecificationLoader specificationLoader = > isisSessionFactory.getSpecificationLoader(); > final ServicesInjector servicesInjector = > isisSessionFactory.getServicesInjector(); > > The SpecificationLoader is the internal (private) API to the entire > metamodel. > > The ServicesInjector can be used to inject services into any arbitrary > object (annotated with @javax.inject.Inject). One caveat: some services > are implemented by the runtime, which probably won't be available. > > These are all basically singletons. > > Probably the easiest thing to do is to write a simple servlet or Spring > boot app, then embed the above code somewhere in the bootstrapping, and see > how you get on. > > HTH > Dan > > > > On Thu, 19 Jan 2017 at 11:45 Óscar Bou - GOVERTIS <[email protected]> > wrote: > > > Hi all. > > I’m sure the Isis Domain meta-model can add a lot of value to Domains > developed in another frameworks. > > It’s different from reflection in the way it allows you to determine, for > example: > - which public methods are effectively domain actions. > - which Java properties should be considered “Domain” properties. > - which actions or properties are available depending on the business > logic. > - etc. > > And all that with the ability to properly test it. > > Over that, we’ve built the Wicket viewer, the RESTful Objects viewer, the > JDO-based persistence, the custom injection mechanism, … > > But I’m pretty sure it could be really useful when using other > platforms/frameworks. > > Do you agree? > > How should we quantify the tasks and effort? > > > Cheers, > > Oscar > > > > > > > > > Óscar Bou Bou > Socio - IT & GRC Management Services Director > m: +34 620 267 520 <+34%20620%2026%2075%2020> > s: <http://www.govertis.com>www.govertis.com e: [email protected] > > LinkedIn: https://www.linkedin.com/in/oscarbou > Twitter: @oscarbou <https://twitter.com/oscarbou> > > > > Este mensaje y los ficheros anexos son confidenciales. Los mismos > contienen información reservada que no puede ser difundida. Si usted ha > recibido este correo por error, tenga la amabilidad de eliminarlo de su > sistema y avisar al remitente mediante reenvío a su dirección electrónica; > no deberá copiar el mensaje ni divulgar su contenido a ninguna persona. > > Su dirección de correo electrónico junto a sus datos personales constan en > un fichero titularidad de GOVERTIS ADVISORY SERVICES, S.L. cuya finalidad > es la de mantener el contacto con Ud. Si quiere saber de qué información > disponemos de Ud., modificarla, y en su caso, cancelarla, puede hacerlo > enviando un escrito al efecto, acompañado de una fotocopia de su D.N.I. a > la siguiente dirección: GOVERTIS ADVISORY SERVICES, S.L. Avda Cortes > Valencianas, 58 – 8º - 6ª. 46015 - Valencia, y Paseo de la Castellana, > 153, 28045 - MADRID. Asimismo, es su responsabilidad comprobar que este > mensaje o sus archivos adjuntos no contengan virus informáticos, y en caso > que los tuvieran eliminarlos. > >
