[jira] [Commented] (ISIS-899) Can't return a view model in Isis 1.6.0 over RO viewer.
[ https://issues.apache.org/jira/browse/ISIS-899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14153004#comment-14153004 ] Vladimir Nisevic commented on ISIS-899: --- Hi Jeroen, Dan. I've just tested my two ViewModel classes with latest master version - I've put my code into todoapp-dom project and recompiled. Domain Service: {code} @Named(Address Search API) @DomainService(menuOrder = 1.3) public class AsePublicService { @Render(Type.EAGERLY) public Address getAddress(@Named(Source System) final String sourceSystem, @Named(User) final String user, @Named(Agent) final String agent, @Named(LKMS-ID) final String lkmsId, @Named(Valid Location) final boolean validLocation) { final Address address = new Address(); address.setHousenumber(12); Street street = new Street(); street.setStreetname(5th Avenue); address.setStreet(street); return address; } {code} package a1.ase.viewmodel; import org.apache.isis.applib.annotation.MemberOrder; import org.apache.isis.applib.annotation.ViewModel; @ViewModel public class Address { public String title() { return Address lkmsId: + lkmsId; } // {{ LkmsId (property) private String lkmsId; @MemberOrder(sequence = 1) public String getLkmsId() { return lkmsId; } public void setLkmsId(final String lkmsId) { this.lkmsId = lkmsId; } // }} // {{ Street (property) private Street street; @MemberOrder(sequence = 3) public Street getStreet() { return street; } public void setStreet(final Street street) { this.street = street; } // }} // {{ Housenumber (property) private String housenumber; @MemberOrder(sequence = 2) public String getHousenumber() { return housenumber; } public void setHousenumber(final String housenumber) { this.housenumber = housenumber; } // }} } } {code} Street Model: {code} package a1.ase.viewmodel; import org.apache.isis.applib.annotation.MemberOrder; import org.apache.isis.applib.annotation.ViewModel; @ViewModel public class Street { public String title() { return Street lkmsId: + lkmsId; } // {{ LkmsId (property) private String lkmsId; @MemberOrder(sequence = 1) public String getLkmsId() { return lkmsId; } public void setLkmsId(final String lkmsId) { this.lkmsId = lkmsId; } // }} // {{ Streetname (property) private String streetname; @MemberOrder(sequence = 2) public String getStreetname() { return streetname; } public void setStreetname(final String aName) { this.streetname = aName; } // }} } {code} Here my feedback 1.) using wicket viewer and calling the method getAddress, I get next exception {code} Stack trace: org.apache.isis.core.runtime.persistence.PojoRecreationException Could not recreate pojo for oid oid *a1.ase.viewmodel.Address:PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG1lbWVudG8-PGhvdXNlbnVtYmVyPjEyPC9ob3VzZW51bWJlcj48c3RyZWV0LmJvb2ttYXJrPmExLmFzZS52aWV3bW9kZWwuU3RyZWV0OlBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NEtQRzFsYldWdWRHOC1QSE4wY21WbGRHNWhiV1UtTlhSb0lFRjJaVzUxWlR3dmMzUnlaV1YwYm1GdFpUNDhMMjFsYldWdWRHOC08L3N0cmVldC5ib29rbWFyaz48L21lbWVudG8- org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault#adapterFor(AdapterManagerDefault.java:311) org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento$Type$2#recreateAdapter(ObjectAdapterMemento.java:112) org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento$Type#getAdapter(ObjectAdapterMemento.java:183) org.apache.isis.viewer.wicket.model.m {code} 2.) using restul viewer and calling http://localhost:8080/restful/services/toDoItems/actions/newToDo/invoke with parameters {code} { sourceSystem: {value: CRM}, user: {value: user1}, agent: {value: agent1}, lKMS-ID: {value: 123}, validLocation: {value: true} } {code} I get this result {code} STATUS 200 OK TIME 118 ms Pretty Raw Preview Copy {code} Can't return a view model in Isis 1.6.0 over RO viewer. --- Key: ISIS-899 URL: https://issues.apache.org/jira/browse/ISIS-899 Project: Isis Issue Type: Bug Components: Core: Viewer: RestfulObjects Affects Versions: core-1.6.0 Reporter: Dan Haywood Assignee: Dan Haywood Fix For: core-1.7.0 Attachments: Address.java, AsePublicService.java, Street.java, Wicket.png -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ISIS-899) Can't return a view model in Isis 1.6.0 over RO viewer.
[ https://issues.apache.org/jira/browse/ISIS-899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14151022#comment-14151022 ] Jeroen van der Wal commented on ISIS-899: - Hi Vladimir, I don't see any call to the mementoservice to generate a string respresentation of the state of the objects, in Isis 1.6 you have to generate that first before instantiating the viewmodel. In Isis 1.7.0-SNAPSHOT you just have to annotate the pojo with @ViewModel and the memento will be generated behind the curtains based on the setters: {code} @ViewModel public class Address { public String title() { return Address lkmsId: + lkmsId; } private Street street; @MemberOrder(sequence = 3) public Street getStreet() { return street; } public void setStreet(final Street street) { this.street = street; } ... } {code} {code} @ViewModel public class Street { } {code} {code} public class AsePublicService { @Render(Type.EAGERLY) public Address getAddress(@Named(Source System) final String sourceSystem, @Named(User) final String user, @Named(Agent) final String agent, @Named(LKMS-ID) final String lkmsId, @Named(Valid Location) final boolean validLocation) { final Address address = new Address(); address.setHousenumber(12); Street street = new Street(); street.setStreetname(5th Avenue); address.setStreet(street); return address; } ... {code} The isPersistent=true looks like a bug. Can't return a view model in Isis 1.6.0 over RO viewer. --- Key: ISIS-899 URL: https://issues.apache.org/jira/browse/ISIS-899 Project: Isis Issue Type: Bug Components: Core: Viewer: RestfulObjects Affects Versions: core-1.6.0 Reporter: Dan Haywood Assignee: Dan Haywood Fix For: core-1.7.0 Attachments: Address.java, AsePublicService.java, Street.java, Wicket.png -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ISIS-899) Can't return a view model in Isis 1.6.0 over RO viewer.
[ https://issues.apache.org/jira/browse/ISIS-899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14150644#comment-14150644 ] Vladimir Nisevic commented on ISIS-899: --- Hi Dan, I don't know if I should use mailing list or this comment I've tested with latest version and it works up to some extent. I've implemented an ViewModel (Address) referencing another ViewModel (Street). I instantiate everything thru the domain service. Here my observations: - Wicket viewer shows empty String value of additional property of the Address ViewModel instance (Housenumber) - Wicket viewer shows empty Value of referenced Street ViewModel. I'd expect here getTitle() ? - RO viewer shows correctly the Address values but not the Street attributes. Here I'd expect in same response also referenced ViewModel properties.. - RO viewer shows for Address in extensions section - isPersistent:true extensions: { oid: *a1.ase.viewmodel.Address:ff, isService: false, isPersistent: true }, Regs,Vladimir Can't return a view model in Isis 1.6.0 over RO viewer. --- Key: ISIS-899 URL: https://issues.apache.org/jira/browse/ISIS-899 Project: Isis Issue Type: Bug Components: Core: Viewer: RestfulObjects Affects Versions: core-1.6.0 Reporter: Dan Haywood Assignee: Dan Haywood Fix For: core-1.7.0 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (ISIS-899) Can't return a view model in Isis 1.6.0 over RO viewer.
[ https://issues.apache.org/jira/browse/ISIS-899?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14146268#comment-14146268 ] ASF subversion and git services commented on ISIS-899: -- Commit db0cdef8eca68df33ac450e2d65682290c6bebfb in isis's branch refs/heads/master from [~danhaywood] [ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=db0cdef ] ISIS-899: fixing how to recreate the oid for view models (an obvious error in previous implementation); seems to be sufficient to address Can't return a view model in Isis 1.6.0 over RO viewer. --- Key: ISIS-899 URL: https://issues.apache.org/jira/browse/ISIS-899 Project: Isis Issue Type: Bug Components: Core: Viewer: RestfulObjects Affects Versions: core-1.6.0 Reporter: Dan Haywood Assignee: Dan Haywood Fix For: core-1.7.0 -- This message was sent by Atlassian JIRA (v6.3.4#6332)