Thanks Oscar
I already reviewed and commented on the outcome.
Best Regards.

El 13 de julio de 2016, 10:05, Óscar Bou - GOVERTIS <[email protected]>
escribió:

> Thanks.
>
> You must define JDO mappings for 1-n relationships.
>
>
> In Regional:
>
> @CollectionLayout(render = RenderType.EAGERLY,paged=3)
>     public List<Departamento> getDepartamentos () {
>         return departamentos;
>     }
>
>
> Should be:
>
> @CollectionLayout(render = RenderType.EAGERLY,paged=3)
>
>        @Persistent(mappedBy = “regional", dependentElement = "true")
>
>     public List<Departamento> getDepartamentos () {
>         return departamentos;
>     }
>
>
>
>
> Assuming there’s a “regional” property on the “Departamento” entity.
>
>
> In the Eclipse and IntelliJ sections you will find templates to install on
> your IDE for those common relationships:
>
> https://isis.apache.org/guides/dg.html#_dg_ide_eclipse
>
> https://isis.apache.org/guides/dg.html#_dg_ide_intellij_live-templates
>
>
> All Apache Isis templates will start with the “is” prefix.
>
> Those specifically about JDO, start with “isjd”.
>
>
> When you’re creating a simple property, templates will start with “isjdp”.
>
> And with collections, “isjdc”.
>
> In your case, you need to annotate for a 1-n relationship, the Collection
> side.
>
> So the proper template could be:
> - “isjdc-1n-b-fk” named “JDO Collection (1:n bidir, implemented using a
> foreign key)”
> - “isjdc-1n-b-jt” named "JDO Collection (1:n bidir, implemented using a
> join table)”
>
>
> HTH,
>
> Oscar
>
>
>
>
>
>
>
>
>
> El 13 jul 2016, a las 16:48, José Alejandro Manaure Martinez <
> [email protected]> escribió:
>
> *Ciudad.java*
> package domainapp.dom.mesaAyudaPrestadores;
>
>
> import java.util.List;
>
> import javax.inject.Inject;
> import javax.jdo.annotations.Column;
> import javax.jdo.annotations.DatastoreIdentity;
> import javax.jdo.annotations.IdGeneratorStrategy;
> import javax.jdo.annotations.IdentityType;
> import javax.jdo.annotations.PersistenceCapable;
>
> import org.apache.isis.applib.annotation.Action;
> import org.apache.isis.applib.annotation.Auditing;
> import org.apache.isis.applib.annotation.CollectionLayout;
> import org.apache.isis.applib.annotation.DomainObject;
> import org.apache.isis.applib.annotation.MemberGroupLayout;
> import org.apache.isis.applib.annotation.MemberOrder;
> import org.apache.isis.applib.annotation.RenderType;
> import org.apache.isis.applib.annotation.SemanticsOf;
> import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
> import org.apache.isis.applib.services.repository.RepositoryService;
>
> import domainapp.dom.mesaAyudaPrestadores.Compania.DeleteDomainEvent;
>
>
> // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
> // #[regen=yes,id=DCE.EC5D5AC6-E099-A6B8-7DBB-F44B024BCB75]
> // </editor-fold>
> @MemberGroupLayout( columnSpans={6,0,0,6}, left={"GENERAL"} )
> @DomainObject( auditing=Auditing.ENABLED, objectType="Ciudad" )
> @PersistenceCapable(identityType=IdentityType.DATASTORE,table="TBL_CIUDAD")
> @DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY,column="idCiudad")
> public class Ciudad {
>
>
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     // #[regen=yes,id=DCE.B913569E-C2AF-0FF1-3177-AF92DBB927E1]
>     // </editor-fold>
> // @Inject
>     private String descCiudad;
> // @Inject
>     private String codigoLegal;
>
>
> // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     // #[regen=yes,id=DCE.D242788F-C26C-3D14-2DED-E439010AC666]
>     // </editor-fold>
> //    @Inject
>     private List<Sucursal> sucursales;
>
> //    @Inject
>     private Departamento departamento;
>
>
>
> // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     // #[regen=yes,id=DCE.5E23B2B1-F2DB-C652-CA58-D2C746738947]
>     // </editor-fold>
>     public Ciudad () {
>     }
>
>     public String title() {
> return descCiudad;
> }
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     //
> #[regen=yes,regenBody=yes,id=DCE.236F1F8A-B466-2D0E-91A8-0601283F0460]
>     // </editor-fold>
>     @Column(allowsNull="false",length=50)
>     @MemberOrder(name="NombreCiudad",sequence="1")
>     public String getDescCiudad () {
>         return descCiudad;
>     }
>
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     //
> #[regen=yes,regenBody=yes,id=DCE.1304E2B9-7316-78A7-4D9A-A3A597241FAA]
>     // </editor-fold>
>     public void setDescCiudad (String val) {
>         this.descCiudad = val;
>     }
>
>
>
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     //
> #[regen=yes,regenBody=yes,id=DCE.C5E932AF-283F-521A-931C-BAF12217286A]
>     // </editor-fold>
>     @CollectionLayout(render = RenderType.EAGERLY,paged=3)
>     public List<Sucursal> getSucursales () {
>         return sucursales;
>     }
>
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     //
> #[regen=yes,regenBody=yes,id=DCE.5F6CEB5A-A5D8-0748-860A-F5199F8D0CF3]
>     // </editor-fold>
>     public void setSucursales (List<Sucursal> val) {
>         this.sucursales = val;
>     }
>
>     @CollectionLayout(render = RenderType.EAGERLY,paged=3)
>     public Departamento getDepartamento() {
> return departamento;
> }
>
> public void setDepartamento(Departamento departamento) {
> this.departamento = departamento;
> }
> @Column(allowsNull="false")
>     @MemberOrder(name="CodigoLegalCiudad",sequence="2")
> public String getCodigoLegal() {
> return codigoLegal;
> }
>
> public void setCodigoLegal(String codigoLegal) {
> this.codigoLegal = codigoLegal;
> }
>
>    public static class DeleteDomainEvent extends ActionDomainEvent<Ciudad>
> {}
>    @Action(
>            domainEvent = DeleteDomainEvent.class,
>            semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE
>    )
> public void borrarCiudad() {
>        repositoryService.remove(this);
>    }
>    @javax.inject.Inject
> RepositoryService repositoryService;
> }
>
>
>
> *******************************************************************************************
>
> *CiudadRepo.java*
> package domainapp.dom.mesaAyudaPrestadores;
>
> import java.util.List;
>
> import javax.inject.Inject;
>
> import org.apache.isis.applib.DomainObjectContainer;
> import org.apache.isis.applib.annotation.Action;
> import org.apache.isis.applib.annotation.ActionLayout;
> import org.apache.isis.applib.annotation.BookmarkPolicy;
> import org.apache.isis.applib.annotation.DomainService;
> import org.apache.isis.applib.annotation.DomainServiceLayout;
> import org.apache.isis.applib.annotation.DomainServiceLayout.MenuBar;
> import org.apache.isis.applib.services.repository.RepositoryService;
> import org.apache.isis.applib.util.ObjectContracts;
>
> import org.apache.isis.applib.annotation.MemberOrder;
> import org.apache.isis.applib.annotation.NatureOfService;
> import org.apache.isis.applib.annotation.ParameterLayout;
> import org.apache.isis.applib.annotation.SemanticsOf;
>
> @DomainService(nature=NatureOfService.VIEW_MENU_ONLY,
> repositoryFor=CiudadRepo.class)
>
> @DomainServiceLayout(menuBar=MenuBar.PRIMARY,menuOrder="30",named="Parametrización")
> public class CiudadRepo {
> @Inject
> private DomainObjectContainer container;
> @Inject
> private DepartamentoRepo DeptoRep;
> @MemberOrder(sequence="30.3")
> @Action(semantics = SemanticsOf.SAFE)
> @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT)
> public List<Ciudad> listarCiudades() {
>    return repositoryService.allInstances(Ciudad.class);
> }
> public Ciudad CrearCiudad(
> final @ParameterLayout(named="NombreCiudad") String descCiudad,
> final @ParameterLayout(named="CodigoLegalCiudad") String codigoLegalCiudad,
> final @ParameterLayout(named="Departamento") Departamento depto){
>
> Ciudad ciu = container.newTransientInstance(Ciudad.class);
> ciu.setDescCiudad(descCiudad);
> ciu.setCodigoLegal(codigoLegalCiudad);
> ciu.setDepartamento(depto);
> container.persist( ciu );
> return ciu;
> }
> public List<Departamento> choices2CrearCiudad(){
> return DeptoRep.listarDepartamentos();
> }
> @javax.inject.Inject
> RepositoryService repositoryService;
>
> }
>
>
> *****************************************************************************************************************
> Regional.java
> package domainapp.dom.mesaAyudaPrestadores;
>
>
> import java.util.List;
>
> import javax.jdo.annotations.Column;
> import javax.jdo.annotations.DatastoreIdentity;
> import javax.jdo.annotations.IdGeneratorStrategy;
> import javax.jdo.annotations.IdentityType;
> import javax.jdo.annotations.PersistenceCapable;
>
> import org.apache.isis.applib.annotation.Action;
> import org.apache.isis.applib.annotation.Auditing;
> import org.apache.isis.applib.annotation.DomainObject;
> import org.apache.isis.applib.annotation.DomainObjectLayout;
> import org.apache.isis.applib.annotation.MemberGroupLayout;
> import org.apache.isis.applib.annotation.MemberOrder;
> import org.apache.isis.applib.annotation.Nature;
>
> import org.apache.isis.applib.annotation.CollectionLayout;
> import org.apache.isis.applib.annotation.RenderType;
> import org.apache.isis.applib.annotation.SemanticsOf;
> import org.apache.isis.applib.services.eventbus.ActionDomainEvent;
> import org.apache.isis.applib.services.repository.RepositoryService;
>
> import domainapp.dom.mesaAyudaPrestadores.Compania.DeleteDomainEvent;
>
> import javax.inject.Inject;
>
> // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
> // #[regen=yes,id=DCE.52354FC3-B6D7-4F76-B582-16DA9C3AACCE]
> // </editor-fold>
> @MemberGroupLayout( columnSpans={6,0,0,6}, left={"GENERAL"} )
> @DomainObject( auditing=Auditing.ENABLED, objectType="Regional" )
>
> @PersistenceCapable(identityType=IdentityType.DATASTORE,table="TBL_REGIONAL")
>
> @DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY,column="idRegional")
> public class Regional {
>
> //@Inject
> private Departamento departamento;
> //@Inject
> private DepartamentoRepo deptoRep;
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     // #[regen=yes,id=DCE.FCF04A4C-92D1-3041-75E2-E9C9E28ADF2B]
>     // </editor-fold>
>     private String descRegional;
>
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     // #[regen=yes,id=DCE.151ACBA2-F999-E997-353C-72CF8366B553]
>     // </editor-fold>
>     @Inject
>     private List<Departamento> departamentos;
>
>
>
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     // #[regen=yes,id=DCE.43B02CC0-C04D-1891-32C3-837AC4D5D887]
>     // </editor-fold>
>     public Regional () {
>     }
>
>
>
> public String title() {
> return descRegional;
> }
>
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     //
> #[regen=yes,regenBody=yes,id=DCE.9E28EE52-7F8D-DDD5-CB2F-52129E9B8E6C]
>     // </editor-fold>
> @CollectionLayout(render = RenderType.EAGERLY,paged=3)
>     public List<Departamento> getDepartamentos () {
>         return departamentos;
>     }
>
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     //
> #[regen=yes,regenBody=yes,id=DCE.EC578B88-88BB-E59A-7A5E-F0BA857EEF27]
>     // </editor-fold>
>     public void setDepartamentos (List<Departamento> val) {
>         this.departamentos = val;
>     }
>
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     //
> #[regen=yes,regenBody=yes,id=DCE.D4878FF2-8F3B-B88B-5117-F0668EFB6A36]
>     // </editor-fold>
>     @Column(allowsNull="false", length=120)
>     @MemberOrder(name="NombreRegional",sequence="1")
>     public String getDescRegional () {
>         return descRegional;
>     }
>
>     // <editor-fold defaultstate="collapsed" desc=" UML Marker ">
>     //
> #[regen=yes,regenBody=yes,id=DCE.CACCC27F-51B0-84B1-3F01-015920EDCA60]
>     // </editor-fold>
>     public void setDescRegional (String val) {
>         this.descRegional = val;
>     }
>
>     public static class DeleteDomainEvent extends
> ActionDomainEvent<Regional> {}
>     @Action(
>             domainEvent = DeleteDomainEvent.class,
>             semantics = SemanticsOf.NON_IDEMPOTENT_ARE_YOU_SURE
>     )
> public void borrarRegional() {
>         repositoryService.remove(this);
>     }
>     @javax.inject.Inject
> RepositoryService repositoryService;
>
>
> }
>
>
>
> **********************************************************************************************
> RegionalRepo.java
> package domainapp.dom.mesaAyudaPrestadores;
>
> import java.util.List;
>
> import javax.inject.Inject;
>
> import org.apache.isis.applib.DomainObjectContainer;
> import org.apache.isis.applib.annotation.Action;
> import org.apache.isis.applib.annotation.ActionLayout;
> import org.apache.isis.applib.annotation.BookmarkPolicy;
> import org.apache.isis.applib.annotation.DomainService;
> import org.apache.isis.applib.annotation.DomainServiceLayout;
> import org.apache.isis.applib.annotation.DomainServiceLayout.MenuBar;
> import org.apache.isis.applib.services.repository.RepositoryService;
> import org.apache.isis.applib.util.ObjectContracts;
>
> import org.apache.isis.applib.annotation.MemberOrder;
> import org.apache.isis.applib.annotation.NatureOfService;
> import org.apache.isis.applib.annotation.ParameterLayout;
> import org.apache.isis.applib.annotation.SemanticsOf;
>
> @DomainService(nature=NatureOfService.VIEW_MENU_ONLY,
> repositoryFor=CompaniaRepo.class)
>
> @DomainServiceLayout(menuBar=MenuBar.PRIMARY,menuOrder="10",named="Parametrización")
> public class RegionalRepo {
>
> @Inject
> private DomainObjectContainer container;
> @MemberOrder(sequence="10.3")
> @Action(semantics = SemanticsOf.SAFE)
> @ActionLayout(bookmarking = BookmarkPolicy.AS_ROOT)
> public List<Regional> ListarRegionales() {
>    return repositoryService.allInstances(Regional.class);
> }
> public Regional CrearRegional(
> final @ParameterLayout(named="NombreRegional") String descRegional){
> Regional reg = container.newTransientInstance(Regional.class);
> reg.setDescRegional(descRegional);
> container.persist( reg );
> return reg;
> }
> @javax.inject.Inject
> RepositoryService repositoryService;
> }
>
> El 13 de julio de 2016, 9:39, Óscar Bou - GOVERTIS <[email protected]>
> escribió:
>
>> Hola, Jose Alejandro.
>>
>> Seems screenshots are allowed, but attachments removed.
>>
>> Can you copy-n-paste Java code for relevant classes?
>>
>>
>> El 13 jul 2016, a las 16:37, José Alejandro Manaure Martinez <
>> [email protected]> escribió:
>>
>> Hi Oscar
>> Attached class code.
>>
>>
>> El 13 de julio de 2016, 9:32, Óscar Bou - GOVERTIS <[email protected]>
>> escribió:
>>
>>> Hi Jose Alejandro.
>>>
>>> Only the screenshot visible, at least for me.
>>>
>>> Please, can you send the code for relevant properties and collections in
>>> all classes ?
>>>
>>> Cheers,
>>>
>>> Oscar
>>>
>>>
>>> El 13 jul 2016, a las 16:27, José Alejandro Manaure Martinez <
>>> [email protected]> escribió:
>>>
>>> Hi Dan
>>>
>>> I have a relationship between classes where one or more cities belong to
>>> a department, and one or more departments belong to a regional. For Example
>>> in US: Albany, Bronx and Brome are counties that belong to State of New
>>> York, and State of New York belong to Mid-Atlantic (Region). When these
>>> relationships are created in Apache Isis, Framework respects relations
>>> children to parents, however, when I want to show the children of a parent
>>> the child list remains empty.
>>>
>>>
>>> Attached declared classes and capture of application to illustrate the
>>> question
>>>
>>>
>>> <image.png>
>>> --
>>> [image: Logo]
>>>
>>> José Alejandro Manaure
>>> *Project Manager*
>>> Tel: (57) 1 703 17 77
>>> Cel: (57) 312 5476188
>>> E-mail: [email protected]
>>> Calle 93 # 19b - 66 Ofc 202
>>> Bogotá D.C., Colombia
>>> www.ticxar.com
>>>   [image: facebook]
>>> <https://www.facebook.com/pages/Ticxar/446503822192581> [image: twitter]
>>> <http://twitter.com/ticxar> [image: linkedIn]
>>> <https://www.linkedin.com/company/ticxar>
>>>
>>>
>>> <govertis1.png>
>>>
>>> Óscar Bou Bou
>>> Socio - IT & GRC Management Services Director
>>> m: +34 620 267 520
>>> 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.
>>>
>>>
>>
>>
>> --
>> [image: Logo]
>>
>> José Alejandro Manaure
>> *Project Manager*
>> Tel: (57) 1 703 17 77
>> Cel: (57) 312 5476188
>> E-mail: [email protected]
>> Calle 93 # 19b - 66 Ofc 202
>> Bogotá D.C., Colombia
>> www.ticxar.com
>>   [image: facebook]
>> <https://www.facebook.com/pages/Ticxar/446503822192581> [image: twitter]
>> <http://twitter.com/ticxar> [image: linkedIn]
>> <https://www.linkedin.com/company/ticxar>
>>
>>
>>
>> Óscar Bou Bou
>> Socio - IT & GRC Management Services Director
>> m: +34 620 267 520
>> 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.
>>
>>
>
>
> --
> [image: Logo]
>
> José Alejandro Manaure
> *Project Manager*
> Tel: (57) 1 703 17 77
> Cel: (57) 312 5476188
> E-mail: [email protected]
> Calle 93 # 19b - 66 Ofc 202
> Bogotá D.C., Colombia
> www.ticxar.com
>   [image: facebook]
> <https://www.facebook.com/pages/Ticxar/446503822192581> [image: twitter]
> <http://twitter.com/ticxar> [image: linkedIn]
> <https://www.linkedin.com/company/ticxar>
>
>
>
> Óscar Bou Bou
> Socio - IT & GRC Management Services Director
> m: +34 620 267 520
> 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.
>
>


-- 
[image: Logo]

José Alejandro Manaure
*Project Manager*
Tel: (57) 1 703 17 77
Cel: (57) 312 5476188
E-mail: [email protected]
Calle 93 # 19b - 66 Ofc 202
Bogotá D.C., Colombia
www.ticxar.com
  [image: facebook]
<https://www.facebook.com/pages/Ticxar/446503822192581> [image:
twitter] <http://twitter.com/ticxar> [image: linkedIn]
<https://www.linkedin.com/company/ticxar>

Reply via email to