akquinet / vaadinator Goto Github PK
View Code? Open in Web Editor NEWQuickly generate your mobile (or desktop) web application with vaadin - get to know vaadin
License: Apache License 2.0
Quickly generate your mobile (or desktop) web application with vaadin - get to know vaadin
License: Apache License 2.0
While experimenting with upgrading to vaadin8 I noticed that in the annotation @FieldType
the default classes for the components are hard coded. We already 'override' the value in the desktop templates for the DatePicker
we use in touchkit.
Since during update I need to use the com.vaadin.v7.*
I wonder if we should use the concrete class to use to the templates.
The latest touchkit 4.0.0 is out and should definitely be used by default. There are lots of small improvements in it compared to the alpha release you are using.
Also, I'd upgrade Vaadin as well to 7.3.3.
merge @dve 's amazing work en block - need some additional re-testing just 2 be sure
The method Property<Bean> BeanListView.getBeanSelection()
exposes the interface com.vaadin.data.Property<T>
, which is a vaadin detail, out of the view layer.
Since the only usage of it is calling getValue()
in the presenter, I suggest changing the method to Bean BeanListView.getBeanSelection()
Currently it's 1.6.1 on testeditor.org with some changes - so support these.
Reason: we don't import modelPackage but basePackage.model - which works as long as one does not rename the model package
Right now we do a Service.findAll() to populate our tables. This is not a very good solution, because imagine a relay big result set and some concurrent users - you would keep your database in memory some times and that might be too much.
Also i would question if filtering and sorting should be done in the view level of the application or better in the backend.
What I'm not sure about is how to fit this in the MVP architecture?
Feedback is what you have not yet tried - so: when having an empty @DisplayBean annotation (without a caption text) it does not generate the presenters. Adding the caption text (like the Archetype has) makes everything work smoothly. The rest needs fix...
@table and the Vaadin Table both get imported
Hello,
as soon as I add lambda expressions to my code, I get the following error message:
[ERROR] Failed to execute goal de.akquinet.engineering.vaadin.vaadinator:VaadinatorGenerator:0.10-SNAPSHOT:codegenerator (generate-sources) on project XXX: Fehler bei Generieren: Encountered " ">" "> "" at line 20, column 52. [ERROR] Was expecting one of: [ERROR] "boolean" ... [ERROR] "byte" ... [ERROR] "char" ... [ERROR] "double" ... [ERROR] "false" ... [ERROR] "float" ... [ERROR] "int" ... [ERROR] "long" ... [ERROR] "new" ... [ERROR] "null" ... [ERROR] "short" ... [ERROR] "super" ... [ERROR] "this" ... [ERROR] "true" ... [ERROR] "void" ... [ERROR] ... [ERROR] ... [ERROR] ... [ERROR] ... [ERROR] ... [ERROR] ... [ERROR] "(" ... [ERROR] "!" ... [ERROR] "~" ... [ERROR] "++" ... [ERROR] "--" ... [ERROR] "+" ... [ERROR] "-" ... [ERROR] -> [Help 1]
Vaadinator creates tow classes BussinesException
and TechnicalException
but does not use them. I don't think we should generate not used code and let it to the user to build an exception hierarchy.
If you want to change the buttons in a vaadinator application, you have tow options right now:
Both options are not satisfying. We should have a ButtonInitilizer
like the FieldInitializer
we already have. It will be injected by the VaadinViewFactory
into the views and called once per Button.
The maven plugin builds the complete code two times, in the generate-sources
and generate-resources
phase.
This takes twice as long time, creates twice as much log messages and leads to confusion if you add a code formatter plugin to the generate-sources
phase and to code is not formatted, because its overridden by the generate-resources
run.
We have some classes where we use the templates just to copy code, without modifications (except the package) and we have the VaadinatorUtils
maven module where we only have the AbstractPlainJpa
class.
Should we not move the static stuff also into this module? This would make it easier to split up a project into sub-modules which all use the same infrastructure artifacts.
Missing artifact de.akquinet.engineering.vaadin.vaadinator:VaadinatorAnnotations:jar:0.10-SNAPSHOT
Missing artifact de.akquinet.engineering.vaadin.vaadinator:VaadinatorUtils:jar:0.10-SNAPSHOT
Failed to execute goal on project AddressbookExample: Could not resolve dependencies for project de.akquinet.engineering.vaadin.vaadinator:AddressbookExample:war:0.10-SNAPSHOT: The following artifacts could not be resolved: de.akquinet.engineering.vaadin.vaadinator:VaadinatorAnnotations:jar:0.10-SNAPSHOT, de.akquinet.engineering.vaadin.vaadinator:VaadinatorUtils:jar:0.10-SNAPSHOT: Failure to find de.akquinet.engineering.vaadin.vaadinator:VaadinatorAnnotations:jar:0.10-SNAPSHOT in http://maven.vaadin.com/vaadin-addons was cached in the local repository, resolution will not be reattempted until the update interval of vaadin-addons has elapsed or updates are forced -> [Help 1]
Eclipse Luna
windows 8 x64
The build fails currently due to missing vaadin touchkit. This is partly due to the fact that somebody at vaadin has forgotten to push the agpl version to maven central. I'd still add that to the final pom.xml, as developers are likely to use other add-ons on the long run.
I added this to the generated project and it started just fine:
<repositories>
<repository>
<id>vaadin-addons</id>
<url>http://maven.vaadin.com/vaadin-addons</url>
</repository>
</repositories>
The persitence-unit name is plain name of the maven artifact, but in generated UI class its the capitalized, camelCased java style name.
One of them should be changed.
Right now the list view and presenter contains the logic to add a new entity, the button and the observer implementation. In some cases this is not wanted - e.g. if one wants to use the list presenter to just select an existing entity.
My suggestion is to separate the selection part into a SelectView and -Presenter and let the list part use it.
Maybe it would be even clearer if we rename the List stuff to CRUD?
The comment is harmless - so far optional aritifacts (any artifacts that are only needed in some configurations) are ignored when not found inde.akquinet.engineering.vaadinator.mojo.CodeGeneratorMojo.runVelocity
However, they still leave the nasty error message.
=> I will go and double-check the resource before even running Velocity so the log is clean. Thanks for e-mailing me this feedback!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.