Giter VIP home page Giter VIP logo

digitalfondue / lavagna Goto Github PK

View Code? Open in Web Editor NEW
635.0 41.0 109.0 12.89 MB

Lavagna: issue tracker/project management tool

Home Page: http://lavagna.io

License: GNU General Public License v3.0

Puppet 0.06% Shell 0.09% CSS 2.69% Java 56.19% PLpgSQL 1.53% HTML 12.06% JavaScript 22.23% Batchfile 0.10% FreeMarker 0.16% Kotlin 4.88%
kanban java project-management issue-tracker project-planning issue-board bugtracker

lavagna's Introduction

Lavagna

Java CI with Maven Maven Central Github All Releases Docker Status

Latest stable release is 1.1.9 (2021-12-30)

About

Lavagna is a small and easy to use issue/project tracking software.

It requires Java 8 or better and optionally a database: MySQL, MariaDB or PostgreSQL. It can be deployed in a Java servlet container or as a self contained war.

See:

Install

Lavagna supports MySQL (at least 5.1), MariaDB (tested on 10.1), PostgreSQL (tested on 9.1) and HSQLDB (for small deploy).

It's distributed in 2 forms:

  • simple war for deploying in your preferred web container
  • self contained war with embedded jetty web server

See the documentation at http://help.lavagna.io

For testing purposes

If you want to test it locally, you can download the self contained war and run:

wget https://repo1.maven.org/maven2/io/lavagna/lavagna/1.1.9/lavagna-1.1.9-distribution.zip
unzip lavagna-1.1.9-distribution.zip
./lavagna-1.1.9/bin/lavagna.sh

Go to http://localhost:8080 and login with "user" (password "user").

See the README in the archive and the documentation at http://help.lavagna.io if you want to customize the scripts and set lavagna in production mode.

Docker

Lavagna is also available as a Docker image so you can try it on the fly:

https://registry.hub.docker.com/u/digitalfondue/lavagna/

Develop

Java and Kotlin

Lavagna runs on a Java 8 jvm. Some parts of Lavagna are made with Kotlin.

IDE Configuration

Use UTF-8 encoding and 120 characters as line width. You will need a Java and Kotlin aware IDE. (Currently tested with intellij and eclipse).

For eclipse: you will need to install the kotlin plugin and add the "Kotlin nature" to the project: Right click on the project -> "Configure Kotlin" -> "Add Kotlin nature"

Javascript

Install npm and run the following script to assure your code follows our guidelines

First ensure that all the dependencies are ok with npm install.

Then, for checking:

npm run-script lint

Fix any error or warning before opening a pull request

Execute

Launch the Web Server:

mvn jetty:run

For launching Web Server + DB manager (HSQLDB only):

mvn jetty:run -DstartDBManager

for launching Web Server with the MySQL database (use the mysql profile):

mvn jetty:run -Pdev-mysql
mvn jetty:run -Pdev-pgsql

For debugging:

mvnDebug jetty:run

For running the test cases:

mvn test

For running the test cases with MySQL or PostgreSQL:

mvn test -Ddatasource.dialect=MYSQL
mvn test -Ddatasource.dialect=PGSQL

For running with jetty-runner:

mvn clean install
java -Ddatasource.dialect=HSQLDB -Ddatasource.url=jdbc:hsqldb:mem:lavagna -Ddatasource.username=sa -Ddatasource.password= -Dspring.profiles.active=dev -jar target/dependency/jetty-runner.jar --port 8080 target/*.war

When adding new file, remember to add the license header with:

mvn com.mycila:license-maven-plugin:format

Angular perfs

Use the following stats for keeping an eye on the performances:

Documentation

The documentation is written using stampo (see https://github.com/digitalfondue/stampo). It currently reside in src/main/stampo .

For building the doc:

mvn clean stampo:build

The output will be present in target/generated-docs

For testing the documentation run

mvn stampo:serve

And go to http://localhost:45001/

Vagrant

In order to make it easier to tests on different databases we included 3 Vagrant VMs. Make sure that you have installed Vagrant and VirtualBox before continuing.

Initialization

Fetch the submodules:

git submodule update --init

If you are under windows you need to ensure that the pgsql submodule is not in a broken state, double check that the file puppet\modules\postgresql\files\validate_postgresql_connection.sh is using the unix end of line (run dos2unix).

To run the tests with Vagrant boot the VMs with:

vagrant up [optionally use pgsql / mysql to boot only one VM]

Once that the VM is up and running run the tests:

mvn test -Ddatasource.dialect=PGSQL / MYSQL

Connecting manually:

PGSQL: localhost:5432/lavagna as postgres / password

MySQL: localhost:3306/lavagna as root

Notes about databases

The application uses UTF-8 at every stage and on MySQL you will need to create a database with the collation set to utf8_bin:

CREATE DATABASE lavagna CHARACTER SET utf8 COLLATE utf8_bin;

Code Coverage

Jacoco plugin is used.

mvn clean test jacoco:report

-> open target/site/jacoco/index.html with your browser

About Database migration

Can be disabled using the following system property: datasource.disable.migration=true

Check for updated dependencies

mvn versions:display-dependency-updates
mvn versions:display-plugin-updates

Supported by

Alt text

lavagna's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar eas5 avatar ejouvin avatar emazzotta avatar erost avatar gitter-badger avatar sebastianopilla avatar shayansiddiqui avatar sitoch avatar syjer avatar velmuruganvelayutham 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lavagna's Issues

Roles assigned people not displayed correctly

Hi Lavagna crew,

while entering the role tab in the setting section of my dashboard I just see the list of Roles but I don't see who is assigned to them.
Only after typing the name of somebody belonging to the Lavagna project I see who belongs to which group, is this behavior correct?

JS looping errors after successful login

Hello Lavagna team,

We've set up Lavagna 1.0.0 (also tried with the new 1.0.1 published today) within Tomcat8. Went through set up successfully, but after login, the javascript console logs are spammed with the following error (as if through loop):

app.js:1452 Uncaught Error: [$rootScope:infdig] http://errors.angularjs.org/1.2.28/$rootScope/infdig?p0=10&p1=%5B%5B%22fn%3…  D!1%3Breturn%20n%7D%3B%20newVal%3A%2030041%3B%20oldVal%3A%2030040%22%5D%5D(anonymous function) @ app.js:1452$get.h.$digest @ app.js:1557(anonymous function) @ app.js:1559e @ app.js:1483(anonymous function) @ app.js:1487
app.js:1538 Error: Failed to execute 'pushState' on 'History': A history state object with URL 'http:' cannot be created in a document with origin 'http://techutilities.bcbssc.com'.
    at Error (native)
    at se.h.url (http://techutilities.bcbssc.com/lavagna/resource/app.js:1485:275)
    at http://techutilities.bcbssc.com/lavagna/resource/app.js:1537:48
    at h.$get.h.$eval (http://techutilities.bcbssc.com/lavagna/resource/app.js:1559:32)
    at h.$get.h.$digest (http://techutilities.bcbssc.com/lavagna/resource/app.js:1556:117)
    at http://techutilities.bcbssc.com/lavagna/resource/app.js:1559:143
    at e (http://techutilities.bcbssc.com/lavagna/resource/app.js:1483:497)
    at http://techutilities.bcbssc.com/lavagna/resource/app.js:1487:235(anonymous function) @ app.js:1538$get @ app.js:1514$get.h.$digest @ app.js:1556(anonymous function) @ app.js:1559e @ app.js:1483(anonymous function) @ app.js:1487

I followed http://help.lavagna.io/ to setup the environment, and accepted the proposed URL for the base URL. Some googling (link) (link) suggests that this is angular shutting down the history push, thinking it's cross domain; however the base URL chosen is accurate to the requests coming in for our local installation: http://techutilities.bcbssc.com/lavagna

The link that I'm redirected to after login is: http://techutilities.bcbssc.com/lavagna/, here's a screenshot:

image

Looks like something from a URL resources map isn't quick linking correctly.

[Feature Request] Gitlab oAuth

It would be nice if you could use a self hosted Gitlab as a login providor. This would go well with #7, since gitlabs web hooks are similar to Github's it should be easy to support both.

ERROR org.springframework.web.context.ContextLoader - Context initialization failed

[main] INFO org.eclipse.jetty.util.log - Logging initialized @484ms
[main] INFO org.simplericity.jettyconsole.DefaultJettyManager - Added web application on path / from war /var/www/vhosts/feral-gaming.net/dev.feral-gaming.net/lavagna-1.0.5.1/lavagna/lavagna-jetty-console.war
[main] INFO org.simplericity.jettyconsole.DefaultJettyManager - Starting web application on port 8080
[main] INFO org.eclipse.jetty.server.Server - jetty-9.2.9.v20150224
[main] INFO org.eclipse.jetty.webapp.StandardDescriptorProcessor - NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
[main] INFO / - Spring WebApplicationInitializers detected on classpath: [io.lavagna.config.DispatcherServletInitializer@c0f1684]
[main] INFO / - Initializing Spring root WebApplicationContext
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/tmp/lavagna-jetty-console.war_8080/webapp/WEB-INF/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/tmp/lavagna-jetty-console.war_8080/condi/slf4j-simple-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
11:38:28.846 [main] ERROR org.springframework.web.context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'migrator' defined in io.lavagna.config.DataSourceConfig: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.lavagna.service.DatabaseMigrator]: Factory method 'migrator' threw exception; nested exception is org.flywaydb.core.api.FlywayException: Schema `devtracker_db` contains a failed migration to version 1 !
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:835) ~[spring-context-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537) ~[spring-context-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446) ~[spring-web-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328) [spring-web-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) [spring-web-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444) [jetty-servlet-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294) [jetty-servlet-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349) [jetty-webapp-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342) [jetty-webapp-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) [jetty-webapp-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.server.Server.start(Server.java:387) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.server.Server.doStart(Server.java:354) [jetty-server-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) [jetty-util-9.2.9.v20150224.jar:9.2.9.v20150224]
        at org.simplericity.jettyconsole.DefaultJettyManager.startServer(DefaultJettyManager.java:114) [jetty-console-core-1.57.jar:?]
        at org.simplericity.jettyconsole.JettyConsoleStarter.initConsoleApp(JettyConsoleStarter.java:175) [jetty-console-core-1.57.jar:?]
        at org.simplericity.jettyconsole.JettyConsoleStarter.run(JettyConsoleStarter.java:158) [jetty-console-core-1.57.jar:?]
        at org.simplericity.jettyconsole.JettyConsoleStarter.main(JettyConsoleStarter.java:71) [jetty-console-core-1.57.jar:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_91]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_91]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_91]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_91]
        at org.simplericity.jettyconsole.JettyConsoleBootstrapMainClass.startJettyConsole(JettyConsoleBootstrapMainClass.java:207) [lavagna-jetty-console.war:?]
        at org.simplericity.jettyconsole.JettyConsoleBootstrapMainClass.run(JettyConsoleBootstrapMainClass.java:103) [lavagna-jetty-console.war:?]
        at org.simplericity.jettyconsole.JettyConsoleBootstrapMainClass.main(JettyConsoleBootstrapMainClass.java:74) [lavagna-jetty-console.war:?]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.lavagna.service.DatabaseMigrator]: Factory method 'migrator' threw exception; nested exception is org.flywaydb.core.api.FlywayException: Schema `devtracker_db` contains a failed migration to version 1 !
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        ... 49 more
Caused by: org.flywaydb.core.api.FlywayException: Schema `devtracker_db` contains a failed migration to version 1 !
        at org.flywaydb.core.internal.command.DbMigrate$2.doInTransaction(DbMigrate.java:196) ~[flyway-core-3.2.1.jar:?]
        at org.flywaydb.core.internal.command.DbMigrate$2.doInTransaction(DbMigrate.java:156) ~[flyway-core-3.2.1.jar:?]
        at org.flywaydb.core.internal.util.jdbc.TransactionTemplate.execute(TransactionTemplate.java:72) ~[flyway-core-3.2.1.jar:?]
        at org.flywaydb.core.internal.command.DbMigrate.migrate(DbMigrate.java:156) ~[flyway-core-3.2.1.jar:?]
        at org.flywaydb.core.Flyway$1.execute(Flyway.java:1059) ~[flyway-core-3.2.1.jar:?]
        at org.flywaydb.core.Flyway$1.execute(Flyway.java:1006) ~[flyway-core-3.2.1.jar:?]
        at org.flywaydb.core.Flyway.execute(Flyway.java:1418) ~[flyway-core-3.2.1.jar:?]
        at org.flywaydb.core.Flyway.migrate(Flyway.java:1006) ~[flyway-core-3.2.1.jar:?]
        at io.lavagna.service.DatabaseMigrator.doMigration(DatabaseMigrator.java:44) ~[classes/:?]
        at io.lavagna.service.DatabaseMigrator.<init>(DatabaseMigrator.java:29) ~[classes/:?]
        at io.lavagna.config.DataSourceConfig.migrator(DataSourceConfig.java:94) ~[classes/:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_91]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_91]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_91]
        at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_91]
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
        ... 49 more
[main] WARN org.eclipse.jetty.webapp.WebAppContext - Failed startup of context o.s.j.JettyConsoleWebappContext@3630f72{/,file:/tmp/lavagna-jetty-console.war_8080/webapp/,STARTING}{/var/www/vhosts/feral-gaming.net/dev.feral-gaming.net/lavagna-1.0.5.1/lavagna/lavagna-jetty-console.war}
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'migrator' defined in io.lavagna.config.DataSourceConfig: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.lavagna.service.DatabaseMigrator]: Factory method 'migrator' threw exception; nested exception is org.flywaydb.core.api.FlywayException: Schema `devtracker_db` contains a failed migration to version 1 !
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1123)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1018)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:835)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800)
        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444)
        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294)
        at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:163)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
        at org.eclipse.jetty.server.Server.start(Server.java:387)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
        at org.eclipse.jetty.server.Server.doStart(Server.java:354)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at org.simplericity.jettyconsole.DefaultJettyManager.startServer(DefaultJettyManager.java:114)
        at org.simplericity.jettyconsole.JettyConsoleStarter.initConsoleApp(JettyConsoleStarter.java:175)
        at org.simplericity.jettyconsole.JettyConsoleStarter.run(JettyConsoleStarter.java:158)
        at org.simplericity.jettyconsole.JettyConsoleStarter.main(JettyConsoleStarter.java:71)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.simplericity.jettyconsole.JettyConsoleBootstrapMainClass.startJettyConsole(JettyConsoleBootstrapMainClass.java:207)
        at org.simplericity.jettyconsole.JettyConsoleBootstrapMainClass.run(JettyConsoleBootstrapMainClass.java:103)
        at org.simplericity.jettyconsole.JettyConsoleBootstrapMainClass.main(JettyConsoleBootstrapMainClass.java:74)
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.lavagna.service.DatabaseMigrator]: Factory method 'migrator' threw exception; nested exception is org.flywaydb.core.api.FlywayException: Schema `devtracker_db` contains a failed migration to version 1 !
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
        ... 49 more
Caused by: org.flywaydb.core.api.FlywayException: Schema `devtracker_db` contains a failed migration to version 1 !
        at org.flywaydb.core.internal.command.DbMigrate$2.doInTransaction(DbMigrate.java:196)
        at org.flywaydb.core.internal.command.DbMigrate$2.doInTransaction(DbMigrate.java:156)
        at org.flywaydb.core.internal.util.jdbc.TransactionTemplate.execute(TransactionTemplate.java:72)
        at org.flywaydb.core.internal.command.DbMigrate.migrate(DbMigrate.java:156)
        at org.flywaydb.core.Flyway$1.execute(Flyway.java:1059)
        at org.flywaydb.core.Flyway$1.execute(Flyway.java:1006)
        at org.flywaydb.core.Flyway.execute(Flyway.java:1418)
        at org.flywaydb.core.Flyway.migrate(Flyway.java:1006)
        at io.lavagna.service.DatabaseMigrator.doMigration(DatabaseMigrator.java:44)
        at io.lavagna.service.DatabaseMigrator.<init>(DatabaseMigrator.java:29)
        at io.lavagna.config.DataSourceConfig.migrator(DataSourceConfig.java:94)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162)
        ... 50 more
[main] INFO org.eclipse.jetty.server.ServerConnector - Started ServerConnector@4072b422{HTTP/1.1}{0.0.0.0:8080}
[main] INFO org.eclipse.jetty.server.Server - Started @4446ms

I have installed jre 7 and 8 on centos im not sure what I did wrong

Where did save user's password?

Hi
I searched for attribute password in LA_USER table, but no attribute for this job.
In profile, need change password function!

Short name uniquely not work properly

Hi
I thinks main constraint for checking uniquely short name at board creating has some error, because it compare with all short name in database not on project's short names.

Icons not shown.

In Fedora Linux 22 (64 bits) with Lavagna 1.0.2, the icons are not shown correctly. The problem occurs in Chrome 46, but in the same machine with Firefox the icons are shown without problem.
Attached two images to show the difference.

lavagna-chrome
lavagna-firefox

Connection failure from Chrome

Hello, it's me again. :)
Got some weird problem. Auto-reload doesn't work for me in Chrome. When I open any page in Lavagna - "Connection failure" message appears and content doesn't refresh. Other browsers - no problem.

Setup (containerized):

  • Lavagna 1.0.7.2
  • MySQL 5.5
  • Nginx 1.9.10 as a reverse proxy with SSL

Tested:

  • Chrome 54.0.2840.99 m (64-bit) on Windows 10 - ERROR
  • Chromium 52 on Linux - ERROR
  • Chrome 54.0.28.40.85 on Android - ERROR
  • Edge on Windows 10 - WORKS
  • Firefox on Linux - WORKS

Here's output from Chrome's console if it may be of any help: https://i.imgur.com/NPYff0h.png

[Feature Request] Web hooks

It would be great if it was possible for Lavagna to listen for and send web hooks based on certain events.

Example use cases:

  • In Gitlab/Github/Service Desk software I could configure my project to post a JSON object to a web hook that would automatically create an new work item on a board
  • When a work item is moved to a Done column a JSON object could be posted from Lavagna to a configurable URL that would allow the receiver to auto-close an issue.

Milestone, due_date display

When setting a due date on a milestone.
On the milestone, the date is displayed like Jan 31, 2017

But in milestones section, under Project board, the due date is displayed with hour information, like
2017-01-31T23:00:00:00Z

May be nice to have the same formatting as the one on the milestone instance ?

deploy on Apache tomcat

Hi
I deploy lavagna.war on Apache tomcat 8.5
I set configuration for mysql database,
but i see this error after deploying..

04-Dec-2016 13:35:26.033 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive /opt/apache-tomcat-8.5.8/webapps/lavagna.war 04-Dec-2016 13:35:28.042 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 13:35:29.409 [localhost-startStop-1] ERROR org.springframework.web.context.ContextLoader - Context initialization failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'queryRepoScanner' defined in io.lavagna.config.PersistenceAndServiceConfig: Unsatisfied dependency expressed through method 'queryRepoScanner' parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'queryFactory' defined in io.lavagna.config.PersistenceAndServiceConfig: Unsatisfied dependency expressed through method 'queryFactory' parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'simpleJdbcTemplate' defined in io.lavagna.config.PersistenceAndServiceConfig: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate]: Factory method 'simpleJdbcTemplate' threw exception; nested exception is java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=jdbc:mysql://localhost:3306/lavagna at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:174) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:686) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:524) ~[spring-context-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444) ~[spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326) [spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) [spring-web-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4725) [catalina.jar:8.5.8] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5189) [catalina.jar:8.5.8] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.5.8] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) [catalina.jar:8.5.8] at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) [catalina.jar:8.5.8] at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) [catalina.jar:8.5.8] at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952) [catalina.jar:8.5.8] at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823) [catalina.jar:8.5.8] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_74] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_74] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_74] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_74] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_74] Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'queryFactory' defined in io.lavagna.config.PersistenceAndServiceConfig: Unsatisfied dependency expressed through method 'queryFactory' parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'simpleJdbcTemplate' defined in io.lavagna.config.PersistenceAndServiceConfig: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate]: Factory method 'simpleJdbcTemplate' threw exception; nested exception is java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=jdbc:mysql://localhost:3306/lavagna at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] ... 28 more Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'simpleJdbcTemplate' defined in io.lavagna.config.PersistenceAndServiceConfig: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate]: Factory method 'simpleJdbcTemplate' threw exception; nested exception is java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=jdbc:mysql://localhost:3306/lavagna at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] ... 28 more Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate]: Factory method 'simpleJdbcTemplate' threw exception; nested exception is java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=jdbc:mysql://localhost:3306/lavagna at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] ... 28 more Caused by: java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=jdbc:mysql://localhost:3306/lavagna at com.zaxxer.hikari.util.DriverDataSource.<init>(DriverDataSource.java:88) ~[HikariCP-java7-2.4.9.jar:?] at com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:318) ~[HikariCP-java7-2.4.9.jar:?] at com.zaxxer.hikari.pool.PoolBase.<init>(PoolBase.java:108) ~[HikariCP-java7-2.4.9.jar:?] at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:101) ~[HikariCP-java7-2.4.9.jar:?] at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:94) ~[HikariCP-java7-2.4.9.jar:?] at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:289) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:329) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:214) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:134) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at io.lavagna.config.PersistenceAndServiceConfig.simpleJdbcTemplate(PersistenceAndServiceConfig.java:88) ~[classes/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_74] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_74] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_74] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_74] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] ... 28 more Caused by: java.sql.SQLException: No suitable driver at java.sql.DriverManager.getDriver(DriverManager.java:315) ~[?:1.8.0_74] at com.zaxxer.hikari.util.DriverDataSource.<init>(DriverDataSource.java:81) ~[HikariCP-java7-2.4.9.jar:?] at com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:318) ~[HikariCP-java7-2.4.9.jar:?] at com.zaxxer.hikari.pool.PoolBase.<init>(PoolBase.java:108) ~[HikariCP-java7-2.4.9.jar:?] at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:101) ~[HikariCP-java7-2.4.9.jar:?] at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:94) ~[HikariCP-java7-2.4.9.jar:?] at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:289) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:329) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:214) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:134) ~[spring-jdbc-4.3.4.RELEASE.jar:4.3.4.RELEASE] at io.lavagna.config.PersistenceAndServiceConfig.simpleJdbcTemplate(PersistenceAndServiceConfig.java:88) ~[classes/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_74] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_74] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_74] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_74] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:162) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:467) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1128) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1022) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1131) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1059) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:835) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.3.4.RELEASE.jar:4.3.4.RELEASE] ... 28 more 04-Dec-2016 13:35:29.425 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file 04-Dec-2016 13:35:29.436 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [/lavagna] startup failed due to previous errors 04-Dec-2016 13:35:29.447 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive /opt/apache-tomcat-8.5.8/webapps/lavagna.war has finished in 3,414 ms 04-Dec-2016 13:35:29.448 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/apache-tomcat-8.5.8/webapps/manager 04-Dec-2016 13:35:29.550 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/apache-tomcat-8.5.8/webapps/manager has finished in 102 ms 04-Dec-2016 13:35:29.551 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/apache-tomcat-8.5.8/webapps/examples 04-Dec-2016 13:35:29.773 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/apache-tomcat-8.5.8/webapps/examples has finished in 222 ms 04-Dec-2016 13:35:29.773 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/apache-tomcat-8.5.8/webapps/host-manager 04-Dec-2016 13:35:29.844 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/apache-tomcat-8.5.8/webapps/host-manager has finished in 71 ms 04-Dec-2016 13:35:29.844 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/apache-tomcat-8.5.8/webapps/docs 04-Dec-2016 13:35:29.910 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/apache-tomcat-8.5.8/webapps/docs has finished in 66 ms 04-Dec-2016 13:35:29.910 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /opt/apache-tomcat-8.5.8/webapps/ROOT 04-Dec-2016 13:35:29.979 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /opt/apache-tomcat-8.5.8/webapps/ROOT has finished in 69 ms 04-Dec-2016 13:35:29.988 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080] 04-Dec-2016 13:35:29.995 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009] 04-Dec-2016 13:35:29.996 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 4019 ms

[Feature Request] - E-mail to Card

I would love to see something like this on Lavagna:

You create an email and several aliases to this email, for example:

Email: tasks@company
Aliases: sales@company, marketing@company, support@company

And when an email is sent to one alias, Lavagna automatically creates a card in the configured board, for example sending and email to marketing@company creates a card on the "Marketing" board

Thanks for the attention.

language problem

Although mysql database uses utf-8 encoding, korean language is broken when I update any text.
I tried to update it directly on mysql, it works.

I think something is wrong with updating text.
I will find out exact reason, and give you some clues.

For test, try to make a card with named "한글 테스트"

Heavy traffic in case of error ?

Has I was testing the application, I notice heavy traffic.

Some background on my install.
Lavagna deployed under Tomcat
Add an Apache proxy

Application can be accessed with an url like http://server/lavagna
Important to note the application is not at root level.

I got one error, this url was reached :
http://server/mwg-internal/internal/progress?id=lM00ySujC71TPgjYHv2nAhH90WpT-G8Vb84GE8RocPM,

This URL can not be reached (may be because of provider policy but this is not the point) and then after I got an heavy heavy traffic on
http://server/lavagna/api/socket/202/tiu2l0qt/xhr_streaming?t=1484735291353

It was about 83 requests during only 10 seconds.

Is MariaDB supported ?

Hi, I'm using MariaDB and I can't get Lavagna to work. The log is quite huge so I don't expect you to read it but here it is :)

This is very new to me, but I see that it's trying to use mysql connector, as MariaDB is a fork is it working ? Do I need to install MDB connector or everything is lost ?

Thank you

deploy on wildfly 10

Hi to all
I try to deploy lavagna on wildfly, I am successful...
I added jboss-web.xml to WEB-INF and compile project with this new file,
In my jboss-web.xml file i decler vitual host:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
    <context-root>/</context-root>
    <virtual-host>lavagna</virtual-host>
</jboss-web>

but when i deploy it on a wildfly and complete setup process on lavagna, redirect to main domain! instead to main path of project...So i see Not Found page...

Cyrillic text saves incorrectly

Greetings,
When using cyrillic anywhere in text fields, it is saved as question marks in database. If I select entry from LA_PROJECT table for example - it still has question marks. I can update text with cyrillic using SQL (via terminal with utf8 encoding set) and it shows correctly via SQL and in Lavagna. But after I try to update from Lavagna - it saves incorrectly.

Description there should be: тест

mysql> select * from LA_PROJECT;                     
+------------+--------------+--------------------+------------------+---------------------+
| PROJECT_ID | PROJECT_NAME | PROJECT_SHORT_NAME | PROJECT_ARCHIVED | PROJECT_DESCRIPTION |
+------------+--------------+--------------------+------------------+---------------------+
|          2 | Demo         | DEMO               |                0 | ????                |
+------------+--------------+--------------------+------------------+---------------------+
1 row in set (0.00 sec)
  • Lavagna 1.0.7.2
  • MySQL 5.5.46-0+deb7u1
  • Database created as instructed - with utf8 encoding

Missing label message while verify LDAP in administration

I did some tests and found that there is some missing labels when I wanted to verify LDAP setting from the administration panel.

On the popup windows where we type login & password.
verify ldap

An after verification, there si still some missing labels.
verified ldap

Regards.

Tomcat issue on shutdown

Since the last fix for the Driver registration in Tomcat
when I try to shutdown Tomcat, an error is thrown and display in Tomcat log.

20-Dec-2016 00:00:30.436 AVERTISSEMENT [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [lavagna] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
20-Dec-2016 00:00:30.437 AVERTISSEMENT [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [lavagna] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
20-Dec-2016 00:00:30.440 AVERTISSEMENT [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [lavagna] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)
20-Dec-2016 00:00:30.441 AVERTISSEMENT [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [lavagna] appears to have started a thread named [ThreadPoolTaskScheduler-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)

Nice to have, edit users from administration

In the administration, we can create user.

But I did not find the way to edit the user after. Once created, only the user can change fields.
It would be nice if administrator can have the possibility to update the user configuration name / login / email like he can create it.

HTTP ERROR 403 while login

screenshot from 2016-05-21 04 28 59

I think the login page was served yesterday and today I am trying to login.

The issue resolved after refreshing the login page.

Milestone editing (setting section)

Hi Crew,

while editing a milestone it shows a tick, once editing of the label is done I tried to save it with the tick, but without success. If I go away from the side and I come back the change is lost.

Cheers
L

EDIT: actually the tick doesn't do anything

tick

Installation issues

I've been trying to install it a few times, never worked with anything java related before:

I'm getting "FAIL - Application at context path /lavagna could not be started"

on

Debian 8 (turnkey linux lxc container running on proxmox)
Openjdk-7-jdk
Openjdk-7-jre
Tomcat8
Tomcat7

..while trying to deploy it using tomcat's web interface
Are there any configuration steps omitted in the help?

The only luck I had was with using Turnkey's Tomcat appliance but then it gets stuck at the last stage during the installation - it just does nothing after clicking the button. Tried all the authentication methods. Least I got to play around with ldap for the first time.

Github login bad url

I've tried to enable Github login using my API key, but oauth url is not okey.
Got 404 from github.

RFE - No feedback on update

Hi Lavagna crew,

while updating the name and the description fields of a project (under project settings), I don't see neither positive nor negative feedback.
Is it possible to add this feature?

Thanks
G

Way to set project specific permissions?

Just started playing with Lavagna and using LDAP authentication (nice!). Is there any way to set project specific permissions to users? For example I have a project ("project1"), I want user1 to be an "project administrator" just on a project1 and be able to add/update/delete anything for a project. And for user2, just have read/add/update but no delete. And another user3, would only have read only to review the project/tasks. Is this possible? By the way if there were multiple projects, the users would only have access to the project s/he is given permissions to. Is this possible in Lavagna?

Looks nice so far.

Cannot start Lavagna on Ubuntu 14.04

Tried running Lavagna on my Ubuntu 14.04 server and got the errors below when trying to launch with ./lavagna.sh (I have MySQL 5.5, java version 1.7.0_75 and have installed libmysql-java)...

Note: database called "lavagna" was created in MySQL with user "someuser" granted ALL privileges.
....
./lavagna.sh: line 54: -Ddatasource.dialect=MYSQL: command not found
./lavagna.sh: line 55: -Ddatasource.url=jdbc:mysql://localhost:3306/lavagna: No such file or directory
./lavagna.sh: line 61: -Ddatasource.username=someuser: command not found

Unable to authenticate on LDAP without user previously created

On my instance, I configured the LDAP.

My first account can acces the application, everything working fine.

But another user can not authenticate until its account was created from the administration panel.

It would be nice if the user could be automatically created, if it meet the LDAP configuration (and may be all other Oauth providers)

Mysql database creation not completed on fresh install

Hello.

Just pickup the last commited files and do a fresh install.
After configuration, I can conect on the application.
But I have an error message displayed : "Connection failure. Please reload the page."
This message is displayed on Chrome but not IE 11

But in fact, the trace show the following error :
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [SELECT * FROM LA_PROJECT_MAIL_TICKET_CONFIG]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLS
yntaxErrorException: Table 'lavagna.LA_PROJECT_MAIL_TICKET_CONFIG' doesn't exist

It seems that some scripts were not executed, from the 17th.

Invalid URL access with IE

Try to never use IE, but just one time I did a try.

And I was surprise to see the following Network activity :

network

It seems that IE does not like the commented line in file webapp\js\angular-material.min.js
//# sourceMappingURL=/home/sylvain/Downloads/tmp/output/angular-material.min.js

[Feature Request] Duplicate a Board (and all its contents)

Lavagna team,

I'd like to request a "Duplicate Board" button in the menu for board operations; I envision it then asking me what project I'd like to put the new copy into, and what to name the new board.

We have a project activity with a predefined set of tasks that we repeat for different customers. We'd like to create a lavagna project with the "template" board in it that has all the columns & cards organized, and copy that board (complete with copies of all its cards, etc) to a new board to save setup time.

Run first time on Public IP?

Hello,
Lavagna defaults / redirects to localhost:8080/ right after I input my public_ip:8080, is there anyway to hardset the IP address during launch?

HTTP ERROR 403 on page refresh

Hi Lavagna crew,
if you are in the settings section under Roles edit and you press refresh (ctrl+R or F5) it throws an error 403 and you need to go back to dashboard to make the application work again.

Cheers
L

Logout disabled on chrome

Installed from the last commit, when I access to the application with Chrome, the logout button does nothing.

[Feature Request] Calendar View and simplicity features

Dear Lavagna Development Team,

I would like to make the following requests/suggestions for future features:

  • a "calendar view" for viewing upcoming and missed/met deadlines on tasks/cards.
  • a way to add tasks and due dates directly from the board view, rather than having to go into the card detailed view.
  • multiple selection of cards for adding labels, due dates and/or tasks (once again, directly from the board view) to many cards simultaneously
  • keyboard shortcuts, both for navigational purposes and easier editing

On the other hand, I also want to say thank you sooo very much for all the effort that has gone into the project thus far, I would love to contribute in any way possible, this has so far been an incredibly useful application and I can only see it becoming more so. Could you tell me how I could make a meaningful contribution? (Code-wise)

Thank you!!
dotKiddo

Incorrect tooltip in titlebar

In the titlebar, there is some buttons.
A custom tooltip is displayed when the mouse is over.

But there is also a standard tooltip display, with a sort of key.
Moreover, the message is always the same : title.calendar

tooltip error

And just after the issue creation, I am not able to reproduce it.
If apends again, I will update the card.

HipChat/Slack integration ?

Hi,
It'd be pretty nice to have HipChat or Slack integration to push notifications and such to HipChat or Slack

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.