*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>