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(a)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/**
AeroGearScaffoldEmployeeDataba**seTest.java<https://github.com/forge/s...
).
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<http://cwiki.apache.org/confluence/display/MAVEN/...
>>> ***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<https://github.com/forge/...
>>>>
>>>> ...and the blog entry I have documented...
>>>>
>>>>
https://community.jboss.org/**thread/195877<https://community.jboss.or...
>>>>
>>>> ...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@**
>>>>>
kennardconsulting.com <richard(a)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@**
>>>>>>>>>
kennardconsulting.com
<richard(a)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.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>
>
>