You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2014/05/24 15:54:01 UTC

[jira] [Created] (ISIS-788) Delete the Isis Blob/Clob Converter classes for JDO, since redundant.

Dan Haywood created ISIS-788:
--------------------------------

             Summary: Delete the Isis Blob/Clob Converter classes for JDO, since redundant.
                 Key: ISIS-788
                 URL: https://issues.apache.org/jira/browse/ISIS-788
             Project: Isis
          Issue Type: Improvement
          Components: Objectstore: JDO
    Affects Versions: objectstore-jdo-1.4.1
            Reporter: Dan Haywood
            Assignee: Dan Haywood
            Priority: Trivial
             Fix For: objectstore-jdo-1.5.0


As per query to Andy Jefferson:

> I also implemented the TypeConverter interface for Blob and Clob;
> but I'm not sure how DN actually uses it.  Can you enlighten me?

If the user has specified to use a TypeConverter on a field
http://www.datanucleus.org/products/accessplatform/jdo/types.html#typeconverter

then it will select TypeConverterMapping for that field (the log should say).
This has the TypeConverter internally, and will handle creation of the
required column (for the datastore type of the converter), and automate the getObject/setObject of the XXXMapping that you would have had to write if you had written the Mapping class manually.
https://github.com/datanucleus/datanucleus-rdbms/blob/3.2/src/java/org/datanucleus/store/rdbms/mapping/java/TypeConverterMapping.java

On a persist, the setObject is called, passing through the converter. On a
fetch the getObject is called, passing through the converter.

In DN 4.0, there is even less need to provide the XXXMapping classes,  adding on TypeConverterMultiMapping so for cases like your multi-column Blob it may be possible to do it just via a (different) converter (with multiple columns).




--
This message was sent by Atlassian JIRA
(v6.2#6252)