[forge-issues] [JBoss JIRA] (FORGE-114) Common methods in scaffold controller bean should abstracted to a supper class
Richard Kennard (Commented) (JIRA)
jira-events at lists.jboss.org
Tue Dec 6 21:05:40 EST 2011
[ https://issues.jboss.org/browse/FORGE-114?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12648683#comment-12648683 ]
Richard Kennard commented on FORGE-114:
---------------------------------------
I'm sorry to say that, personally, I'm against this change.
Any time we introduce a new base class, or some new support classes, we are effectively creating a little CRUD framework inside Forge. A CRUD framework that the end user is neither going to be expecting nor familiar with. Even comparatively benign mechanisms like 'getSuperClassGenericType' are unwieldly the first time you encounter them. If every class we generate extends such support classes, it makes it harder for the end user to manipulate them.
A comparative example would be that we should have a 'BasePersistentEntity' domain class that abstracts the @Id and @Version boilerplate. But most end users aren't going to want that.
It's not really what Forge is meant to be about. I'm fine if someone wants to create a 'Seam CRUD' module or something, and then Forge can generate to that. But to me 'vanilla Java EE' means no additional framework-y classes *even if* that makes the generated output a little more verbose.
Having said that, I've done a lot of work cleaning up and simplifying the generated BackingBean, so hopefully it is now better 'out of the box'.
> Common methods in scaffold controller bean should abstracted to a supper class
> ------------------------------------------------------------------------------
>
> Key: FORGE-114
> URL: https://issues.jboss.org/browse/FORGE-114
> Project: Forge
> Issue Type: Enhancement
> Components: Scaffold
> Affects Versions: 1.0.0.Beta2
> Reporter: Liu Jianhong
> Priority: Optional
> Fix For: 1.0.0.Beta4
>
> Attachments: scaffold-metawidget-lib.zip, second.zip
>
> Original Estimate: 1 day
> Remaining Estimate: 1 day
>
> Controller bean should as flowing:
> @Named
> @RequestScoped
> public class @{entity.getName()}Bean extends AbstractBean<@{entity.getName()}> implements MenuItem
> {
> }
> And we also can implement more than one AbstractBean such as FilterableBean and so on.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the forge-issues
mailing list