On 17 July 2013 09:45, David Tildesley <[email protected]> wrote:
>
> Issues with getting it running:
>
Thanks for this feedback, David.
>
> ISIS: date related tests [1] (commented the tests out temporarily)
>
Yup, noted. I have no intention of fixing this, because it's an issue with
the SQL ObjectStore, not the DN ObjectStore. I'll raise a separate thread
on this to discuss.
> Estatio: [2] (fixed the source).
>
>
Wierd. Must be different Java compilers. The fixes you made are for
arrays of the @javax.jdo.annotations.Query annotations, eg:
@javax.jdo.annotations.Queries({
@javax.jdo.annotations.Query(...),
@javax.jdo.annotations.Query(...),
@javax.jdo.annotations.Query(...),
})
The issue is that trailing comma. In Oracle JDK 1.6's javac, which is what
I use to compile with currently, that trailing comma is fine. I'll remove
it throughout, though, for maximum compatibility.
> Usability issue:
>
> Create a communication channel from Person - once you've created the
> communication channel there is no obvious way back to the Person instance
> you were dealing with.
Yes; that's because we want CommunicationChannel to be a fairly reusable
concept (attachable to Parties, to FixedAssets etc). But you are right, it
creates a dead-end in the application.
> I guess if there was a "find Person" a bookmark would have existed if that
> was the initial method to locate the person. However when you have just
> created the person and you are adding details such as "communication
> channel" there is no bookmark to relocate the person in context. I guess
> this is more a general wicket viewer observation.
>
>
Rather: I think it's a poor model. One of the things with Isis (or rather:
the naked objects pattern), is that it surfaces poor modelling issues...
there's nowhere for it to hide or be fudged over. I'm sure you've
discovered this yourself.
In this case I've made a CommunicationChannel have an owner property (of
type CommunicationChannelOwner). This is a polymorphic relation, and is
modelled using:
@javax.jdo.annotations.Persistent(extensions = { @Extension(vendorName
= "datanucleus", key = "mapping-strategy", value = "per-implementation") })
private CommunicationChannelOwner owner;
In fact, I think I need to make some further changes here... the PowerType
concept that we were using to be able to polymorphically create subtypes
doesn't really work with mandatory properties in those subtypes. I think
I'll go off and play with that.
> Thanks for putting this up - we'll keep exploring it.
>
>
Do, please.
Cheers
Dan
> Regards,
> David.
>
>