[forge-dev] POH5 runtime generation

Ryan Bradley rbradley at redhat.com
Wed Feb 29 09:43:37 EST 2012


Yup, my ScaffoldProvider is picked up when I run *scaffold setup 
--scaffoldType spring *(the alias of the ScaffoldProvider implementaton).

Cheers,
Ryan

On 02/28/2012 05:06 PM, Lincoln Baxter, III wrote:
> From what I can tell - the Aerogear scaffold is not being picked up as 
> a ScaffoldProvider, which is odd...
>
> Ryan, have you actually tried running your scaffold provider in a real 
> forge runtime? Does it get picked up when you run *scaffold setup 
> --scaffoldType xxxxx *?
>
> ~Lincoln
>
> On Tue, Feb 28, 2012 at 4:23 PM, Richard Kennard 
> <richard at kennardconsulting.com <mailto:richard at kennardconsulting.com>> 
> wrote:
>
>     Pete: could you try running with VERBOSE set to true?
>
>     Lincoln: could you take a look at this? I actually can't get
>     plugins working on my Windows machine (see earlier post), so I've
>     just been building via unit tests this whole time (see
>     https://github.com/forge/scaffold-aerogear/blob/master/src/test/java/org/jboss/forge/scaffold/aerogear/scenario/employeedatabase/AeroGearScaffoldEmployeeDatabaseTest.java).
>
>     On 29/02/2012 1:19 AM, Pete Muir wrote:
>
>         Getting there, now get an error running scaffold:
>
>         ***SUCCESS*** Installed from
>         [git://github.com/forge/scaffold-aerogear.git
>         <http://github.com/forge/scaffold-aerogear.git>] successfully.
>         Wrote /Users/pmuir/.forge/plugins/org/jboss
>         Wrote /Users/pmuir/.forge/plugins/org/jboss/forge
>         Wrote /Users/pmuir/.forge/plugins/org/jboss/forge/plugins
>         Wrote /Users/pmuir/.forge/plugins/org/jboss/forge/plugins/aerogear
>         Wrote
>         /Users/pmuir/.forge/plugins/org/jboss/forge/plugins/aerogear/plugin-scaffold-aerogear
>         Wrote
>         /Users/pmuir/.forge/plugins/org/jboss/forge/plugins/aerogear/plugin-scaffold-aerogear/1.0.0-SNAPSHOT-979983d6-c420-45db-960a-6a0b37ea8ed1
>         Wrote
>         /Users/pmuir/.forge/plugins/org/jboss/forge/plugins/aerogear/plugin-scaffold-aerogear/1.0.0-SNAPSHOT-979983d6-c420-45db-960a-6a0b37ea8ed1/plugin-scaffold-aerogear.jar
>         Wrote
>         /Users/pmuir/.forge/plugins/org/jboss/forge/plugins/aerogear/plugin-scaffold-aerogear/1.0.0-SNAPSHOT-979983d6-c420-45db-960a-6a0b37ea8ed1/module.xml
>         Wrote
>         /Users/pmuir/.forge/plugins/org/jboss/forge/plugins/aerogear/plugin-scaffold-aerogear/dependencies
>         Wrote
>         /Users/pmuir/.forge/plugins/org/jboss/forge/plugins/aerogear/plugin-scaffold-aerogear/dependencies/1.0.0-SNAPSHOT-979983d6-c420-45db-960a-6a0b37ea8ed1
>         Wrote
>         /Users/pmuir/.forge/plugins/org/jboss/forge/plugins/aerogear/plugin-scaffold-aerogear/dependencies/1.0.0-SNAPSHOT-979983d6-c420-45db-960a-6a0b37ea8ed1/metawidget-all-2.1-SNAPSHOT.jar
>         Wrote
>         /Users/pmuir/.forge/plugins/org/jboss/forge/plugins/aerogear/plugin-scaffold-aerogear/dependencies/1.0.0-SNAPSHOT-979983d6-c420-45db-960a-6a0b37ea8ed1/module.xml
>         [no project] workspace $ new-project --named test
>         --topLevelPackage com.test --type war
>          ? Use [/Users/pmuir/workspace/test] as project directory? [Y/n]
>         ***SUCCESS*** Created project [test] in new working directory
>         [/Users/pmuir/workspace/test]
>         Wrote /Users/pmuir/workspace/test
>         Wrote /Users/pmuir/workspace/test/pom.xml
>         Wrote /Users/pmuir/workspace/test/src/main/java
>         Wrote /Users/pmuir/workspace/test/src/test/java
>         Wrote /Users/pmuir/workspace/test/src/main/webapp
>         Wrote /Users/pmuir/workspace/test/src/main/resources
>         Wrote /Users/pmuir/workspace/test/src/test/resources
>         Wrote
>         /Users/pmuir/workspace/test/src/main/resources/META-INF/forge.xml
>         [test] test $ persistence setup
>          ? [provider=ARG (of type
>         org.jboss.forge.spec.javaee.jpa.api.JPAProvider)]:
>          ? [provider=ARG (of type
>         org.jboss.forge.spec.javaee.jpa.api.JPAProvider)]: HIBERNATE
>          ? [container=ARG (of type
>         org.jboss.forge.spec.javaee.jpa.api.JPAContainer)]: JBOSS_AS
>         JBOSS_AS6    JBOSS_AS7
>          ? [container=ARG (of type
>         org.jboss.forge.spec.javaee.jpa.api.JPAContainer)]: JBOSS_AS7
>         Warning:  The encoding 'UTF-8' is not supported by the Java
>         runtime.
>         ***SUCCESS*** Installed [forge.spec.jpa] successfully.
>         ***INFO*** Setting transaction-type="JTA"
>         ***INFO*** Using example data source
>         [java:jboss/datasources/ExampleDS]
>         Warning:  The encoding 'UTF-8' is not supported by the Java
>         runtime.
>          ? The JPA provider [HIBERNATE], also supplies extended APIs.
>         Install these as well? [y/N]
>         ***SUCCESS*** Persistence (JPA) is installed.
>         Wrote
>         /Users/pmuir/workspace/test/src/main/resources/META-INF/persistence.xml
>         Wrote /Users/pmuir/workspace/test/pom.xml
>         [test] test $ scaffold setup --scaffoldType aerogear
>         ***ERROR*** [scaffold setup] null
>         [test] test $ scaffold setup --scaffoldType aerogear
>         ***ERROR*** [scaffold setup] null
>         [test] test $
>
>
>         On 28 Feb 2012, at 00:21, Richard Kennard wrote:
>
>             Apologies. I forgot to update the Metawidget 2.1-SNAPSHOT
>             in the JBoss repo. Please try again now? Or, at a pinch,
>             the blog entry contains a link to the generated project.
>
>             Regards,
>
>             Richard.
>
>             On 28/02/2012 12:01 AM, Pete Muir wrote:
>
>                 I get an error when trying to install the plugin:
>
>                 [no project] development $ forge git-plugin
>                 git://github.com/forge/scaffold-aerogear.git
>                 <http://github.com/forge/scaffold-aerogear.git>
>                 ***INFO*** Checking out plugin source files to
>                 [/var/folders/ph/8l1qbzzj23x7r628rqg5fqq00000gn/T/forgetemp2637555117540383425/repo]
>                 via 'git'
>                 ***WARNING*** Could not find a Ref matching the
>                 current Forge version [1.0.0.CR2], building Plugin
>                 from HEAD.
>                 ***INFO*** Invoking build with underlying build system.
>                 [INFO] Scanning for projects...
>                 [INFO]
>                 [INFO]
>                 ------------------------------------------------------------------------
>                 [INFO] Building plugin-scaffold-aerogear 1.0.0-SNAPSHOT
>                 [INFO]
>                 ------------------------------------------------------------------------
>                 [INFO]
>                 [INFO] --- maven-clean-plugin:2.4.1:clean
>                 (default-clean) @ plugin-scaffold-aerogear ---
>                 [INFO]
>                 [INFO] --- maven-resources-plugin:2.5:resources
>                 (default-resources) @ plugin-scaffold-aerogear ---
>                 [debug] execute contextualize
>                 [WARNING] Using platform encoding (MacRoman actually)
>                 to copy filtered resources, i.e. build is platform
>                 dependent!
>                 [INFO] Copying 21 resources
>                 [INFO]
>                 [INFO] --- maven-compiler-plugin:2.3.2:compile
>                 (default-compile) @ plugin-scaffold-aerogear ---
>                 [WARNING] File encoding has not been set, using
>                 platform encoding MacRoman, i.e. build is platform
>                 dependent!
>                 [INFO] Compiling 12 source files to
>                 /private/var/folders/ph/8l1qbzzj23x7r628rqg5fqq00000gn/T/forgetemp2637555117540383425/repo/target/classes
>                 [INFO]
>                 -------------------------------------------------------------
>                 [ERROR] COMPILATION ERROR :
>                 [INFO]
>                 -------------------------------------------------------------
>                 [ERROR]
>                 /private/var/folders/ph/8l1qbzzj23x7r628rqg5fqq00000gn/T/forgetemp2637555117540383425/repo/src/main/java/org/jboss/forge/scaffold/aerogear/metawidget/layout/HtmlDivLayout.java:[48,18]
>                 cannot find symbol
>                 symbol  : method
>                 getWidgetId(org.metawidget.statically.StaticXmlWidget)
>                 location: class
>                 org.jboss.forge.scaffold.aerogear.metawidget.layout.HtmlDivLayout
>                 [ERROR]
>                 /private/var/folders/ph/8l1qbzzj23x7r628rqg5fqq00000gn/T/forgetemp2637555117540383425/repo/src/main/java/org/jboss/forge/scaffold/aerogear/metawidget/layout/HtmlDivLayout.java:[44,3]
>                 method does not override or implement a method from a
>                 supertype
>                 [INFO] 2 errors
>                 [INFO]
>                 -------------------------------------------------------------
>                 [INFO]
>                 ------------------------------------------------------------------------
>                 [INFO] BUILD FAILURE
>                 [INFO]
>                 ------------------------------------------------------------------------
>                 [INFO] Total time: 6.255s
>                 [INFO] Finished at: Mon Feb 27 12:59:37 GMT 2012
>                 [INFO] Final Memory: 14M/125M
>                 [INFO]
>                 ------------------------------------------------------------------------
>                 [ERROR] Failed to execute goal
>                 org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile
>                 (default-compile) on project plugin-scaffold-aerogear:
>                 Compilation failure: Compilation failure:
>                 [ERROR]
>                 /private/var/folders/ph/8l1qbzzj23x7r628rqg5fqq00000gn/T/forgetemp2637555117540383425/repo/src/main/java/org/jboss/forge/scaffold/aerogear/metawidget/layout/HtmlDivLayout.java:[48,18]
>                 cannot find symbol
>                 [ERROR] symbol  : method
>                 getWidgetId(org.metawidget.statically.StaticXmlWidget)
>                 [ERROR] location: class
>                 org.jboss.forge.scaffold.aerogear.metawidget.layout.HtmlDivLayout
>                 [ERROR]
>                 /private/var/folders/ph/8l1qbzzj23x7r628rqg5fqq00000gn/T/forgetemp2637555117540383425/repo/src/main/java/org/jboss/forge/scaffold/aerogear/metawidget/layout/HtmlDivLayout.java:[44,3]
>                 method does not override or implement a method from a
>                 supertype
>                 [ERROR] ->   [Help 1]
>                 [ERROR]
>                 [ERROR] To see the full stack trace of the errors,
>                 re-run Maven with the -e switch.
>                 [ERROR] Re-run Maven using the -X switch to enable
>                 full debug logging.
>                 [ERROR]
>                 [ERROR] For more information about the errors and
>                 possible solutions, please read the following articles:
>                 [ERROR] [Help 1]
>                 http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
>                 ***ERROR*** [forge git-plugin] Build failed.
>                 [no project] development $ version
>                 JBoss Forge, version [ 1.0.0.CR2 ] - JBoss, by Red
>                 Hat, Inc. [ http://jboss.org/forge ]
>                 [no project] development $
>
>                 On 24 Feb 2012, at 20:44, Richard Kennard wrote:
>
>                     Pete, Jay, Rodney,
>
>                     The work I have checked in to GitHub...
>
>                     https://github.com/forge/scaffold-aerogear
>
>                     ...and the blog entry I have documented...
>
>                     https://community.jboss.org/thread/195877
>
>                     ...brings me to 240 hours (well, a little over,
>                     but I won't complicate things :). So I guess that
>                     concludes the contract we first discussed last
>                     October, the deliverables being 'A statically
>                     generated, extend-able [JSF] UI scaffold framework
>                     for Forge' and 'Investigation of use of Metawidget
>                     in Mobile'.
>
>                     Thank you for giving me this opportunity. I have
>                     enjoyed the work immensely, have learnt a lot, and
>                     everybody has been very helpful and supportive. I
>                     hope what I've produced has met your expectations.
>
>                     I look forward to hearing from Jay regarding the
>                     AeroGear proof of concept, and to our contract
>                     meeting on 1st March.
>
>                     Thanks again,
>
>                     Richard.
>
>                     On 17/02/2012 10:57 PM, Jay Balunas wrote:
>
>                         On Feb 17, 2012, at 1:52 AM, Richard
>                         Kennard<richard at kennardconsulting.com
>                         <mailto:richard at kennardconsulting.com>>    wrote:
>
>                             Jay,
>
>                                 look forward to seeing what you are
>                                 planning, and working on.
>
>                             Yes, sorry to be leaving you in the dark.
>                             Progress was slow at the start (I've never
>                             used JQuery or JSON or HTML 5), but is now
>                             coming together nicely. I'm 32 hours in
>                             with 31 hours left in the contact. I
>                             should be able to do another 15 hours or
>                             so before March 1st, by which time I
>                             should have something to show you.
>
>                         Excellent!
>
>                             Regards,
>
>                             Richard.
>
>                             On 16/02/2012 1:00 PM, Jay Balunas wrote:
>
>                                 On Feb 15, 2012, at 8:58 PM, Richard
>                                 Kennard wrote:
>
>                                     Jay,
>
>                                     Okay great. There is a meeting on
>                                     1st March with Pete, Rodney and
>                                     myself to discuss The Future. You
>                                     may want to attend, or talk to
>                                     them before that?
>
>                                 Absolutely!  I'll touch base with them
>                                 about that, and look forward to seeing
>                                 what you are planning, and working on.
>
>                                     Regards,
>
>                                     Richard.
>
>                                     On 16/02/2012 12:12 PM, Jay
>                                     Balunas wrote:
>
>                                         On Feb 15, 2012, at 6:49 PM,
>                                         Richard
>                                         Kennard<richard at kennardconsulting.com
>                                         <mailto:richard at kennardconsulting.com>>
>                                              wrote:
>
>                                             Jay,
>
>                                             By runtime generation, you
>                                             mean JavaScript generating
>                                             HTML widgets dynamically
>                                             in response to
>                                             inspecting/reflecting
>                                             incoming metadata?
>
>                                         +1
>
>                                             The current POC is
>                                             focussed on *static*
>                                             generation of HTML widgets
>                                             (at 'Forge time'). So you
>                                             are talking about the work
>                                             beyond that?
>
>                                         Understood, and yes this would
>                                         be something additional.
>
>                                             For an example, please see
>                                             the 'GWT Client Side' demo
>                                             in the Metawidget examples
>                                             distribution. This is
>                                             written using GWT compiled
>                                             to JavaScript. Are you are
>                                             asking for something
>                                             similar, but a POH5 version?
>
>                                         The GWT solution could be very
>                                         interesting, both the approach
>                                         and the possible implication
>                                         with poh5 (not mutually exclusive)
>
>                                             Regards,
>
>                                             Richard.
>
>                                             On 16/02/2012 2:22 AM, Jay
>                                             Balunas wrote:
>
>                                                 Hi Richard,
>
>                                                 I wanted to follow up
>                                                 on this, I know you
>                                                 only work Fridays on
>                                                 the JBoss stuff, so I
>                                                 wanted to catch you
>                                                 before that.
>
>                                                 There may also be
>                                                 pressure to get some
>                                                 of the POH5 runtime
>                                                 generation in place
>                                                 for JBoss World, so I
>                                                 wanted to discuss you
>                                                 expected availability
>                                                 between now and then.
>
>                                                 I'd like to see your
>                                                 contract extended, but
>                                                 wanted to check with
>                                                 you first.
>
>                                                 Thoughts?
>
>                                                 -Jay
>
>                                                 On Feb 10, 2012, at
>                                                 7:50 AM, Marius
>                                                 Bogoevici wrote:
>
>                                                     The convention is
>                                                     to use different
>                                                     URLs for
>                                                     Create/Update, e.g.
>
>                                                     POST /members ->  
>                                                         create
>
>                                                     PUT /members/1 (or
>                                                     POST /members/1
>                                                     take that,
>                                                     oppressive RESTful
>                                                     conventional
>                                                     wisdom  ;) ) UPDATE
>
>                                                     To me, it's not
>                                                     inconceivable that
>                                                     clients of such a
>                                                     service will
>                                                     perform ad-hoc
>                                                     updates (i.e. not
>                                                     part of a GET
>                                                     data/UPDATE data
>                                                     cycle), so
>                                                     assuming that
>                                                     there's a
>                                                     conversation going
>                                                     on won't help too
>                                                     much.
>
>                                                     I believe that
>                                                     such a service
>                                                     (especially if
>                                                     scaffolded with
>                                                     Forge) should use
>                                                     JSON throughout
>                                                     (rather than form
>                                                     data), and I
>                                                     *believe* this is
>                                                     what the Forge
>                                                     JAX-RS plugin does
>                                                     too, but I would
>                                                     have to check on
>                                                     that. In a more
>                                                     elaborate context
>                                                     like Forge, we
>                                                     could pair that
>                                                     with Backbone.js
>                                                     (or something else
>                                                     that Jay&co love,
>                                                     but I think Bb.js
>                                                     was the belle of
>                                                     the ball) and use
>                                                     fetch()/save()/destroy()
>                                                     capabilities to
>                                                     streamline CRUD. IMO.
>
>
>                                                     On 12-02-10 5:43
>                                                     AM, Pete Muir wrote:
>
>                                                         Adding Marius.
>
>                                                         BTW Richard,
>                                                         I'm sure you
>                                                         know this but
>                                                         Lincoln added
>                                                         JAX-RS
>                                                         scaffold to
>                                                         Forge.
>                                                         Whatever we do
>                                                         here should be
>                                                         well
>                                                         integrated
>                                                         with that...
>
>                                                         On 10 Feb
>                                                         2012, at
>                                                         04:40, Richard
>                                                         Kennard wrote:
>
>                                                             Jay,
>
>                                                             (please
>                                                             advise if
>                                                             there is
>                                                             an
>                                                             aerogear
>                                                             group I
>                                                             should be
>                                                             posting
>                                                             this to).
>
>                                                             As a first
>                                                             step
>                                                             towards a
>                                                             Forge/Metawidget/AeroGear/POH5
>                                                             scaffolding,
>                                                             I am
>                                                             working on
>                                                             a POH5
>                                                             CRUD app.
>                                                             The
>                                                             'jboss-html5-mobile-archetype'
>                                                             has given
>                                                             me a great
>                                                             head
>                                                             start, but
>                                                             there is
>                                                             some way
>                                                             to go.
>
>                                                             The first
>                                                             significant roadblock
>                                                             I have hit
>                                                             is
>                                                             *updating*
>                                                             existing
>                                                             entities.
>                                                             The
>                                                             archetype
>                                                             doesn't
>                                                             really
>                                                             cover
>                                                             this, but
>                                                             it sets a
>                                                             direction
>                                                             when it
>                                                             does...
>
>                                                               @POST
>                                                              
>                                                             @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
>                                                              
>                                                             @Produces(MediaType.APPLICATION_JSON)
>                                                               public
>                                                             Response
>                                                             createMember(@FormParam("name")
>                                                             String
>                                                             name ...
>
>                                                             A simple
>                                                             approach
>                                                             would be
>                                                             to simply
>                                                             add...
>
>                                                               @POST
>                                                              
>                                                             @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
>                                                              
>                                                             @Produces(MediaType.APPLICATION_JSON)
>                                                               public
>                                                             Response
>                                                             createMember(@FormParam("id")
>                                                             String id,
>                                                             @FormParam("name")
>                                                             String
>                                                             name ...
>
>                                                             However
>                                                             this would
>                                                             make the
>                                                             cardinal
>                                                             mistake of
>                                                             'trusting
>                                                             the
>                                                             client'
>                                                             (to send
>                                                             back the
>                                                             original
>                                                             id).
>                                                             Instead, I
>                                                             think we
>                                                             need to
>                                                             keep a
>                                                             copy of
>                                                             any hidden
>                                                             data on
>                                                             the
>                                                             server, in
>                                                             a
>                                                             ConversationScope,
>                                                             just as we
>                                                             do with JSF.
>
>                                                             Unfortunately
>                                                             RESTEasy
>                                                             doesn't
>                                                             seem to
>                                                             play well
>                                                             with
>                                                             ConversationScope?
>                                                             The
>                                                             documentation
>                                                             for
>                                                             resteasy-cdi
>                                                             is
>                                                             unclear,
>                                                             but Jason
>                                                             Porter has
>                                                             investigated
>                                                             and
>                                                             concluded
>                                                             conversations
>                                                             are not
>                                                             supported
>                                                             (as REST
>                                                             does not
>                                                             convey any
>                                                             kind of
>                                                             session,
>                                                             let alone
>                                                             a
>                                                             conversation).
>                                                             So where
>                                                             to from here?
>
>                                                             1. Ignore
>                                                             this
>                                                             security
>                                                             problem
>                                                             and
>                                                             continue
>                                                             passing
>                                                             hidden
>                                                             data
>                                                             to/from
>                                                             the client
>                                                             2. Look at
>                                                             encrypting
>                                                             the data
>                                                             passed
>                                                             between
>                                                             client/server
>                                                             (rather
>                                                             like an
>                                                             encrypted
>                                                             view state)
>                                                             3. Work
>                                                             with
>                                                             Pete/Jozef
>                                                             to get
>                                                             ConversationScopes
>                                                             working
>                                                             between
>                                                             jQuery/RESTEasy/CDI
>                                                             4.
>                                                             Something
>                                                             else?
>
>                                                             Regards,
>
>                                                             Richard.
>
>
>
>
>
>
>
>
> -- 
> Lincoln Baxter, III
> http://ocpsoft.com
> http://scrumshark.com
> "Keep it Simple"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20120229/a2d8d595/attachment-0001.html 


More information about the forge-dev mailing list