Giter Site home page Giter Site logo

vaadinator's People

Contributors

dependabot[bot] avatar dve avatar gheimann avatar jlleitschuh avatar oliverdamm avatar sebastianrothbucher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vaadinator's Issues

Remove default type away from anotations

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.

Use latest versions of Vaadin and TouchKit

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.

Bulk-Merge PRs

merge @dve 's amazing work en block - need some additional re-testing just 2 be sure

Property<Bean> BeanListPresenter.getBeanSelection() exposes vaadin detail

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()

Doing lazy loading in tables

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?

  • One way would be creating a container like the LazyQueryContainer Add-on, but this would totally ignore the presenter.
  • Adding onFilter-, onPageing and onSortingChange methods to the observer interface and calling them from the view by a bunch of listeners would respect the architecture, but would force a pageing table, not one which loads the data on demand on scrolling
  • Implementing a container, which delegates loading, sorting and filtering to the presenter might be the cleaner approach but seems to be quite a lot of methods from the vaadin container interfaces to implement, so I would like to here about your thoughts on it first

Empty @DisplayBean annotation results in missing presenter

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...

Vaadinator + Java 8 + Lambda

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]

Remove not used classes

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.

Make buttons configurable

If you want to change the buttons in a vaadinator application, you have tow options right now:

  • override the templates, which means to ide support and merge work if the upstream templates also change
  • override each view, which means a lot of duplicate code

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.

Code is builded twice

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.

Move static stuff from templates to dependency

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

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 project should contain vaadin add-on repository

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>

persitence.xml is not created correct

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.

Move "add" out of ListView and ListPresenter

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?

Error in mvn log: ResourceManager : unable to find resource '/de/akquinet/engineering...

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!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.