[forge-issues] [JBoss JIRA] (FORGE-1479) Explicitly setup in Bean Validation, not in JPA

George Gastaldi (JIRA) issues at jboss.org
Fri Feb 14 14:22:29 EST 2014


    [ https://issues.jboss.org/browse/FORGE-1479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12944838#comment-12944838 ] 

George Gastaldi commented on FORGE-1479:
----------------------------------------

Here is a sample output of the behavior implemented in the pull-request: 

{code}
    _____                    
   |  ___|__  _ __ __ _  ___ 
   | |_ / _ \| `__/ _` |/ _ \  \\
   |  _| (_) | | | (_| |  __/  //
   |_|  \___/|_|  \__, |\___| 
                   |___/      

JBoss Forge, version [ 2.0.1-SNAPSHOT ] - JBoss, by Red Hat, Inc. [ http://forge.jboss.org ]

[bin]$ project-new --named mydemo 
***SUCCESS*** Project named 'mydemo' has been created.
[mydemo]$ jpa-new-entity --named Customer --
--jpaVersion  --container  --provider  --configureMetadata  --targetPackage  --idStrategy  
[mydemo]$ jpa-new-entity --named Customer   
***SUCCESS*** Persistence (JPA) is installed.
***SUCCESS*** Entity org.mydemo.model.Customer created
[Customer.java]$ rest-
rest-generate-endpoints-from-entities  rest-setup  
[Customer.java]$ rest-generate-endpoints-from-entities --
--jaxrsVersion     --config           --className        --targets          --contentType      --persistenceUnit  
--applicationPath  --targetPackage    --ejbVersion       --generator        --packageName      
[Customer.java]$ rest-generate-endpoints-from-entities --target
--targetPackage  --targets  
[Customer.java]$ rest-generate-endpoints-from-entities --targets --
--jaxrsVersion     --config           --className        --generator        --packageName      
--applicationPath  --targetPackage    --targets          --contentType      --persistenceUnit  
[Customer.java]$ rest-generate-endpoints-from-entities --targets org.mydemo.model.Customer 
***SUCCESS*** JAX-RS has been installed.
***SUCCESS*** EJB has been installed.
***SUCCESS*** Endpoint created
[CustomerEndpoint.java]$ build 
***SUCCESS*** Build Success
{code}
                
> Explicitly setup in Bean Validation, not in JPA
> -----------------------------------------------
>
>                 Key: FORGE-1479
>                 URL: https://issues.jboss.org/browse/FORGE-1479
>             Project: Forge
>          Issue Type: Sub-task
>          Components: UI - Shell
>    Affects Versions: 2.0.0.CR2
>            Reporter: Antonio Goncalves
>             Fix For: 2.x Future
>
>
> Just after a creating a project, a create a new entity without setting up the persistence ({{jpa-setup}}) : 
> {code}
> ***SUCCESS*** Project named 'test' has been created.
> [test]$ jpa-new-entity --named Author
> [Author.java]$ jpa-new-field --named firstname --length 50
> ***SUCCESS*** Field firstname created
> {code}
> This hasn't created a {{persistence.xml}} file. But on the other hand, if I want to add a constraint on the entity, I need to explicitelly setup Bean Validation : 
> {code}
> [Author.java]$ con
> connection-profile-create  connection-profile-remove  constraint-setup
> [Author.java]$ constraint-setup
> ***SUCCESS*** Bean Validation is installed.
> [Author.java]$ con
> connection-profile-create  connection-profile-remove  constraint-add  constraint-setup
> [Author.java]$ constraint-add --constraint NotNull --onProperty firstname
> ***SUCCESS*** Constraint NotNull successfully configured
> {code}
> if most of the information is giving at project creation, do we still need to explicitly setup Java EE components ? At the moment we have the following :
> {code}
> servlet-setup
> ejb-setup
> soap-setup
> cdi-setup
> jms-setup
> rest-setup
> jpa-setup
> faces-setup
> jstl-setup
> jta-setup
> constraint-setup
> {code}
> Most of these commands do not have parameters (except for persistence, rest, validation). So why not activate them by default (or only if {{export ACCEPT_DEFAULTS=true}} ) ? Something like : "if the command {{constraint-add}} is entered, Forge would go {{if constraint is not setup, then I invoke constraint-setup}}",  "if the command {{ejb-new}} is entered, Forge would go {{if ejb is not setup, then I invoke ejb-setup}}"
> That would save some bugs (developers forgetting to setup things), less typing and shorter scripts.

--
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


More information about the forge-issues mailing list