Add means of defining constraint for Length on String
by Robb Greathouse
Hi,
Was trying to change the length on String from the VarChar(255). In Hibernate this can be done by specifying @Length(max=350) (for example.
However, there is no "constraint Length --onProperty xxx --max 350" available in Forge.
Using "constraint Max" causes forge to have a conversion error when attempting to insert string data.
Robb Greathouse
Partner Enablement
Middleware Business Unit
JBoss, a Division of Red Hat
cellphone 505-507-4906
11 years, 3 months
[Forge 2] Eclipse menu List view vs Tree view
by Lincoln Baxter, III
I saw that the list-view has been updated to a Tree view. I actually really
don't think that the tree view is a good idea for us. Expecting users to
navigate two or even three levels deep just doesn't work anymore in todays
UX expectations. If you have to expand even one menu, people freak out. So
I think a simple filterable list is probably the best route.
I think a more practical display would be similar to the "Quick access"
CTRL-3 menu that JBoss Tools provides.
It can still have nested categories, but you'd basically filter the entire
list as you type. The tree view is too difficult to navigate, IMO, and it
hides things that might otherwise be discovered. There are going to be a
lot of commands, I don't think we can afford to hide them too much; they
will simply not be found.
A menu like this is much more appropriate for Forge. We can certainly try
to guide people as much as possible, but at some point, we just need to
show them what we've got and let them type to filter through.
To add categories to the display, we could use a simple arrow syntax:
Project -> Generation
> Project -> Generation -> Persistence (JPA)
> Project -> Generation -> Web
> Project -> Generation -> Web -> JSF
>
[image: Inline image 1]
--
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
11 years, 10 months
Improving the performance of weld for micro-deployments.
by Lincoln Baxter, III
Hi Jozef, Stuart, and Weld-devs,
In Forge 2 we are using Weld extensively, and one of the things we do is
start up many instances simultaneously.
We may have anywhere from one to one-hundred or more weld instances.
Currently we have only seen around 10-12 instances, and performance is
"Okay", but in theory, we could see hundreds of instances, at which point,
performance starts to be a concern. We're working around this problem by
disabling CDI support on some internal addons, but... it's not really
reasonable to expect that everyone will do this.
Which means... we need to figure out how to shave as much time off the
bootstrap as possible. Currently each weld instance takes anywhere from
80ms to 450ms to start (not really sure why such variation yet,) and we'd
hopefully like to get that down even lower, around 10-20ms. Classloading
time only would be optimal, but obviously difficult to achieve.
How can we get the most speed out of Weld? Most of our deployments have
only ~15 bean classes at most. It seems like a lot of time (~30-40%) is
being spent in the Google concurrent collections.
(Screenshot attached.)
Thanks,
--
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
11 years, 10 months
Just did something stupid
by Ivan St. Ivanov
Hey folks,
I just did something very stupid. In github I wanted to comment on a pull
request that I created yesterday and "revert" it. So I wrote my comment and
clicked the Comment and close button. Which merged not only my pull request
(which I didn't want at all), but also some more commits, which I'm not
sure where got from.
Is it possible that somebody restores the original state of the forge/core
repository? I would also like to ask you to revoke my privileges to commit
there, because I would like to avoid pushing some other garbage.
Cheers,
Ivan
11 years, 11 months
Re: [forge-dev] TomEE JBoss Forge Plugin
by Lincoln Baxter, III
https://github.com/forge/plugin-tomee
I've made you an admin (dblevins github username,) so you can add as many
people to the team as you want (I think?) If not, let me know and I'll add
them.
For the other things (website update, and central plugin index) just send
pull requests for the updates :)
Also if you wanted to add TomEE as a supported container to the forge core
runtime that woulds be awesome, too. (Just see my note about adding the
JPAContainer class like we have for AS7, GlassFish, and a few others!)
And of course, let me know if you want some help, George and I are both
glad to assist.
Copying Forge-dev for posterity.
Welcome to the team!! Really excited to have you guys on board :) This is a
big step forward for realizing true portability in Java EE!
~Lincoln
On Sun, Jan 20, 2013 at 9:46 PM, David Blevins <david.blevins(a)gmail.com>wrote:
> Sounds great.
>
> 1) TomEE does create a default DataSource for you if you have an @Resource
> reference for it in your app and no datasource has been explicitly created
> in the server. So it being there depends on 1) if you declared you needed
> a DataSource and 2) what it's called depends on what name you gave your
> reference.
>
> There are likely other options too. Knowing where this requirement comes
> from will help.
>
> 2) OpenJPA is the default JPA provider
>
> 3) Excellent. I've updated the plugin so forking it into JBoss Forge
> would be easier: https://github.com/dblevins/tomee-jboss-forge-plugin
>
> Maybe fork it to https://github.com/forge/tomee-plugin then we can keep
> the ball rolling.
>
>
> -David
>
> On Jan 20, 2013, at 6:05 PM, "Lincoln Baxter, III" <
> lincolnbaxter(a)gmail.com> wrote:
>
> > Hey David,
> >
> > Thanks for reaching out! I definitely want to see this get into Forge.
> We have a plugin for JBoss AS7, so I'd love to see a second option! To make
> sure things work smoothly, we need to get a few pieces of information:
> >
> > • What is the default JDBC data-source JNDI name and in-memory
> database that TomEE provides? (In AS7 I believe it is java/comp:DefaultDS
> and HSQLDB) - We can add TomEE as a JPAContainer that will help people get
> set up without needing to google or look at docs. An example of our
> instance for AS7:
> https://github.com/forge/core/blob/master/javaee-impl/src/main/java/org/j...
> >
> > • What is the JPA implementation in TomEE? I assume it is
> EclipseLink? If it is either that or Hibernate, no additional work needed
> there. If it's another JPA impl, then we need to add it to Forge (similar
> to above.)
> >
> > • We need to add your plugin to the Forge Central Plugin Index:
> >
> > http://forge.jboss.org/docs/plugin_development/add-plugin-cpi.html
> >
> > And that's it! That's where the AS7 plugin lives. We can also add some
> docs to the website in the getting started on Java EE section so that we
> give folks the choice of the TomEE plugin as well:
> >
> >
> https://github.com/forge/forge.github.com/blob/develop/docs/using/basic-j...
> > Pull requests of course speed up this process. Everything (including the
> CPI and website, are done through git.) Thoughts?
> >
> > ~Lincoln
> >
> >
> >
> > On Sun, Jan 20, 2013 at 9:01 PM, Lincoln Baxter, III <
> lincolnbaxter(a)gmail.com> wrote:
> > Hey David,
> >
> > Thanks for reaching out! I definitely want to see this get into Forge.
> We have a plugin for JBoss AS7, so I'd love to see a second option! To make
> sure things work smoothly, we need to get a few pieces of information:
> >
> > • What is the default JDBC data-source JNDI name and in-memory
> database that TomEE provides? (In AS7 I believe it is java/comp:DefaultDS
> and HSQLDB) - We can add TomEE as a JPAContainer that will help people get
> set up without needing to google or look at docs. An example of our
> instance for AS7:
> https://github.com/forge/core/blob/master/javaee-impl/src/main/java/org/j...
> > •
> >
> >
> > On Sun, Jan 20, 2013 at 2:18 PM, David Blevins <david.blevins(a)gmail.com>
> wrote:
> > Pinged Lincoln and he'd love to see it in JBoss forge.
> >
> > Following up in email to keep the ball rolling.
> >
> >
> > -David
> >
> >
> >
> >
> > --
> > Lincoln Baxter, III
> > http://ocpsoft.org
> > "Simpler is better."
> >
> >
> >
> > --
> > Lincoln Baxter, III
> > http://ocpsoft.org
> > "Simpler is better."
>
>
--
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
11 years, 11 months
[forge2.0 ui classes]
by "Ståle W. Pedersen"
hi, i might have misunderstood somewhat how the ui* classes are designed
to work, but as i can see now it there isnt any clean way to decide in
which context the commands are executed/run.
eg the only execution point atm is UICommand.execute(UIContext c)...
with no way of differentiate if the command is run in a shell or ide.
what if we could provide two methods to UIContext that returned a
ShellContext and a IDEContext?
that way we could provide useful object to the commands eg:
- console input/output: aesh support stderr/out (simulating it since it
saves it in a buffer and the flush it to the proper stream, but it works
similar). that way it will also support pipelines/redirections.
- standalone commands: eg commands that "take over" the input stream.
examples in common shellprograms are: man/less/etc...
- ++
- or is this already covered by some other way i havent figure out of
yet? :)
ståle
11 years, 11 months
Dynamic UI in Eclipse
by Lincoln Baxter, III
Thanks George and Koen for mocking out the Eclipse UI functionality so well
that when I got the Forge runtime bit working, this was possible without
any code changes!
Extremely rewarding to see!
[image: Inline image 1]
--
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
11 years, 11 months
[Need Help to do some updates on my forge folder to get scaffold customized]
by Ahmed ELJABIRI
Hi everybody,
I tested jboss forge and I liked all the benefits it has compared to other
frameworks for rapid-application development and code generation like
Spring Roo, and JBoss Seam (old
versions), especially the fact that it is based on the standard JSF2,
EJB3.1, JPA2, CDI and recently the using of Bootstrap CSS ...etc.
We have choosed it for a project that we had just started recently.
Nevertheless, I intend to do some customization on the forge-scaffold faces
to have a scaffolding to get following results :
1) primefaces calendar component instead of a <h:inputText> with
<f:convertDateTime pattern="dd/MM/yyyy HH:mm"/>
2) <p:datatable> with <p:column> and <p:cellEditor> instead of
<h:datatable>
with <f:facet name="input"> and <f:facet name="output">.
3) - Add <p:growl/> messages : i added it directly on create.xhtml page.
4) - Remove <h:link> inside columns of the datatable containing the
collection of child objects (case of OneToMany relationship)
So my question is, should I start first by adding a module for static code
generation based on primefaces components whose project's name will be
"metawidget-static-primefaces"
inside metawidget sources, like that of richfaces ? or what ?
If it is right, is this first part of pom.xml correct for this project ?
...
<parent>
<groupId>org.metawidget.modules.static.faces</groupId>
<artifactId>static-faces-parent</artifactId>
<version>2.4</version>
<relativePath>../</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>metawidget-static-primefaces</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.metawidget.modules.static.faces</groupId>
<artifactId>metawidget-static-faces</artifactId>
<version>${project.version}</version>
</dependency>
....
</dependencies>
All suggestions are welcomed.
Thank's so much in advence.
--
Best Regards,
---------------------
Ahmed EL JABIRI
Senior JEE Developer at Ardass Conseil
e-mail : ahmed.eljabiri(a)ardassconseil.com
GSM : +212 668 204 835
11 years, 11 months