Daniel Keir Haywood created ISIS-2731:
-----------------------------------------

             Summary: Allow injected services to have getters on them.  This 
would allow entities to be annotated with @lombok.Data, removing some 
boilerplate.
                 Key: ISIS-2731
                 URL: https://issues.apache.org/jira/browse/ISIS-2731
             Project: Isis
          Issue Type: Improvement
          Components: Isis Core
    Affects Versions: 2.0.0-M5
            Reporter: Daniel Keir Haywood
             Fix For: 2.0.0


we had an entity:
{code:java}
@Data
public class Organisation {
    ...

    @Inject CLockService clockService;
}{code}
Attempting to render this in Wicket results in a stack trace, because we have 
made the getClockService() into a property:
{code:java}
java.lang.IllegalArgumentExceptionDon't know how to create an ObjectMemento for 
a type with ObjectSpecification 
ObjectSpecificationDefault@3d53e732[class=org.apache.isis.core.runtimeservices.clock.ClockServiceDefault,type=MANAGED_BEAN_NOT_CONTRIBUTING,superclass=java.lang.Object].
 All other strategies failed. Type is neither identifiable (isManagedBean() || 
isViewModel() || isEntity()), nor is a 'parented' Collection, nor has 
'encodable' semantics, nor is (Serializable || 
Externalizable)org.apache.isis.commons.internal.exceptions._Exceptions#illegalArgument(_Exceptions.java:80)org.apache.isis.viewer.wicket.viewer.services.mementos.ObjectMementoWkt#init(ObjectMementoWkt.java:475)org.apache.isis.viewer.wicket.viewer.services.mementos.ObjectMementoWkt#<init>(ObjectMementoWkt.java:435)org.apache.isis.viewer.wicket.viewer.services.mementos.ObjectMementoWkt#createOrNull(ObjectMementoWkt.java:67)org.apache.isis.viewer.wicket.viewer.services.mementos.ObjectMementoServiceWicket#mementoForObject(ObjectMementoServiceWicket.java:80)org.apache.isis.viewer.wicket.model.models.ManagedObjectModel#setObject(ManagedObjectModel.java:91)org.apache.isis.viewer.wicket.model.models.ScalarPropertyModel#reset(ScalarPropertyModel.java:129)org.apache.isis.viewer.wicket.model.models.ScalarPropertyModel#<init>(ScalarPropertyModel.java:56)org.apache.isis.viewer.wicket.model.models.EntityModel#getPropertyModel(EntityModel.java:237)org.apache.isis.viewer.wicket.ui.components.entity.fieldset.PropertyGroup#addPropertyToForm(PropertyGroup.java:204)org.apache.isis.viewer.wicket.ui.components.entity.fieldset.PropertyGroup#buildGui(PropertyGroup.java:117)org.apache.isis.viewer.wicket.ui.components.entity.fieldset.PropertyGroup#<init>(PropertyGroup.java:80)
 {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to