[XDoclet-JIRA] Updated: (XDT-697) Hibernate module ignores interface "subclassing"

[email protected]
Newsgroups gmane.comp.java.xdoclet.devel
Message-ID <[email protected]>
The following issue has been updated:

    Updater: Stein Martin Hustad (mailto:[email protected])
       Date: Tue, 26 Jul 2005 4:54 PM
    Comment:
I don't know if this patch will be applied, but someone may find it useful.

I have made an updated patch that adds an extends attribute to the @hibernate.subclass tag. This makes it possible to explicitly tell hibernate what it should consider the supertype to be. Useful when you want a class both extending one class and implementing another interface to behave as a subtype of the interface rather than the parent class. F.ex.

/**

 * @hibernate.class table="files"

 * @hibernate.discriminator column="discriminator"

 */

public interface File {...}

/**
 * @hibernate.subclass extends="File"

 */

public class FileImpl {...}

/**
 * @hibernate.subclass extends="File"
 */
public interface Folder extends File {...}

/**
 * @hibernate.subclass extends="Folder"
 */
public class FolderImpl extends FileImpl implements FileImpl {...}

Using this patch, a query of the type "from Folder f where <some criteria>" will return all FolderImpl's that match the criteria. Without this patch, nothing will return, as the FolderImpl are considered to be a subtype of FileImpl, not Folder.
    Changes:
             Attachment changed to patch-extends.txt
    ---------------------------------------------------------------------
For a full history of the issue, see:

  http://opensource.atlassian.com/projects/xdoclet/browse/XDT-697?page=history

---------------------------------------------------------------------
View the issue:
  http://opensource.atlassian.com/projects/xdoclet/browse/XDT-697

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: XDT-697
    Summary: Hibernate module ignores interface "subclassing"
       Type: Bug

     Status: Open
   Priority: Minor

 Original Estimate: Unknown
 Time Spent: Unknown
  Remaining: Unknown

    Project: XDoclet
 Components: 
             Hibernate Module
   Versions:
             1.2 Beta 3

   Assignee: xdoclet-devel (Use for new issues)
   Reporter: Jan Berkel

    Created: Sun, 2 Nov 2003 6:57 PM
    Updated: Tue, 26 Jul 2005 4:54 PM

Description:
hibernatedoclet doesn't support interfaces and @subclass.

/** @hibernate.class table="FOO" */
public interface Foo
{
 // method declaration + doclets
}

/** @hibernate.subclass */
public class FooImpl implements Foo
{
 // implementation
}

this should produce:

<hibernate-mapping>
 <class name="Foo" table="FOO">

 ...properties...
 <subclass name="FooImpl">
 ...properties...
 </subclass>
</class>

but classes implementing Foo are silently ignored by the hibernate module, so the <subclass> -element inside the generated mapping file is missing.


---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://opensource.atlassian.com/projects/xdoclet/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.