[forge-users] Scaffolding in Forge 2.x (was Beta5 next Monday ?)

Antonio Goncalves antonio.mailing at gmail.com
Sun Jan 5 06:23:51 EST 2014


Hum.... but really, if JavaEE is an addon, why, when I launch Forge for the
first time and hit TAB I have all the following commands :

$ faces-setup | jpa-setup | bean-validation-setup | ejb-setup | jstl-setup
| jax-ws-setup | jta-setup...

These are Java EE commands.


This is what I expect (first launch, hit TAB, no Java EE, then install
JavaEE addon and here comes Java EE commands):

[project] $  *[hit TAB]*
alias                       addon-remove                echo
         more                        unalias                   grep
               project-new                 services-list
export                      build                       exit
    pwd             addon-build-and-install     cd                   less
               touch
addon-install                   ls                          rm
             transaction-start
addon-new-command           clear               mkdir
scaffold-generate           man

[project] $  *addon-install --named javaee*

[project] $  *[hit TAB]*
alias                       addon-remove                echo
         *faces-setup                 jpa-setup           *        more
                   scaffold-setup
unalias                     bean-validation-setup       ejb-setup
        grep                        jstl-setup                  project-new
                services-list
export                      build                       exit
         jax-ws-setup                jta-setup                   pwd
                  servlet-setup
addon-build-and-install     cd                          faces-new-converter
        jms-setup                   less                        rest-setup
                 touch
addon-install               cdi-setup                   faces-new-validator
        jpa-new-entity              ls                          rm
                 transaction-start
addon-new-command           clear
faces-new-validator-method  jpa-new-field               mkdir
        scaffold-generate           man


The same thing could happen with a spring addon : you lauch Forge, no
Spring nor Java EE commands, install the Spring addon, and bang, new Spring
commands....

What bothers me is that there is a distinction between jpa commands
(jpa-new-entity, jpa-new-field...), setup commands (servlet-setup,
jstl-setup..) and the rest of Java EE commands only once the addon is
installed.

Anotonio


2014/1/4 George Gastaldi <ggastald at redhat.com>

> Interesting and certainly doable. I remember discussing this separation in
> the early days, but we decided to keep it all the javaee addons in a single
> addon for simplicity.
>
>
> Em 04/01/2014, às 18:47, Antonio Goncalves <antonio.mailing at gmail.com>
> escreveu:
>
> So as a user, I execute Forge, once in the shell I hit TAB and see cd, ls,
> touch, man... I install the jpa-addon, I hit TAB, I see these new commands,
> I install the jsf-addon, I hit TAB, and see these new commands....
>
>
> 2014/1/4 Antonio Goncalves <antonio.mailing at gmail.com>
>
>> But if I take your definition :
>>
>> > Scaffolding basically is code generation. Right now there is nothing
>> interactive or re-consumable about it.
>>
>> Then, generating entities from an already existing database, is
>> scaffolding. So I expect a forge -i jpa-addon. Then I get a set of
>> entities, and with Forge I can cd the entity and do a jpa-new-field. In
>> this example I scaffold and then add something to a generated entity.
>>
>> What's important in your sentence is "Right now". What if one day we
>> scaffold JSF pages and beans and we are able to cd a backing bean and do
>> jsf-new-field... then, there is no difference between JPA and JSF.
>>
>> My point is that as a user, I don't understand why when I hit TAB, by
>> default, I can see jpa commands, but not JSF or REST commands. I need to
>> install addons for some, and it's already installed for others.
>>
>> Maybe Forge should just be an empty shell (cd, ls, touch, man...) with no
>> extensions at all, and then I need to do a forge -i jpa-addon, forge -i
>> jsf-addon, forge -i rest-addon to get extensions.... and if I'm lazy and
>> just want to develop a Java EE app, I'll go forge -i javaee-addon.
>>
>> My 2 cents
>>
>> 2014/1/4 Lincoln Baxter, III <lincolnbaxter at gmail.com>
>>
>> Hey Antonio!
>>>
>>> Again, more excellent feedback! Thank you!
>>>
>>> First, I really don't see the difference between scaffolding and code
>>>> generation (I've mention that before). So, for me, as a user,
>>>> jpa-new-entity is a command that generates code, just like
>>>> scaffold-generate. But if we clarify this, users might get use to it.
>>>
>>>
>>> Scaffolding basically is code generation. Right now there is nothing
>>> interactive or re-consumable about it.
>>>
>>> Regarding the fact that you weren't able to see anything about JSF. I
>>> believe this is likely due to this issue that we identified in Beta4 and
>>> have fixed and tested for .Final -->
>>> https://issues.jboss.org/browse/FORGE-1407
>>>
>>> For example. This is still a bit strange because unless you have
>>> multiple scaffolds installed, you don't see the choice of scaffold type,
>>> but when I run scaffold setup in the latest SNAPSHOT, I see:
>>>
>>> *[*jpa-demo*]*$ scaffold-
>>>> scaffold-generate  scaffold-setup
>>>> *[*jpa-demo*]*$ scaffold-setup --facesVersion 2.
>>>> 2.2  2.1  2.0
>>>> *[*jpa-demo*]*$ scaffold-setup --facesVersion 2.2
>>>
>>>
>>> Additionally, when I type `--provider` manually without using TAB
>>> completion, then TAB complete the value, I do see the provider option, so
>>> there may still be something wrong with the fix for FORGE-1407:
>>>
>>> *[*main*]*$ scaffold-setup --provider Faces
>>>
>>>
>>> ~Lincoln
>>>
>>>
>>> On Sat, Jan 4, 2014 at 12:46 PM, Antonio Goncalves <
>>> antonio.mailing at gmail.com> wrote:
>>>
>>>> Scaffolding is really confusing. To scaffold my JSF pages I first need
>>>> to install scaffolding :
>>>>
>>>> forge -i scaffold
>>>>
>>>> And then, once in Forge I do :
>>>>
>>>> scaffold-setup
>>>> scaffold-generate --targets org.test.model.Customer
>>>>
>>>> And it generates JSF pages. Nowhere I see any mention of JSF in the
>>>> previous commands. These commands could have generated REST endpoint, EJBs,
>>>> AngularJS....
>>>>
>>>> First, I really don't see the difference between scaffolding and code
>>>> generation (I've mention that before). So, for me, as a user,
>>>> jpa-new-entity is a command that generates code, just like
>>>> scaffold-generate. But if we clarify this, users might get use to it.
>>>>
>>>> When I type forge -i scaffold, it installs plenty of stuff. Does this
>>>> mean it installs all the available scaffolding addons (JSF, REST,
>>>> AngularJS, Arquillian...) ? If not, I don't know what it installed. Why
>>>> don't we have :
>>>>
>>>> forge -i scaffold-jsf
>>>> forge -i scaffold-jpa
>>>> forge -i scaffold-rest
>>>> forge -i scaffold-soap
>>>>
>>>> or even better if we follow the new naming convention
>>>>
>>>> forge -i jsf-scaffold
>>>> forge -i jpa-scaffold
>>>> forge -i rest-scaffold
>>>> forge -i soap-scaffold
>>>>
>>>> Again, when I type scaffold-generate I really don't know what will
>>>> happen. Because scaffolding and generating are the same for me. So command
>>>> scaffold-generate sounds like generate-generate or scaffold-scaffold.
>>>> Why not having :
>>>>
>>>> jsf-scaffold  --targets org.test.model.Customer
>>>> jpa-scaffold  --dbName myDB --jdbcDriver org.apache.derby.Client
>>>> rest-scaffold  --targets org.test.model.Customer
>>>> soap-scaffold  --targets org.test.model.Customer
>>>>
>>>> What do you think ?
>>>> Antonio
>>>>
>>>>
>>>> 2014/1/4 George Gastaldi <ggastald at redhat.com>
>>>>
>>>>> The JSF scaffold was not installed with core in Beta4. We fixed that
>>>>> for 2.0.0.Final. Run forge -i scaffold to install it.
>>>>>
>>>>> Worth to mention that the available commands only generate the REST
>>>>> resource for the entities, the JSF scaffold does not consume them.
>>>>>
>>>>> Em 04/01/2014, às 13:53, Antonio Goncalves <antonio.mailing at gmail.com>
>>>>> escreveu:
>>>>>
>>>>> I can't see any command for REST of JSF scaffolding, so I suppose both
>>>>> are addons. How do I install these addons ?
>>>>>
>>>>>
>>>>> 2014/1/4 George Gastaldi <ggastald at redhat.com>
>>>>>
>>>>>> REST generation from JPA entities is already functional too.
>>>>>> Use rest-setup and rest-endpoint-from-entity
>>>>>>
>>>>>> Em 04/01/2014, às 11:52, Antonio Goncalves <antonio.mailing at gmail.com>
>>>>>> escreveu:
>>>>>>
>>>>>> Hum... I forgot, I also need REST scaffolding.... might be a bit
>>>>>> tight in schedule....
>>>>>>
>>>>>>
>>>>>> 2014/1/3 George Gastaldi <ggastald at redhat.com>
>>>>>>
>>>>>>> Both issues are now fixed. JSF scaffolding is ready since Beta4.
>>>>>>>
>>>>>>> We could release Beta5 monday but as we said in the IRC, 2.0.0.Final
>>>>>>> is due in Jan 15th, so that's up to Lincoln.
>>>>>>>
>>>>>>> Best Regards,
>>>>>>>
>>>>>>> George
>>>>>>>
>>>>>>> Em 03/01/2014, às 19:04, Antonio Goncalves <
>>>>>>> antonio.mailing at gmail.com> escreveu:
>>>>>>>
>>>>>>> Hi JBoss Forge Team,
>>>>>>>
>>>>>>> I should have mentioned that before, but next Tuesday (at the Lille
>>>>>>> JUG in France) and Thursday (London, GlassFish User Group), I'll be giving
>>>>>>> a talk on JBoss Forge. It's the same one I gave at JavaOne (
>>>>>>> http://blog.arungupta.me/2013/12/come-and-play-with-javaee7-javaone-2013-session/)
>>>>>>> but with few extra features.
>>>>>>>
>>>>>>> I'm doing it with Forge 1.x.... but actually, the only missing bits
>>>>>>> to make it run with Forge 2.x are :
>>>>>>>
>>>>>>> * Bean Validation (https://issues.jboss.org/browse/FORGE-1393)
>>>>>>> * Java enums (https://issues.jboss.org/browse/FORGE-1400)
>>>>>>> * JSF scaffolding
>>>>>>>
>>>>>>> So I was just wondering if this would be available on Monday for a
>>>>>>> Beta5 so I could use it
>>>>>>>
>>>>>>> Thank
>>>>>>>
>>>>>>> (just joking ;o)
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Antonio Goncalves
>>>>>>> Software architect and Java Champion
>>>>>>>
>>>>>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>>>>>>  | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>>>>>>  | Devoxx France <http://www.devoxx.fr/>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> forge-users mailing list
>>>>>>> forge-users at lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> forge-users mailing list
>>>>>>> forge-users at lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Antonio Goncalves
>>>>>> Software architect and Java Champion
>>>>>>
>>>>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>>>>>  | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>>>>>  | Devoxx France <http://www.devoxx.fr/>
>>>>>>
>>>>>> _______________________________________________
>>>>>> forge-users mailing list
>>>>>> forge-users at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> forge-users mailing list
>>>>>> forge-users at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Antonio Goncalves
>>>>> Software architect and Java Champion
>>>>>
>>>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>>>>  | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>>>>  | Devoxx France <http://www.devoxx.fr/>
>>>>>
>>>>> _______________________________________________
>>>>> forge-users mailing list
>>>>> forge-users at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> forge-users mailing list
>>>>> forge-users at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Antonio Goncalves
>>>> Software architect and Java Champion
>>>>
>>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>>>  | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>>>  | Devoxx France <http://www.devoxx.fr/>
>>>>
>>>> _______________________________________________
>>>> forge-users mailing list
>>>> forge-users at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>
>>>
>>>
>>>
>>> --
>>> Lincoln Baxter, III
>>> http://ocpsoft.org
>>> "Simpler is better."
>>>
>>> _______________________________________________
>>> forge-users mailing list
>>> forge-users at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>
>>
>>
>>
>> --
>> Antonio Goncalves
>> Software architect and Java Champion
>>
>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>  | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>  | Devoxx France <http://www.devoxx.fr/>
>>
>
>
>
> --
> Antonio Goncalves
> Software architect and Java Champion
>
> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>  | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>  | Devoxx France <http://www.devoxx.fr/>
>
> _______________________________________________
> forge-users mailing list
> forge-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-users
>
>
> _______________________________________________
> forge-users mailing list
> forge-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-users
>



-- 
Antonio Goncalves
Software architect and Java Champion

Web site <http://www.antoniogoncalves.org/> |
Twitter<http://twitter.com/agoncal>
 | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris
JUG<http://www.parisjug.org/>
 | Devoxx France <http://www.devoxx.fr/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-users/attachments/20140105/3fbc8add/attachment-0001.html 


More information about the forge-users mailing list