You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Dzmitry Kazimirchyk (JIRA)" <ji...@apache.org> on 2011/09/02 17:24:09 UTC

[jira] [Updated] (CAY-1603) Improve custom ExtendedType registration API

     [ https://issues.apache.org/jira/browse/CAY-1603?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dzmitry Kazimirchyk updated CAY-1603:
-------------------------------------

    Attachment: extended-types.patch

Here is the patch that implements everything like you've described. But unfortunately it brokes DbGeneratorTask from cayenne-tools and cdbgen, cdbimport from maven-cayenne-plugin. 
All of them need to create database adapter for their work, so they need to somehow pass extended type lists to the adapter's constructor, but I can't find any possible way to do this. Another workaround may be creating constructor with no params in each adapter which actually will not load any extended types to the adapter's map.
Attaching patch to make sure that I haven't gone with this too far in a wrong direction.

> Improve custom ExtendedType registration API
> --------------------------------------------
>
>                 Key: CAY-1603
>                 URL: https://issues.apache.org/jira/browse/CAY-1603
>             Project: Cayenne
>          Issue Type: Improvement
>          Components: Core Library
>    Affects Versions: 3.1M2
>            Reporter: Dzmitry Kazimirchyk
>         Attachments: extended-types.patch, extended-types.patch
>
>
> Cayenne's present custom ExtendedTypes registration seems a little bit uncomfortable:
> // Find DataNode
> DataDomain domain = runtime.getDataDomain();
> // replace 'node_name' with the name of the DataNode you've entered in the Modeler.
> DataNode node = domain.getNode("node_name");
> // install ExtendedType
> node.getAdapter().getExtendedTypes().registerType(customType);
> It will be good to have some more friendly API, which allows custom type registration without getting DataNode and DataDomain. Suppose this can be implemented with a help of DI.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira