You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Ilya Drabenia (JIRA)" <ji...@apache.org> on 2013/02/10 19:27:12 UTC

[jira] [Comment Edited] (CAY-1752) Java type should be a property of DbAttribute, not ObjAttribute

    [ https://issues.apache.org/jira/browse/CAY-1752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13575413#comment-13575413 ] 

Ilya Drabenia edited comment on CAY-1752 at 2/10/13 6:25 PM:
-------------------------------------------------------------

1-0013:
Applied after 1--0012.

Contains:
1. Fixes for cayenne modeler
2. Refactored java type and db attribute cell editors.
3. Some tests for obj attribute editor.

Known problems:
1. NPE in obj attribute dialog on null type
2. NPE in some cases on undo 
                
      was (Author: idrabenia):
    1-0013:
Applied after 1--0012.

Contains:
1. Fixes for cayenne modeler
2. Refactored java type and db attribute cell editors.
3. Some tests for obj attribute editor.

Known problems:
1. Do not generates classes from cayenne modeler
2. NPE in obj attribute dialog on null type
3. NPE in some cases on undo 
                  
> Java type should be a property of DbAttribute, not ObjAttribute
> ---------------------------------------------------------------
>
>                 Key: CAY-1752
>                 URL: https://issues.apache.org/jira/browse/CAY-1752
>             Project: Cayenne
>          Issue Type: Improvement
>          Components: Core Library
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>             Fix For: 3.2M1
>
>         Attachments: 0001-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 0002-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 0003-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 0004-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 0005-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 0006-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 0007-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 0008-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 0009-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 0010-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 0011-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 1-0001-0012-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch, 1-0013-CAY-1752-Java-type-should-be-a-property-of-DbAttribu.patch
>
>
> from here: http://markmail.org/message/icr7seqazgsdtewc
> I am thinking of redefining one of the mapping assumptions that was in Cayenne
> since day one. In 3.2 I want to move attribute java type from ObjAttribute to
> DbAttribute. The goal of this change is to improve consistency of the runtime
> model. Current separation of Java and DB attribute types causes a whole class of
> bugs and a whole class of hacks in the framework.
> E.g.:
> 1. Unrecognized non-standard type mapping. This one is discussed at the moment
> on the user list [1]. I suspect it has nothing to do with "custom" types, but
> rather with non-JDBC default mapping of DB data to Java, regardless of the Java
> type.
> 2. Hacks to recognize non-standard type mapping. When creating a DataRow,
> Cayenne would try to guess which ObjEntities might use this DataRow, and
> populate DataRows with values corresponding to the ObjAttribute type
> definitions. This clearly breaks layer separation - lower layers have to know
> too much about the higher layers of the stack. Besides it doesn't always work
> anyways - see #3.
> 3. Extra mapping "flexibility" that doesn't really work. We had past Jiras when
> the same column is mapped to different Java types in 2 different subclasses,
> creating a mess in subclass-agnostic DataRows.
> This is not a full list of problems, but gives you some idea. I am hoping the
> suggested change would tie things up and leave no space for ambiguities. 
> [1] http://markmail.org/message/6bs2suislyfp3apk

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira