diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 41eb854438ae39659a21c3c8e2072271d5dbb5a4..ecc25345ebdac4956b9b544676852011f74e7c73 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,9 +1,5 @@ image: node -before_script: - - apt-get update - - stages: - build - test @@ -24,6 +20,7 @@ build_war: paths: - minerva.war script: + - apt-get update - apt-get install -y curl sudo gnupg git openjdk-8-jdk ant maven - curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash - - sudo apt-get install -y nodejs @@ -35,10 +32,13 @@ build_debian_package: stage: build only: - tags + tags: + - privileged artifacts: paths: - "debian/*.deb" script: + - apt-get update - apt-get install -y curl sudo gnupg git openjdk-8-jdk ant maven dh-make build-essential lintian devscripts xsltproc fakeroot xsltproc docbook-xsl - curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash - - sudo apt-get install -y nodejs @@ -46,3 +46,42 @@ build_debian_package: - export DEBEMAIL="piotr.gawron@uni.lu" - ant debian-pkg +test_install_debian_package: + image: debian + stage: test + only: + - tags +# we need to run it in privileged mode due to: https://stackoverflow.com/questions/29683231/tomcat7-fail-to-start-inside-ubuntu-docker-container + tags: + - privileged + services: + - name: piotrgawron/debian-repo + alias: debian-repo + dependencies: + - build_debian_package + script: + - apt-get update + - apt-get install -y ssh software-properties-common dirmngr wget curl + - debian_file=$(ls debian/*.deb) + - echo "PUT $debian_file /docker/incoming" | sftp -o StrictHostKeyChecking=no user@debian-repo + - ssh root@debian-repo /usr/local/sbin/reprepro-import + - apt-add-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" + - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 + - apt-add-repository "deb http://debian-repo/ unstable main" + - apt-get update +# auto accept oracle license + - echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections +#hacky way of installing minerva on docker - by default rc-invoke is preventing services changes on docker + - mv /usr/sbin/policy-rc.d /usr/sbin/policy-rc.d.backup + - mv Docker/policy-rc.d /usr/sbin/policy-rc.d + - apt-get install -y --allow-unauthenticated minerva + - mv /usr/sbin/policy-rc.d.backup /usr/sbin/policy-rc.d + - service tomcat8 start +#we need to wait a bit for tomcat start + - sleep 15 + - wget http://localhost:8080/minerva/ +#test if we can login and list projects + - test 200 = $(curl --write-out %{http_code} --silent --output /dev/null -c cookie.txt http://localhost:8080/minerva/api/doLogin) + - test 200 = $(curl --write-out %{http_code} --silent --output /dev/null --cookie cookie.txt http://localhost:8080/minerva/api/projects/) + + diff --git a/CHANGELOG b/CHANGELOG index 096daa0c19c2d10a1ba292251c3e94eee9423a81..cf80b16b0fec961e1a72a1f702e5faa7b181475b 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,16 @@ +minerva (12.1.0~alpha.0) experimental; urgency=medium + * Feature: genome browser with gene variants + * Feature: support of all CellDesigner element modifications + * Feature: ldap authentication + * Feature: multicolored anchors for data overlays + * Bug fix: annotations for elements with mutation in name (like "BID (p15)") + weren't provided properly + * Small improvement: annotations from RHEA are handled + * Small improvement: description of a grouped results in improved + * Small improvement: selection of required annotation on map upload improved + + -- Piotr Gawron <piotr.gawron@uni.lu> Wed, 25 Jul 2018 10:00:00 +0200 + minerva (12.0.1) stable; urgency=medium * Bug fix: setting default zoom level on submap * Bug fix: opened submap had different background then current selection @@ -8,7 +21,7 @@ minerva (12.0.1) stable; urgency=medium * Bug fix: map is repositioned when info window is outside of current view in OpenLayers library - -- Piotr Gawron <piotr.gawron@uni.lu> Wed, 22 Jul 2018 10:00:00 +0200 + -- Piotr Gawron <piotr.gawron@uni.lu> Tue, 24 Jul 2018 10:00:00 +0200 minerva (12.0.0) stable; urgency=medium * Feature: There is alternative OpenLayers map engine available diff --git a/converter-sbml/pom.xml b/converter-sbml/pom.xml index d7cdf3e98113ccf7c6778c3ad968561a6d70ba5d..c540e49ed44dc3876be6c8bf9f5b69c29ad5b333 100644 --- a/converter-sbml/pom.xml +++ b/converter-sbml/pom.xml @@ -1,7 +1,8 @@ <?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" - xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>lcsb.mapviewer</groupId> @@ -75,8 +76,8 @@ <dependency> <groupId>org.sbml.jsbml</groupId> <artifactId>jsbml</artifactId> - <version>1.2</version> - <!-- for now we use lower version of log4j and this one introduce some + <version>1.3.1</version> + <!-- for now we use lower version of log4j and this one introduce some problem with tomcat loggin --> <exclusions> <exclusion> @@ -91,6 +92,10 @@ <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-1.2-api</artifactId> </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> </exclusions> </dependency> diff --git a/debian/create-debian-pkg.sh b/debian/create-debian-pkg.sh index 1da14fa3436067f4a90d5deb5eecfa90b07266ec..c3b78f2e24dfd06796845c2acfb556ca76ca5218 100755 --- a/debian/create-debian-pkg.sh +++ b/debian/create-debian-pkg.sh @@ -22,7 +22,7 @@ DOC_DIR=doc TOMCAT_FILE=web/target/web-1.0.war #Directory with database schema -DB_SCHEMA_DIR=persist/src/db +DB_SCHEMA_DIR=persist/src/main/resources/db/migration ROOT_DIR=`pwd` @@ -46,7 +46,7 @@ cp $DB_SCHEMA_DIR/base.sql $SRC_DIR/db_0.sql #copy manual documentation cp $DOC_DIR/description.txt $SRC_DIR/minerva.txt -gzip $SRC_DIR/minerva.txt +gzip -n $SRC_DIR/minerva.txt #copy configuration of logrotate cp debian/logrotate/* $SRC_DIR/ @@ -58,16 +58,18 @@ cp CHANGELOG $ROOT_DIR/debian/template/changelog # set $versions and $current_version; generate upgrade scripts in SRC_DIR DBSCRIPT_DEST_DIR=$SRC_DIR +MAX_DB_VERSION_FOR_MIGRTION=12.1.0~alpha source $dbschemadiff echo "Current version: " $current_version +echo "Flyway was introduced in version: " $MAX_DB_VERSION_FOR_MIGRTION # check if the changelog contains info about new version tmpVar=`cat debian/template/changelog | grep "minerva ($current_version)"|wc -l` if [ $tmpVar -eq "0" ] then echo "Invalid changelog file. Please modify debian/template/changelog to contain information about current version"; - exit 1; + e-n xit 1; fi @@ -120,6 +122,7 @@ sed -i "s/__DB_PORT__/$DB_PORT/g" common.sh sed -i "s/__DB_DATABASE_NAME__/$DB_DATABASE_NAME/g" common.sh sed -i "s/__DB_USERNAME__/$DB_USERNAME/g" common.sh sed -i "s/__DB_PASSWORD__/$DB_PASSWORD/g" common.sh +sed -i "s/__MAX_DB_VERSION_FOR_MIGRTION__/$MAX_DB_VERSION_FOR_MIGRTION/g" common.sh sed -i -e "1r common.sh" debian/postinst sed -i -e "1r common.sh" debian/postrm @@ -132,12 +135,12 @@ sed -i -e "1r common.sh" debian/prerm #put scripts into $DB_SCRIPT_DIR (it's a bit different than varaiable because it's not #escaped echo db_0.sql /usr/share\/minerva/schema >> debian/install -echo db_0_to_$current_version".sql" /usr/share/minerva/schema >> debian/install +echo db_0_to_$MAX_DB_VERSION_FOR_MIGRTION".sql" /usr/share/minerva/schema >> debian/install for version in ${versions[*]} do if [ "$version" != "$current_version" ] then - echo db_"$version"_to_$current_version".sql" /usr/share/minerva/schema >> debian/install; + echo db_"$version"_to_$MAX_DB_VERSION_FOR_MIGRTION".sql" /usr/share/minerva/schema >> debian/install; fi done @@ -152,7 +155,8 @@ echo minerva.txt.gz /usr/share/doc/minerva/minerva.txt.gz >> debian/install; echo minerva /etc/logrotate.d >> debian/install; #remove some sample file -rm debian/package.doc-base.EX +rm debian/*.EX +rm debian/*.ex #build debian package debuild -us -uc diff --git a/debian/scripts/common.sh b/debian/scripts/common.sh index 2b5d61837f794dd009b68265814570874af93999..f35028769d1d5a9f021b51df170dac4642072962 100644 --- a/debian/scripts/common.sh +++ b/debian/scripts/common.sh @@ -5,6 +5,7 @@ log(){ LOG_FILE="__LOG_FILE__" DB_SCRIPT_DIR="__DB_SCRIPT_DIR__" +MAX_DB_VERSION_FOR_MIGRTION="__MAX_DB_VERSION_FOR_MIGRTION__" #new (current) version of the package CURRENT_VERSION="__CURRENT_VERSION__" diff --git a/debian/template/control b/debian/template/control index dcb5946ab20574544cfcc59508f78714bc39af25..c78e976a65563855a1ecd6952443c8c10fdb551b 100644 --- a/debian/template/control +++ b/debian/template/control @@ -1,7 +1,7 @@ Source: minerva Priority: optional Maintainer: Piotr Gawron <piotr.gawron@uni.lu> -Standards-Version: 3.9.6 +Standards-Version: 3.9.7 #Vcs-Git: git://anonscm.debian.org/collab-maint/minerva.git #Vcs-Browser: http://anonscm.debian.org/?p=collab-maint/minerva.git;a=summary diff --git a/debian/template/postinst b/debian/template/postinst index 35037021f7e211c44b71872a9db765295f72f101..bba24dc6df89538365afd4b679d76c3c7bd20d87 100644 --- a/debian/template/postinst +++ b/debian/template/postinst @@ -31,11 +31,15 @@ case "$1" in #install base version of the framework exec_sql_file "$DB_SCRIPT_DIR/db_0.sql" #install patch to current version - exec_sql_file "$DB_SCRIPT_DIR/db_0_to_${CURRENT_VERSION}.sql" + exec_sql_file "$DB_SCRIPT_DIR/db_0_to_${MAX_DB_VERSION_FOR_MIGRTION}.sql" else #if we update the package - exec_sql_file "$DB_SCRIPT_DIR/db_${OLD_VERSION}_to_${CURRENT_VERSION}.sql" + if [ -f $DB_SCRIPT_DIR/db_${OLD_VERSION}_to_${MAX_DB_VERSION_FOR_MIGRTION}.sql ]; then + exec_sql_file "$DB_SCRIPT_DIR/db_${OLD_VERSION}_to_${MAX_DB_VERSION_FOR_MIGRTION}.sql" + else + log "INFO: File doesn't exist: $DB_SCRIPT_DIR/db_${OLD_VERSION}_to_${MAX_DB_VERSION_FOR_MIGRTION}.sql" + fi fi #print a disclaimer diff --git a/management_scripts/db_schema_and_diff.sh b/management_scripts/db_schema_and_diff.sh index c6c0783e00fec80662cdb30d86aec5ed637e53a2..918415cd5a4d67c0703cdb703418f47de7090c59 100644 --- a/management_scripts/db_schema_and_diff.sh +++ b/management_scripts/db_schema_and_diff.sh @@ -4,8 +4,9 @@ # files) # Precondition: the following variables have to be correctly initialised -# * DB_SCHEMA_DIR set to the directory containing database initialisation and upgrade sql commands -# * DBSCRIPT_DEST_DIR set to the directory that will be populated with database upgrade scripts +# * DB_SCHEMA_DIR set to the directory containing database initialisation and upgrade sql commands +# * DBSCRIPT_DEST_DIR set to the directory that will be populated with database upgrade scripts +# * MAX_DB_VERSION_FOR_MIGRTION set to the max version number that should be used for generating migration scripts; further version will be managed by flyway # Postcondition: # * versions is set to the available MINERVA versions (bash array) @@ -20,12 +21,22 @@ versions=(); current_version=-1; #find all available versions +versionCompLte() { + [ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ] +} + +versionCompLt() { + [ "$1" = "$2" ] && return 1 || versionCompLte $1 $2 +} for version in `ls "$DB_SCHEMA_DIR" | sort -V`; do if [ -d "$DB_SCHEMA_DIR/$version" ] then - versions+=($version); + if versionCompLt $version $MAX_DB_VERSION_FOR_MIGRTION + then + versions+=($version); + fi current_version=$version; fi done @@ -34,28 +45,24 @@ done # GENERATE DB schemas and diff files #-------------------------------------- -versionCompLte() { - [ "$1" = "`echo -e "$1\n$2" | sort -V | head -n1`" ] -} - - -versionCompLt() { - [ "$1" = "$2" ] && return 1 || versionCompLte $1 $2 -} +for version_A in ${versions[*]} +do + touch $DBSCRIPT_DEST_DIR/db_${version_A}_to_${MAX_DB_VERSION_FOR_MIGRTION}.sql +done #last version (used for generating db diff files) for version_A in ${versions[*]} do #main update file (used to create this version - it's a diff - #between base.sql and current version) - update_file="$DBSCRIPT_DEST_DIR/db_0_to_${current_version}.sql"; + #between base.sql and last version not managed by flyway) + update_file="$DBSCRIPT_DEST_DIR/db_0_to_${MAX_DB_VERSION_FOR_MIGRTION}.sql"; #now iterate through all versions for file in `ls "$DB_SCHEMA_DIR/$version_A" | sort -V`; do if [ -f "$DB_SCHEMA_DIR/$version_A/$file" ] then - #add difference to current db schema diff + #add db schema diff to last version not managed by flyway printf "\n\n-- UPDATE $version_A/$file\n\n" >> "$update_file"; cat "$DB_SCHEMA_DIR/$version_A/$file" >> "$update_file"; @@ -67,7 +74,7 @@ do #after #version_B (so version_A must be later) if versionCompLt $version_B $version_A then - upd_file="$DBSCRIPT_DEST_DIR/db_${version_B}_to_${current_version}.sql"; + upd_file="$DBSCRIPT_DEST_DIR/db_${version_B}_to_${MAX_DB_VERSION_FOR_MIGRTION}.sql"; printf "\n\n-- UPDATE $version_A/$file\n\n" >> "$upd_file"; cat "$DB_SCHEMA_DIR/$version_A/$file" >> "$upd_file"; fi diff --git a/persist/pom.xml b/persist/pom.xml index 1428bbc4852bc65be0c1840b34e6249f1c40f6d3..5a6cd0fff26561bddb438d4f1912aa9373c10c1c 100644 --- a/persist/pom.xml +++ b/persist/pom.xml @@ -1,70 +1,76 @@ -<project - xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - + <modelVersion>4.0.0</modelVersion> <parent> <groupId>lcsb.mapviewer</groupId> <artifactId>parent</artifactId> <version>1.0</version> </parent> - + <artifactId>persist</artifactId> <name>MapViewer persist</name> <description>Data Access Interface to the model</description> <dependencies> - <!-- dependency from the MapViewer model --> + <!-- https://mvnrepository.com/artifact/org.flywaydb/flyway-core --> + <dependency> + <groupId>org.flywaydb</groupId> + <artifactId>flyway-core</artifactId> + <version>${flyway.version}</version> + </dependency> + + <!-- dependency from the MapViewer model --> <dependency> <groupId>lcsb.mapviewer</groupId> <artifactId>model</artifactId> <version>1.0</version> </dependency> -<!-- apache ftp --> -<dependency> - <groupId>commons-net</groupId> - <artifactId>commons-net</artifactId> - <version>${commons-net.version}</version> -</dependency> + <!-- apache ftp --> + <dependency> + <groupId>commons-net</groupId> + <artifactId>commons-net</artifactId> + <version>${commons-net.version}</version> + </dependency> - <!-- Hibernate --> - <dependency> + <!-- Hibernate --> + <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> - <version>${hibernate.version}</version> + <version>${hibernate.version}</version> <exclusions> <exclusion> <artifactId>xml-apis</artifactId> <groupId>xml-apis</groupId> </exclusion> </exclusions> - </dependency> - - <!-- Library excluded from above; it was in conflict with Xerces --> - <dependency> - <groupId>xml-apis</groupId> - <artifactId>xml-apis</artifactId> - <version>${xml-apis.version}</version> - </dependency> - - <!-- Log4J --> + </dependency> + + <!-- Library excluded from above; it was in conflict with Xerces --> + <dependency> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + <version>${xml-apis.version}</version> + </dependency> + + <!-- Log4J --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> - - <!-- Spring --> + + <!-- Spring --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${springframework.version}</version> </dependency> - + <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> @@ -84,28 +90,28 @@ </dependency> - <!-- spring module used for conneting orm (hibernate in our case) --> + <!-- spring module used for conneting orm (hibernate in our case) --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${springframework.version}</version> </dependency> - - <!-- spring module used for password encoding --> + + <!-- spring module used for password encoding --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-taglibs</artifactId> <version>${springframework.security.version}</version> </dependency> - <!-- spring module used for testing --> + <!-- spring module used for testing --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${springframework.version}</version> </dependency> - - <!-- postgres connector --> + + <!-- postgres connector --> <dependency> <groupId>postgresql</groupId> <artifactId>postgresql</artifactId> @@ -122,16 +128,16 @@ <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version>${cglib.version}</version> - </dependency> + </dependency> - <!-- Gson --> + <!-- Gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>${gson.version}</version> <scope>compile</scope> </dependency> - + </dependencies> </project> \ No newline at end of file diff --git a/persist/src/main/java/lcsb/mapviewer/persist/CustomDatabasePopulator.java b/persist/src/main/java/lcsb/mapviewer/persist/CustomDatabasePopulator.java new file mode 100644 index 0000000000000000000000000000000000000000..7b1c033ddb46448b95422d708d718038e6a8da93 --- /dev/null +++ b/persist/src/main/java/lcsb/mapviewer/persist/CustomDatabasePopulator.java @@ -0,0 +1,41 @@ +package lcsb.mapviewer.persist; + +import java.sql.Connection; +import java.sql.SQLException; + +import javax.sql.DataSource; + +import org.apache.log4j.Logger; +import org.flywaydb.core.Flyway; +import org.springframework.jdbc.datasource.init.DatabasePopulator; +import org.springframework.jdbc.datasource.init.ScriptException; + +import com.mchange.v2.c3p0.ComboPooledDataSource; + +public class CustomDatabasePopulator implements DatabasePopulator { + Logger logger = Logger.getLogger(CustomDatabasePopulator.class); + + private DataSource dataSource; + + @Override + public void populate(Connection connection) throws SQLException, ScriptException { + ComboPooledDataSource source = (ComboPooledDataSource) dataSource; + String url = source.getJdbcUrl(); + String user = source.getUser(); + String password = source.getPassword(); + Flyway flyway = new Flyway(); + flyway.setDataSource(url, user, password); + flyway.setBaselineVersionAsString("12.1.0"); + flyway.setBaselineOnMigrate(true); + flyway.migrate(); + + } + + public DataSource getDataSource() { + return dataSource; + } + + public void setDataSource(DataSource dataSource) { + this.dataSource = dataSource; + } +} diff --git a/persist/src/main/java/lcsb/mapviewer/persist/DbUtils.java b/persist/src/main/java/lcsb/mapviewer/persist/DbUtils.java index b217ec45d3f286b951bb242ddf78ce2ef345e946..e7d0a0c1a414da1de57bbefceaa2b721bc2e6678 100644 --- a/persist/src/main/java/lcsb/mapviewer/persist/DbUtils.java +++ b/persist/src/main/java/lcsb/mapviewer/persist/DbUtils.java @@ -9,12 +9,17 @@ import javax.management.MBeanServer; import javax.management.ObjectName; import org.apache.log4j.Logger; +import org.flywaydb.core.Flyway; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.hibernate.SessionFactory; +import org.hibernate.internal.SessionFactoryImpl; import org.hibernate.jmx.StatisticsService; +import org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl; import org.springframework.beans.factory.annotation.Autowired; +import com.mchange.v2.c3p0.ComboPooledDataSource; + import lcsb.mapviewer.common.exception.InvalidStateException; /** @@ -33,275 +38,275 @@ import lcsb.mapviewer.common.exception.InvalidStateException; */ @SuppressWarnings("deprecation") public class DbUtils extends Observable { - - /** - * Default class logger. - */ - private static Logger logger = Logger.getLogger(DbUtils.class); - /** - * Hibernate session factory. - */ - @Autowired - private SessionFactory sessionFactory; + /** + * Default class logger. + */ + private static Logger logger = Logger.getLogger(DbUtils.class); + + /** + * Hibernate session factory. + */ + @Autowired + private SessionFactory sessionFactory; - /** - * Service used for connection statistics. - */ - private StatisticsService statisticsService; + /** + * Service used for connection statistics. + */ + private StatisticsService statisticsService; - /** - * This flag indicates if the object was initialized or not. - * - * @see #init() - */ - private boolean initialized = false; - - /** - * Bean used for statistics. - */ - private MBeanServer mbeanServer; + /** + * This flag indicates if the object was initialized or not. + * + * @see #init() + */ + private boolean initialized = false; - /** - * Static map containing opened custom sessions. This object is also used for - * synchronization between threads when accessing informations about sessions. - */ - private static Map<Long, Session> sessionForThread = new HashMap<Long, Session>(); + /** + * Bean used for statistics. + */ + private MBeanServer mbeanServer; - /** - * This determines if every add/update/delete operation should be flushed (for - * specific {@link Thread}). There are few drawbacks of this approach: - * <ol> - * <li>when autoflushing is set to false, then the data consistency could be - * broken (even in the same thread/transaction)</li>, - * <li>we have to automatically take care of the flushing, therefore there - * might be some problems with long transactions.</li> - * </ol> - */ - private static Map<Long, Boolean> autoFlushForThread = new HashMap<>(); + /** + * Static map containing opened custom sessions. This object is also used for + * synchronization between threads when accessing informations about sessions. + */ + private static Map<Long, Session> sessionForThread = new HashMap<Long, Session>(); - /** - * This method initialize services responsible for statistics. - */ - private void init() { - if (!initialized) { - if (SpringApplicationContext.getApplicationContext().containsBean("mbeanServer")) { - logger.info("Hibernate statistics turned on"); - mbeanServer = SpringApplicationContext.getApplicationContext().getBean(MBeanServer.class); - statisticsService = new StatisticsService(); - statisticsService.setSessionFactory(sessionFactory); - statisticsService.setStatisticsEnabled(true); - ObjectName objectName; - try { - objectName = new ObjectName("org.hibernate:name=HibernateStatistics"); + /** + * This determines if every add/update/delete operation should be flushed (for + * specific {@link Thread}). There are few drawbacks of this approach: + * <ol> + * <li>when autoflushing is set to false, then the data consistency could be + * broken (even in the same thread/transaction)</li>, + * <li>we have to automatically take care of the flushing, therefore there might + * be some problems with long transactions.</li> + * </ol> + */ + private static Map<Long, Boolean> autoFlushForThread = new HashMap<>(); - mbeanServer.registerMBean(statisticsService, objectName); - } catch (Exception e) { - logger.error(e, e); - } - } else { - logger.info("Hibernate statistics turned off"); - } - } - initialized = true; + /** + * This method initialize services responsible for statistics. + */ + private void init() { + if (!initialized) { + if (SpringApplicationContext.getApplicationContext().containsBean("mbeanServer")) { + logger.info("Hibernate statistics turned on"); + mbeanServer = SpringApplicationContext.getApplicationContext().getBean(MBeanServer.class); + statisticsService = new StatisticsService(); + statisticsService.setSessionFactory(sessionFactory); + statisticsService.setStatisticsEnabled(true); + ObjectName objectName; + try { + objectName = new ObjectName("org.hibernate:name=HibernateStatistics"); - } + mbeanServer.registerMBean(statisticsService, objectName); + } catch (Exception e) { + logger.error(e, e); + } + } else { + logger.info("Hibernate statistics turned off"); + } + } + initialized = true; - /** - * Executes sql query given in the parameter. - * - * @param query - * sql query to be executed - * @return The number of entities updated or deleted. - */ - public int executeSqlQuery(String query) { - return executeSqlQuery(query, new HashMap<String, Object>()); - } + } - /** - * Executes sql query given in the parameter. - * - * @param query - * sql query to be executed - * @param params - * map of parameters used in the query - * @return The number of entities updated or deleted. - */ - public int executeSqlQuery(String query, Map<String, Object> params) { - SQLQuery sqlQuery = getSessionFactory().getCurrentSession().createSQLQuery(query); + /** + * Executes sql query given in the parameter. + * + * @param query + * sql query to be executed + * @return The number of entities updated or deleted. + */ + public int executeSqlQuery(String query) { + return executeSqlQuery(query, new HashMap<String, Object>()); + } - for (Entry<String, Object> entry : params.entrySet()) { - sqlQuery.setParameter(entry.getKey(), entry.getValue()); - } - return sqlQuery.executeUpdate(); - } + /** + * Executes sql query given in the parameter. + * + * @param query + * sql query to be executed + * @param params + * map of parameters used in the query + * @return The number of entities updated or deleted. + */ + public int executeSqlQuery(String query, Map<String, Object> params) { + SQLQuery sqlQuery = getSessionFactory().getCurrentSession().createSQLQuery(query); - /** - * Returns hibernate session for current thread. - * - * @return session for the current thread - */ - public Session getSessionForCurrentThread() { - Long id = Thread.currentThread().getId(); - Session session = null; - synchronized (sessionForThread) { - session = sessionForThread.get(id); - } - if (session == null) { - session = sessionFactory.getCurrentSession(); - } - return session; - } + for (Entry<String, Object> entry : params.entrySet()) { + sqlQuery.setParameter(entry.getKey(), entry.getValue()); + } + return sqlQuery.executeUpdate(); + } - /** - * Closes custom session for current thread. - */ - public void closeSessionForCurrentThread() { - Long id = Thread.currentThread().getId(); - Session session = null; - synchronized (sessionForThread) { - session = sessionForThread.get(id); - sessionForThread.remove(id); - } - if (session != null) { - logger.debug("Closing session for thread: " + id); - session.getTransaction().commit(); + /** + * Returns hibernate session for current thread. + * + * @return session for the current thread + */ + public Session getSessionForCurrentThread() { + Long id = Thread.currentThread().getId(); + Session session = null; + synchronized (sessionForThread) { + session = sessionForThread.get(id); + } + if (session == null) { + session = sessionFactory.getCurrentSession(); + } + return session; + } - session.close(); - int counter = -1; - synchronized (sessionForThread) { - sessionForThread.remove(id); - counter = sessionForThread.size(); - } - synchronized (autoFlushForThread) { - autoFlushForThread.remove(id); - } - setChanged(); - notifyObservers(counter); - logger.debug("Session closed for thread: " + id); - } - } + /** + * Closes custom session for current thread. + */ + public void closeSessionForCurrentThread() { + Long id = Thread.currentThread().getId(); + Session session = null; + synchronized (sessionForThread) { + session = sessionForThread.get(id); + sessionForThread.remove(id); + } + if (session != null) { + logger.debug("Closing session for thread: " + id); + session.getTransaction().commit(); - /** - * Creates custom session for current thread. - */ - public void createSessionForCurrentThread() { - Long id = Thread.currentThread().getId(); - Session session = null; - synchronized (sessionForThread) { - session = sessionForThread.get(id); - if (!initialized) { - init(); - } - } + session.close(); + int counter = -1; + synchronized (sessionForThread) { + sessionForThread.remove(id); + counter = sessionForThread.size(); + } + synchronized (autoFlushForThread) { + autoFlushForThread.remove(id); + } + setChanged(); + notifyObservers(counter); + logger.debug("Session closed for thread: " + id); + } + } - // we cannot create two threads for one session - if (session != null) { - throw new InvalidStateException("Current thread already has an active session"); - } else { - logger.debug("Creating session for thread: " + id); - session = sessionFactory.openSession(); - logger.debug("Session opened: " + id); - session.beginTransaction(); - logger.debug("Session started: " + id); - if (statisticsService != null) { - logger.debug("Opened sessions: " + statisticsService.getSessionOpenCount() + ". Closed sessions: " + statisticsService.getSessionCloseCount()); - } - Integer counter = -1; - synchronized (sessionForThread) { - sessionForThread.put(id, session); - counter = sessionForThread.size(); - } - synchronized (autoFlushForThread) { - autoFlushForThread.put(id, true); - } - setChanged(); - notifyObservers(counter); - } - } + /** + * Creates custom session for current thread. + */ + public void createSessionForCurrentThread() { + Long id = Thread.currentThread().getId(); + Session session = null; + synchronized (sessionForThread) { + session = sessionForThread.get(id); + if (!initialized) { + init(); + } + } - /** - * Returns true if custom session was opened for this thread. - * - * @return <code>true</code> if custom session was created for this thread, - * <code>false</code> otherwise - */ - public boolean isCustomSessionForCurrentThread() { - Long id = Thread.currentThread().getId(); - Session session = null; - synchronized (sessionForThread) { - session = sessionForThread.get(id); - } - return session != null; + // we cannot create two threads for one session + if (session != null) { + throw new InvalidStateException("Current thread already has an active session"); + } else { + logger.debug("Creating session for thread: " + id); + session = sessionFactory.openSession(); + logger.debug("Session opened: " + id); + session.beginTransaction(); + logger.debug("Session started: " + id); + if (statisticsService != null) { + logger.debug("Opened sessions: " + statisticsService.getSessionOpenCount() + ". Closed sessions: " + + statisticsService.getSessionCloseCount()); + } + Integer counter = -1; + synchronized (sessionForThread) { + sessionForThread.put(id, session); + counter = sessionForThread.size(); + } + synchronized (autoFlushForThread) { + autoFlushForThread.put(id, true); + } + setChanged(); + notifyObservers(counter); + } + } - } + /** + * Returns true if custom session was opened for this thread. + * + * @return <code>true</code> if custom session was created for this thread, + * <code>false</code> otherwise + */ + public boolean isCustomSessionForCurrentThread() { + Long id = Thread.currentThread().getId(); + Session session = null; + synchronized (sessionForThread) { + session = sessionForThread.get(id); + } + return session != null; - /** - * Returns number of opened custom sessions. - * - * @return number of sessions - */ - public int getSessionCounter() { - int result = -1; - synchronized (sessionForThread) { - result = sessionForThread.values().size(); - } - return result; - } + } - /** - * @return the sessionFactory - * @see #sessionFactory - */ - public SessionFactory getSessionFactory() { - return sessionFactory; - } + /** + * Returns number of opened custom sessions. + * + * @return number of sessions + */ + public int getSessionCounter() { + int result = -1; + synchronized (sessionForThread) { + result = sessionForThread.values().size(); + } + return result; + } - /** - * @param sessionFactory - * the sessionFactory to set - * @see #sessionFactory - */ - public void setSessionFactory(SessionFactory sessionFactory) { - this.sessionFactory = sessionFactory; - } + /** + * @return the sessionFactory + * @see #sessionFactory + */ + public SessionFactory getSessionFactory() { + return sessionFactory; + } - /** - * Returns info if the flush is automatically done or not in current - * {@link Thread}. - * - * @return <code>true</code> if flush is automatically done, - * <code>false</code> otherwise - * @see #autoFlushForThread - */ - public boolean isAutoFlush() { - Long id = Thread.currentThread().getId(); - Boolean result = true; - synchronized (autoFlushForThread) { - result = autoFlushForThread.get(id); - } - if (result == null) { - logger.debug("autoFlush not set for thread: " + id + ". Setting true"); - synchronized (autoFlushForThread) { - autoFlushForThread.put(id, true); - } - result = true; - } - return result; - } + /** + * @param sessionFactory + * the sessionFactory to set + * @see #sessionFactory + */ + public void setSessionFactory(SessionFactory sessionFactory) { + this.sessionFactory = sessionFactory; + } - /** - * Set autoFlush for current {@link Thread}. - * - * @param autoFlush - * the ne autoflush value - * @see #autoFlushForThread - */ - public void setAutoFlush(boolean autoFlush) { - Long id = Thread.currentThread().getId(); - synchronized (autoFlushForThread) { - autoFlushForThread.put(id, autoFlush); - } - } + /** + * Returns info if the flush is automatically done or not in current + * {@link Thread}. + * + * @return <code>true</code> if flush is automatically done, <code>false</code> + * otherwise + * @see #autoFlushForThread + */ + public boolean isAutoFlush() { + Long id = Thread.currentThread().getId(); + Boolean result = true; + synchronized (autoFlushForThread) { + result = autoFlushForThread.get(id); + } + if (result == null) { + logger.debug("autoFlush not set for thread: " + id + ". Setting true"); + synchronized (autoFlushForThread) { + autoFlushForThread.put(id, true); + } + result = true; + } + return result; + } + /** + * Set autoFlush for current {@link Thread}. + * + * @param autoFlush + * the new autoflush value + * @see #autoFlushForThread + */ + public void setAutoFlush(boolean autoFlush) { + Long id = Thread.currentThread().getId(); + synchronized (autoFlushForThread) { + autoFlushForThread.put(id, autoFlush); + } + } } diff --git a/persist/src/main/resources/dataSource.xml b/persist/src/main/resources/dataSource.xml index 5f6bc4799151317e0bd742c29acbd40b0f247f55..f21e41eec45a3bdbdb317c5bdfcc7f9284e62a31 100644 --- a/persist/src/main/resources/dataSource.xml +++ b/persist/src/main/resources/dataSource.xml @@ -9,18 +9,31 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> - <context:property-placeholder ignore-resource-not-found="true" location="classpath:db.properties,file:/etc/minerva/db.properties" /> + <context:property-placeholder + ignore-resource-not-found="true" + location="classpath:db.properties,file:/etc/minerva/db.properties" /> - -<!-- Data Source Declaration --> - <bean id="DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> + + <!-- Data Source Declaration --> + <bean id="DataSource" + class="com.mchange.v2.c3p0.ComboPooledDataSource" + destroy-method="close"> <property name="driverClass" value="org.postgresql.Driver" /> <property name="jdbcUrl" value="${database.uri}" /> <property name="user" value="${database.username}" /> - <property name="password" value="${database.password}" /> + <property name="password" value="${database.password}" /> <property name="maxPoolSize" value="90" /> <property name="maxStatements" value="5" /> <property name="minPoolSize" value="5" /> - </bean> + </bean> + + <bean id="DbInit" class="lcsb.mapviewer.persist.CustomDatabasePopulator"> + <property name="dataSource"><ref bean="DataSource"/></property> + </bean> + + <bean id="startupScripts" class="org.springframework.jdbc.datasource.init.DataSourceInitializer"> + <property name="dataSource"><ref bean="DataSource"/></property> + <property name="databasePopulator"><ref bean="DbInit"/></property> + </bean> </beans> diff --git a/persist/src/db/10.0.1/fix_db_20160907.sql b/persist/src/main/resources/db/migration/10.0.1/fix_db_20160907.sql similarity index 100% rename from persist/src/db/10.0.1/fix_db_20160907.sql rename to persist/src/main/resources/db/migration/10.0.1/fix_db_20160907.sql diff --git a/persist/src/db/10.0.1/fix_db_20160909.sql b/persist/src/main/resources/db/migration/10.0.1/fix_db_20160909.sql similarity index 100% rename from persist/src/db/10.0.1/fix_db_20160909.sql rename to persist/src/main/resources/db/migration/10.0.1/fix_db_20160909.sql diff --git a/persist/src/db/10.0.2/fix_db_20160928.sql b/persist/src/main/resources/db/migration/10.0.2/fix_db_20160928.sql similarity index 100% rename from persist/src/db/10.0.2/fix_db_20160928.sql rename to persist/src/main/resources/db/migration/10.0.2/fix_db_20160928.sql diff --git a/persist/src/db/10.0.3/fix_db_20160926.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20160926.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20160926.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20160926.sql diff --git a/persist/src/db/10.0.3/fix_db_20160929.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20160929.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20160929.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20160929.sql diff --git a/persist/src/db/10.0.3/fix_db_20160930.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20160930.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20160930.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20160930.sql diff --git a/persist/src/db/10.0.3/fix_db_20161003.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20161003.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20161003.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20161003.sql diff --git a/persist/src/db/10.0.3/fix_db_20161004.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20161004.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20161004.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20161004.sql diff --git a/persist/src/db/10.0.3/fix_db_20161005.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20161005.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20161005.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20161005.sql diff --git a/persist/src/db/10.0.3/fix_db_20161006.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20161006.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20161006.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20161006.sql diff --git a/persist/src/db/10.0.3/fix_db_20161007.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20161007.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20161007.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20161007.sql diff --git a/persist/src/db/10.0.3/fix_db_20161010.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20161010.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20161010.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20161010.sql diff --git a/persist/src/db/10.0.3/fix_db_20161012.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20161012.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20161012.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20161012.sql diff --git a/persist/src/db/10.0.3/fix_db_20161026.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20161026.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20161026.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20161026.sql diff --git a/persist/src/db/10.0.3/fix_db_20161027.sql b/persist/src/main/resources/db/migration/10.0.3/fix_db_20161027.sql similarity index 100% rename from persist/src/db/10.0.3/fix_db_20161027.sql rename to persist/src/main/resources/db/migration/10.0.3/fix_db_20161027.sql diff --git a/persist/src/db/10.0.4/fix_db_20161215.sql b/persist/src/main/resources/db/migration/10.0.4/fix_db_20161215.sql similarity index 100% rename from persist/src/db/10.0.4/fix_db_20161215.sql rename to persist/src/main/resources/db/migration/10.0.4/fix_db_20161215.sql diff --git a/persist/src/db/10.0.4/fix_db_20161228.sql b/persist/src/main/resources/db/migration/10.0.4/fix_db_20161228.sql similarity index 100% rename from persist/src/db/10.0.4/fix_db_20161228.sql rename to persist/src/main/resources/db/migration/10.0.4/fix_db_20161228.sql diff --git a/persist/src/db/10.0.5/fix_db_20170131.sql b/persist/src/main/resources/db/migration/10.0.5/fix_db_20170131.sql similarity index 100% rename from persist/src/db/10.0.5/fix_db_20170131.sql rename to persist/src/main/resources/db/migration/10.0.5/fix_db_20170131.sql diff --git a/persist/src/db/10/fix_db_20160517.sql b/persist/src/main/resources/db/migration/10/fix_db_20160517.sql similarity index 100% rename from persist/src/db/10/fix_db_20160517.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160517.sql diff --git a/persist/src/db/10/fix_db_20160518.sql b/persist/src/main/resources/db/migration/10/fix_db_20160518.sql similarity index 100% rename from persist/src/db/10/fix_db_20160518.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160518.sql diff --git a/persist/src/db/10/fix_db_20160519.sql b/persist/src/main/resources/db/migration/10/fix_db_20160519.sql similarity index 100% rename from persist/src/db/10/fix_db_20160519.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160519.sql diff --git a/persist/src/db/10/fix_db_20160520.sql b/persist/src/main/resources/db/migration/10/fix_db_20160520.sql similarity index 100% rename from persist/src/db/10/fix_db_20160520.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160520.sql diff --git a/persist/src/db/10/fix_db_20160523.sql b/persist/src/main/resources/db/migration/10/fix_db_20160523.sql similarity index 100% rename from persist/src/db/10/fix_db_20160523.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160523.sql diff --git a/persist/src/db/10/fix_db_20160524.sql b/persist/src/main/resources/db/migration/10/fix_db_20160524.sql similarity index 100% rename from persist/src/db/10/fix_db_20160524.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160524.sql diff --git a/persist/src/db/10/fix_db_20160527.sql b/persist/src/main/resources/db/migration/10/fix_db_20160527.sql similarity index 100% rename from persist/src/db/10/fix_db_20160527.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160527.sql diff --git a/persist/src/db/10/fix_db_20160601.sql b/persist/src/main/resources/db/migration/10/fix_db_20160601.sql similarity index 100% rename from persist/src/db/10/fix_db_20160601.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160601.sql diff --git a/persist/src/db/10/fix_db_20160606.sql b/persist/src/main/resources/db/migration/10/fix_db_20160606.sql similarity index 100% rename from persist/src/db/10/fix_db_20160606.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160606.sql diff --git a/persist/src/db/10/fix_db_20160621.sql b/persist/src/main/resources/db/migration/10/fix_db_20160621.sql similarity index 100% rename from persist/src/db/10/fix_db_20160621.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160621.sql diff --git a/persist/src/db/10/fix_db_20160629.sql b/persist/src/main/resources/db/migration/10/fix_db_20160629.sql similarity index 100% rename from persist/src/db/10/fix_db_20160629.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160629.sql diff --git a/persist/src/db/10/fix_db_20160727.sql b/persist/src/main/resources/db/migration/10/fix_db_20160727.sql similarity index 100% rename from persist/src/db/10/fix_db_20160727.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160727.sql diff --git a/persist/src/db/10/fix_db_20160728.sql b/persist/src/main/resources/db/migration/10/fix_db_20160728.sql similarity index 100% rename from persist/src/db/10/fix_db_20160728.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160728.sql diff --git a/persist/src/db/10/fix_db_20160822.sql b/persist/src/main/resources/db/migration/10/fix_db_20160822.sql similarity index 100% rename from persist/src/db/10/fix_db_20160822.sql rename to persist/src/main/resources/db/migration/10/fix_db_20160822.sql diff --git a/persist/src/db/11.0.0/fix_db_20170616.sql b/persist/src/main/resources/db/migration/11.0.0/fix_db_20170616.sql similarity index 100% rename from persist/src/db/11.0.0/fix_db_20170616.sql rename to persist/src/main/resources/db/migration/11.0.0/fix_db_20170616.sql diff --git a/persist/src/db/11.0.0/fix_db_20170627.sql b/persist/src/main/resources/db/migration/11.0.0/fix_db_20170627.sql similarity index 100% rename from persist/src/db/11.0.0/fix_db_20170627.sql rename to persist/src/main/resources/db/migration/11.0.0/fix_db_20170627.sql diff --git a/persist/src/db/11.0.0/fix_db_20170628.sql b/persist/src/main/resources/db/migration/11.0.0/fix_db_20170628.sql similarity index 100% rename from persist/src/db/11.0.0/fix_db_20170628.sql rename to persist/src/main/resources/db/migration/11.0.0/fix_db_20170628.sql diff --git a/persist/src/db/11.0.0/fix_db_20170629.sql b/persist/src/main/resources/db/migration/11.0.0/fix_db_20170629.sql similarity index 100% rename from persist/src/db/11.0.0/fix_db_20170629.sql rename to persist/src/main/resources/db/migration/11.0.0/fix_db_20170629.sql diff --git a/persist/src/db/11.0.0/fix_db_20170705.sql b/persist/src/main/resources/db/migration/11.0.0/fix_db_20170705.sql similarity index 100% rename from persist/src/db/11.0.0/fix_db_20170705.sql rename to persist/src/main/resources/db/migration/11.0.0/fix_db_20170705.sql diff --git a/persist/src/db/11.0.0/fix_db_20170714.sql b/persist/src/main/resources/db/migration/11.0.0/fix_db_20170714.sql similarity index 100% rename from persist/src/db/11.0.0/fix_db_20170714.sql rename to persist/src/main/resources/db/migration/11.0.0/fix_db_20170714.sql diff --git a/persist/src/db/11.0.0/fix_db_20170725.sql b/persist/src/main/resources/db/migration/11.0.0/fix_db_20170725.sql similarity index 100% rename from persist/src/db/11.0.0/fix_db_20170725.sql rename to persist/src/main/resources/db/migration/11.0.0/fix_db_20170725.sql diff --git a/persist/src/db/11.0.0/fix_db_20170731.sql b/persist/src/main/resources/db/migration/11.0.0/fix_db_20170731.sql similarity index 100% rename from persist/src/db/11.0.0/fix_db_20170731.sql rename to persist/src/main/resources/db/migration/11.0.0/fix_db_20170731.sql diff --git a/persist/src/db/11.0.1/fix_db_20170908.sql b/persist/src/main/resources/db/migration/11.0.1/fix_db_20170908.sql similarity index 100% rename from persist/src/db/11.0.1/fix_db_20170908.sql rename to persist/src/main/resources/db/migration/11.0.1/fix_db_20170908.sql diff --git a/persist/src/db/11.0.10/fix_db_20180416.sql b/persist/src/main/resources/db/migration/11.0.10/fix_db_20180416.sql similarity index 100% rename from persist/src/db/11.0.10/fix_db_20180416.sql rename to persist/src/main/resources/db/migration/11.0.10/fix_db_20180416.sql diff --git a/persist/src/db/11.0.2/fix_db_20171010.sql b/persist/src/main/resources/db/migration/11.0.2/fix_db_20171010.sql similarity index 100% rename from persist/src/db/11.0.2/fix_db_20171010.sql rename to persist/src/main/resources/db/migration/11.0.2/fix_db_20171010.sql diff --git a/persist/src/db/11.0.3/fix_db_20171017.sql b/persist/src/main/resources/db/migration/11.0.3/fix_db_20171017.sql similarity index 100% rename from persist/src/db/11.0.3/fix_db_20171017.sql rename to persist/src/main/resources/db/migration/11.0.3/fix_db_20171017.sql diff --git a/persist/src/db/11.0.4/fix_db_20171109.sql b/persist/src/main/resources/db/migration/11.0.4/fix_db_20171109.sql similarity index 100% rename from persist/src/db/11.0.4/fix_db_20171109.sql rename to persist/src/main/resources/db/migration/11.0.4/fix_db_20171109.sql diff --git a/persist/src/db/11.0.5/fix_db_20171109.sql b/persist/src/main/resources/db/migration/11.0.5/fix_db_20171109.sql similarity index 100% rename from persist/src/db/11.0.5/fix_db_20171109.sql rename to persist/src/main/resources/db/migration/11.0.5/fix_db_20171109.sql diff --git a/persist/src/db/11.0.6/fix_db_20171214.sql b/persist/src/main/resources/db/migration/11.0.6/fix_db_20171214.sql similarity index 100% rename from persist/src/db/11.0.6/fix_db_20171214.sql rename to persist/src/main/resources/db/migration/11.0.6/fix_db_20171214.sql diff --git a/persist/src/db/11.0.7/fix_db_20180118.sql b/persist/src/main/resources/db/migration/11.0.7/fix_db_20180118.sql similarity index 100% rename from persist/src/db/11.0.7/fix_db_20180118.sql rename to persist/src/main/resources/db/migration/11.0.7/fix_db_20180118.sql diff --git a/persist/src/db/11.0.8/fix_db_20180118.sql b/persist/src/main/resources/db/migration/11.0.8/fix_db_20180118.sql similarity index 100% rename from persist/src/db/11.0.8/fix_db_20180118.sql rename to persist/src/main/resources/db/migration/11.0.8/fix_db_20180118.sql diff --git a/persist/src/db/11.0.9/fix_db_20180221.sql b/persist/src/main/resources/db/migration/11.0.9/fix_db_20180221.sql similarity index 100% rename from persist/src/db/11.0.9/fix_db_20180221.sql rename to persist/src/main/resources/db/migration/11.0.9/fix_db_20180221.sql diff --git a/persist/src/db/11.1.0/fix_db_20180509.sql b/persist/src/main/resources/db/migration/11.1.0/fix_db_20180509.sql similarity index 100% rename from persist/src/db/11.1.0/fix_db_20180509.sql rename to persist/src/main/resources/db/migration/11.1.0/fix_db_20180509.sql diff --git a/persist/src/db/11.1.0/fix_db_20180525.sql b/persist/src/main/resources/db/migration/11.1.0/fix_db_20180525.sql similarity index 100% rename from persist/src/db/11.1.0/fix_db_20180525.sql rename to persist/src/main/resources/db/migration/11.1.0/fix_db_20180525.sql diff --git a/persist/src/db/11.1.1/fix_db_20171114.sql b/persist/src/main/resources/db/migration/11.1.1/fix_db_20171114.sql similarity index 100% rename from persist/src/db/11.1.1/fix_db_20171114.sql rename to persist/src/main/resources/db/migration/11.1.1/fix_db_20171114.sql diff --git a/persist/src/db/11.1.1/fix_db_20180626.sql b/persist/src/main/resources/db/migration/11.1.1/fix_db_20180626.sql similarity index 100% rename from persist/src/db/11.1.1/fix_db_20180626.sql rename to persist/src/main/resources/db/migration/11.1.1/fix_db_20180626.sql diff --git a/persist/src/db/11.1.2/fix_db_20180704.sql b/persist/src/main/resources/db/migration/11.1.2/fix_db_20180704.sql similarity index 100% rename from persist/src/db/11.1.2/fix_db_20180704.sql rename to persist/src/main/resources/db/migration/11.1.2/fix_db_20180704.sql diff --git a/persist/src/db/11.1.3/fix_db_20180723.sql b/persist/src/main/resources/db/migration/11.1.3/fix_db_20180723.sql similarity index 100% rename from persist/src/db/11.1.3/fix_db_20180723.sql rename to persist/src/main/resources/db/migration/11.1.3/fix_db_20180723.sql diff --git a/persist/src/db/12.0.0/fix_db_20180716.sql b/persist/src/main/resources/db/migration/12.0.0/fix_db_20180716.sql similarity index 100% rename from persist/src/db/12.0.0/fix_db_20180716.sql rename to persist/src/main/resources/db/migration/12.0.0/fix_db_20180716.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20170713.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170713.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20170713.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170713.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20170720.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170720.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20170720.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170720.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20170808.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170808.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20170808.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170808.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20170809.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170809.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20170809.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170809.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20170814.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170814.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20170814.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170814.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20170822.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170822.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20170822.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170822.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20170829.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170829.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20170829.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20170829.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20171004.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20171004.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20171004.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20171004.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20171115.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20171115.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20171115.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20171115.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20171121.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20171121.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20171121.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20171121.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20180116.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20180116.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20180116.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20180116.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20180117.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20180117.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20180117.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20180117.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20180125.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20180125.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20180125.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20180125.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20180126.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20180126.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20180126.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20180126.sql diff --git a/persist/src/db/12.0.0~alpha.0/fix_db_20180206.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20180206.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.0/fix_db_20180206.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.0/fix_db_20180206.sql diff --git a/persist/src/db/12.0.0~alpha.1/fix_db_20180311.sql b/persist/src/main/resources/db/migration/12.0.0~alpha.1/fix_db_20180311.sql similarity index 100% rename from persist/src/db/12.0.0~alpha.1/fix_db_20180311.sql rename to persist/src/main/resources/db/migration/12.0.0~alpha.1/fix_db_20180311.sql diff --git a/persist/src/db/12.0.0~beta.0/fix_db_20180314.sql b/persist/src/main/resources/db/migration/12.0.0~beta.0/fix_db_20180314.sql similarity index 100% rename from persist/src/db/12.0.0~beta.0/fix_db_20180314.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.0/fix_db_20180314.sql diff --git a/persist/src/db/12.0.0~beta.1/fix_db_20180402.sql b/persist/src/main/resources/db/migration/12.0.0~beta.1/fix_db_20180402.sql similarity index 100% rename from persist/src/db/12.0.0~beta.1/fix_db_20180402.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.1/fix_db_20180402.sql diff --git a/persist/src/db/12.0.0~beta.1/fix_db_20180405.sql b/persist/src/main/resources/db/migration/12.0.0~beta.1/fix_db_20180405.sql similarity index 100% rename from persist/src/db/12.0.0~beta.1/fix_db_20180405.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.1/fix_db_20180405.sql diff --git a/persist/src/db/12.0.0~beta.2/fix_db_20180423.sql b/persist/src/main/resources/db/migration/12.0.0~beta.2/fix_db_20180423.sql similarity index 100% rename from persist/src/db/12.0.0~beta.2/fix_db_20180423.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.2/fix_db_20180423.sql diff --git a/persist/src/db/12.0.0~beta.3/fix_db_20180410.sql b/persist/src/main/resources/db/migration/12.0.0~beta.3/fix_db_20180410.sql similarity index 100% rename from persist/src/db/12.0.0~beta.3/fix_db_20180410.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.3/fix_db_20180410.sql diff --git a/persist/src/db/12.0.0~beta.3/fix_db_20180411.sql b/persist/src/main/resources/db/migration/12.0.0~beta.3/fix_db_20180411.sql similarity index 100% rename from persist/src/db/12.0.0~beta.3/fix_db_20180411.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.3/fix_db_20180411.sql diff --git a/persist/src/db/12.0.0~beta.3/fix_db_20180427.sql b/persist/src/main/resources/db/migration/12.0.0~beta.3/fix_db_20180427.sql similarity index 100% rename from persist/src/db/12.0.0~beta.3/fix_db_20180427.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.3/fix_db_20180427.sql diff --git a/persist/src/db/12.0.0~beta.3/fix_db_20180530.sql b/persist/src/main/resources/db/migration/12.0.0~beta.3/fix_db_20180530.sql similarity index 100% rename from persist/src/db/12.0.0~beta.3/fix_db_20180530.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.3/fix_db_20180530.sql diff --git a/persist/src/db/12.0.0~beta.4/fix_db_20180607.sql b/persist/src/main/resources/db/migration/12.0.0~beta.4/fix_db_20180607.sql similarity index 100% rename from persist/src/db/12.0.0~beta.4/fix_db_20180607.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.4/fix_db_20180607.sql diff --git a/persist/src/db/12.0.0~beta.5/fix_db_20180608.sql b/persist/src/main/resources/db/migration/12.0.0~beta.5/fix_db_20180608.sql similarity index 100% rename from persist/src/db/12.0.0~beta.5/fix_db_20180608.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.5/fix_db_20180608.sql diff --git a/persist/src/db/12.0.0~beta.6/fix_db_20180628.sql b/persist/src/main/resources/db/migration/12.0.0~beta.6/fix_db_20180628.sql similarity index 100% rename from persist/src/db/12.0.0~beta.6/fix_db_20180628.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.6/fix_db_20180628.sql diff --git a/persist/src/db/12.0.0~beta.7/fix_db_20180705.sql b/persist/src/main/resources/db/migration/12.0.0~beta.7/fix_db_20180705.sql similarity index 100% rename from persist/src/db/12.0.0~beta.7/fix_db_20180705.sql rename to persist/src/main/resources/db/migration/12.0.0~beta.7/fix_db_20180705.sql diff --git a/persist/src/db/12.0.1/fix_db_20180723.sql b/persist/src/main/resources/db/migration/12.0.1/fix_db_20180723.sql similarity index 100% rename from persist/src/db/12.0.1/fix_db_20180723.sql rename to persist/src/main/resources/db/migration/12.0.1/fix_db_20180723.sql diff --git a/persist/src/db/12.1.0~alpha.0/fix_db_20180705.sql b/persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180705__coordinates_for_antisense_rna.sql similarity index 100% rename from persist/src/db/12.1.0~alpha.0/fix_db_20180705.sql rename to persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180705__coordinates_for_antisense_rna.sql diff --git a/persist/src/db/12.1.0~alpha.0/fix_db_20180709.sql b/persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180709__coordinates_for_modifications.sql similarity index 100% rename from persist/src/db/12.1.0~alpha.0/fix_db_20180709.sql rename to persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180709__coordinates_for_modifications.sql diff --git a/persist/src/db/12.1.0~alpha.0/fix_db_20180710.sql b/persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180710__modification_residue_state.sql similarity index 100% rename from persist/src/db/12.1.0~alpha.0/fix_db_20180710.sql rename to persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180710__modification_residue_state.sql diff --git a/persist/src/db/12.1.0~alpha.0/fix_db_20180711.sql b/persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180711__modification_residue_width.sql similarity index 90% rename from persist/src/db/12.1.0~alpha.0/fix_db_20180711.sql rename to persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180711__modification_residue_width.sql index f6867729b929fa57ebb957f66fe64bd21f3b7cc7..a2e82f29a9cce8856bdc04637036a853c98aa826 100644 --- a/persist/src/db/12.1.0~alpha.0/fix_db_20180711.sql +++ b/persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180711__modification_residue_width.sql @@ -10,7 +10,7 @@ update modification_residue_table set modification_type='RESIDUE' from element_t -- move antisense rna regions into modification table alter table modification_residue_table add column width numeric(6,2); -insert into modification_residue_table (idmodificationresidue, name, idspeciesdb, position, state, modification_type, width) select idantisensernaregion, name, idspeciesdb, position, null, type, width from antisense_rna_region_table; +insert into modification_residue_table (idmodificationresidue, name, idspeciesdb, position, state, modification_type, width) select idantisensernaregion, name, idspeciesdb, position, null, type, width from antisense_rna_region_table where antisense_rna_region_table is not null; drop table antisense_rna_region_table; -- move rna regions into modification table @@ -19,3 +19,6 @@ update modification_residue_table set modification_type='MODIFICATION_SITE' wher update modification_residue_table set modification_type='PROTEIN_BINDING_DOMAIN' where modification_type='proteinBindingDomain'; update modification_residue_table set modification_type='CODING_REGION' where modification_type='CodingRegion'; drop table rna_region_table; + +-- modification can be active +alter table modification_residue_table add column active boolean; \ No newline at end of file diff --git a/persist/src/db/12.1.0~alpha.0/fix_db_20180712.sql b/persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180712__modification_residue_height_and_direction.sql similarity index 100% rename from persist/src/db/12.1.0~alpha.0/fix_db_20180712.sql rename to persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180712__modification_residue_height_and_direction.sql diff --git a/persist/src/db/12.1.0~alpha.0/fix_db_20180718.sql b/persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180718__user_ldap_connection.sql similarity index 100% rename from persist/src/db/12.1.0~alpha.0/fix_db_20180718.sql rename to persist/src/main/resources/db/migration/12.1.0~alpha.0/V12.1.0_20180718__user_ldap_connection.sql diff --git a/persist/src/db/7/fix_db_20140319.sql b/persist/src/main/resources/db/migration/7/fix_db_20140319.sql similarity index 100% rename from persist/src/db/7/fix_db_20140319.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140319.sql diff --git a/persist/src/db/7/fix_db_20140430.sql b/persist/src/main/resources/db/migration/7/fix_db_20140430.sql similarity index 100% rename from persist/src/db/7/fix_db_20140430.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140430.sql diff --git a/persist/src/db/7/fix_db_20140516.sql b/persist/src/main/resources/db/migration/7/fix_db_20140516.sql similarity index 100% rename from persist/src/db/7/fix_db_20140516.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140516.sql diff --git a/persist/src/db/7/fix_db_20140602.sql b/persist/src/main/resources/db/migration/7/fix_db_20140602.sql similarity index 100% rename from persist/src/db/7/fix_db_20140602.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140602.sql diff --git a/persist/src/db/7/fix_db_20140603.sql b/persist/src/main/resources/db/migration/7/fix_db_20140603.sql similarity index 100% rename from persist/src/db/7/fix_db_20140603.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140603.sql diff --git a/persist/src/db/7/fix_db_20140605.sql b/persist/src/main/resources/db/migration/7/fix_db_20140605.sql similarity index 100% rename from persist/src/db/7/fix_db_20140605.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140605.sql diff --git a/persist/src/db/7/fix_db_20140606.sql b/persist/src/main/resources/db/migration/7/fix_db_20140606.sql similarity index 100% rename from persist/src/db/7/fix_db_20140606.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140606.sql diff --git a/persist/src/db/7/fix_db_20140612.sql b/persist/src/main/resources/db/migration/7/fix_db_20140612.sql similarity index 100% rename from persist/src/db/7/fix_db_20140612.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140612.sql diff --git a/persist/src/db/7/fix_db_20140616.sql b/persist/src/main/resources/db/migration/7/fix_db_20140616.sql similarity index 100% rename from persist/src/db/7/fix_db_20140616.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140616.sql diff --git a/persist/src/db/7/fix_db_20140702.sql b/persist/src/main/resources/db/migration/7/fix_db_20140702.sql similarity index 100% rename from persist/src/db/7/fix_db_20140702.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140702.sql diff --git a/persist/src/db/7/fix_db_20140718.sql b/persist/src/main/resources/db/migration/7/fix_db_20140718.sql similarity index 100% rename from persist/src/db/7/fix_db_20140718.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140718.sql diff --git a/persist/src/db/7/fix_db_20140904.sql b/persist/src/main/resources/db/migration/7/fix_db_20140904.sql similarity index 100% rename from persist/src/db/7/fix_db_20140904.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140904.sql diff --git a/persist/src/db/7/fix_db_20140909.sql b/persist/src/main/resources/db/migration/7/fix_db_20140909.sql similarity index 100% rename from persist/src/db/7/fix_db_20140909.sql rename to persist/src/main/resources/db/migration/7/fix_db_20140909.sql diff --git a/persist/src/db/7/fix_db_20141007.sql b/persist/src/main/resources/db/migration/7/fix_db_20141007.sql similarity index 100% rename from persist/src/db/7/fix_db_20141007.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141007.sql diff --git a/persist/src/db/7/fix_db_20141009.sql b/persist/src/main/resources/db/migration/7/fix_db_20141009.sql similarity index 100% rename from persist/src/db/7/fix_db_20141009.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141009.sql diff --git a/persist/src/db/7/fix_db_20141013.sql b/persist/src/main/resources/db/migration/7/fix_db_20141013.sql similarity index 100% rename from persist/src/db/7/fix_db_20141013.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141013.sql diff --git a/persist/src/db/7/fix_db_20141015.sql b/persist/src/main/resources/db/migration/7/fix_db_20141015.sql similarity index 100% rename from persist/src/db/7/fix_db_20141015.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141015.sql diff --git a/persist/src/db/7/fix_db_20141016.sql b/persist/src/main/resources/db/migration/7/fix_db_20141016.sql similarity index 100% rename from persist/src/db/7/fix_db_20141016.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141016.sql diff --git a/persist/src/db/7/fix_db_20141024.sql b/persist/src/main/resources/db/migration/7/fix_db_20141024.sql similarity index 100% rename from persist/src/db/7/fix_db_20141024.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141024.sql diff --git a/persist/src/db/7/fix_db_20141027.sql b/persist/src/main/resources/db/migration/7/fix_db_20141027.sql similarity index 100% rename from persist/src/db/7/fix_db_20141027.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141027.sql diff --git a/persist/src/db/7/fix_db_20141106.sql b/persist/src/main/resources/db/migration/7/fix_db_20141106.sql similarity index 100% rename from persist/src/db/7/fix_db_20141106.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141106.sql diff --git a/persist/src/db/7/fix_db_20141107.sql b/persist/src/main/resources/db/migration/7/fix_db_20141107.sql similarity index 100% rename from persist/src/db/7/fix_db_20141107.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141107.sql diff --git a/persist/src/db/7/fix_db_20141112.sql b/persist/src/main/resources/db/migration/7/fix_db_20141112.sql similarity index 100% rename from persist/src/db/7/fix_db_20141112.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141112.sql diff --git a/persist/src/db/7/fix_db_20141113.sql b/persist/src/main/resources/db/migration/7/fix_db_20141113.sql similarity index 100% rename from persist/src/db/7/fix_db_20141113.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141113.sql diff --git a/persist/src/db/7/fix_db_20141114.sql b/persist/src/main/resources/db/migration/7/fix_db_20141114.sql similarity index 100% rename from persist/src/db/7/fix_db_20141114.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141114.sql diff --git a/persist/src/db/7/fix_db_20141117.sql b/persist/src/main/resources/db/migration/7/fix_db_20141117.sql similarity index 100% rename from persist/src/db/7/fix_db_20141117.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141117.sql diff --git a/persist/src/db/7/fix_db_20141118.sql b/persist/src/main/resources/db/migration/7/fix_db_20141118.sql similarity index 100% rename from persist/src/db/7/fix_db_20141118.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141118.sql diff --git a/persist/src/db/7/fix_db_20141119.sql b/persist/src/main/resources/db/migration/7/fix_db_20141119.sql similarity index 100% rename from persist/src/db/7/fix_db_20141119.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141119.sql diff --git a/persist/src/db/7/fix_db_20141124.sql b/persist/src/main/resources/db/migration/7/fix_db_20141124.sql similarity index 100% rename from persist/src/db/7/fix_db_20141124.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141124.sql diff --git a/persist/src/db/7/fix_db_20141125.sql b/persist/src/main/resources/db/migration/7/fix_db_20141125.sql similarity index 100% rename from persist/src/db/7/fix_db_20141125.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141125.sql diff --git a/persist/src/db/7/fix_db_20141126.sql b/persist/src/main/resources/db/migration/7/fix_db_20141126.sql similarity index 100% rename from persist/src/db/7/fix_db_20141126.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141126.sql diff --git a/persist/src/db/7/fix_db_20141127.sql b/persist/src/main/resources/db/migration/7/fix_db_20141127.sql similarity index 100% rename from persist/src/db/7/fix_db_20141127.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141127.sql diff --git a/persist/src/db/7/fix_db_20141202.sql b/persist/src/main/resources/db/migration/7/fix_db_20141202.sql similarity index 100% rename from persist/src/db/7/fix_db_20141202.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141202.sql diff --git a/persist/src/db/7/fix_db_20141212.sql b/persist/src/main/resources/db/migration/7/fix_db_20141212.sql similarity index 100% rename from persist/src/db/7/fix_db_20141212.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141212.sql diff --git a/persist/src/db/7/fix_db_20141218.sql b/persist/src/main/resources/db/migration/7/fix_db_20141218.sql similarity index 100% rename from persist/src/db/7/fix_db_20141218.sql rename to persist/src/main/resources/db/migration/7/fix_db_20141218.sql diff --git a/persist/src/db/7/fix_db_20150107.sql b/persist/src/main/resources/db/migration/7/fix_db_20150107.sql similarity index 100% rename from persist/src/db/7/fix_db_20150107.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150107.sql diff --git a/persist/src/db/7/fix_db_20150108.sql b/persist/src/main/resources/db/migration/7/fix_db_20150108.sql similarity index 100% rename from persist/src/db/7/fix_db_20150108.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150108.sql diff --git a/persist/src/db/7/fix_db_20150109.sql b/persist/src/main/resources/db/migration/7/fix_db_20150109.sql similarity index 100% rename from persist/src/db/7/fix_db_20150109.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150109.sql diff --git a/persist/src/db/7/fix_db_20150120.sql b/persist/src/main/resources/db/migration/7/fix_db_20150120.sql similarity index 100% rename from persist/src/db/7/fix_db_20150120.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150120.sql diff --git a/persist/src/db/7/fix_db_20150310.sql b/persist/src/main/resources/db/migration/7/fix_db_20150310.sql similarity index 100% rename from persist/src/db/7/fix_db_20150310.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150310.sql diff --git a/persist/src/db/7/fix_db_20150316.sql b/persist/src/main/resources/db/migration/7/fix_db_20150316.sql similarity index 100% rename from persist/src/db/7/fix_db_20150316.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150316.sql diff --git a/persist/src/db/7/fix_db_20150324.sql b/persist/src/main/resources/db/migration/7/fix_db_20150324.sql similarity index 100% rename from persist/src/db/7/fix_db_20150324.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150324.sql diff --git a/persist/src/db/7/fix_db_20150325.sql b/persist/src/main/resources/db/migration/7/fix_db_20150325.sql similarity index 100% rename from persist/src/db/7/fix_db_20150325.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150325.sql diff --git a/persist/src/db/7/fix_db_20150331.sql b/persist/src/main/resources/db/migration/7/fix_db_20150331.sql similarity index 100% rename from persist/src/db/7/fix_db_20150331.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150331.sql diff --git a/persist/src/db/7/fix_db_20150408.sql b/persist/src/main/resources/db/migration/7/fix_db_20150408.sql similarity index 100% rename from persist/src/db/7/fix_db_20150408.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150408.sql diff --git a/persist/src/db/7/fix_db_20150409.sql b/persist/src/main/resources/db/migration/7/fix_db_20150409.sql similarity index 100% rename from persist/src/db/7/fix_db_20150409.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150409.sql diff --git a/persist/src/db/7/fix_db_20150413.sql b/persist/src/main/resources/db/migration/7/fix_db_20150413.sql similarity index 100% rename from persist/src/db/7/fix_db_20150413.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150413.sql diff --git a/persist/src/db/7/fix_db_20150416.sql b/persist/src/main/resources/db/migration/7/fix_db_20150416.sql similarity index 100% rename from persist/src/db/7/fix_db_20150416.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150416.sql diff --git a/persist/src/db/7/fix_db_20150420.sql b/persist/src/main/resources/db/migration/7/fix_db_20150420.sql similarity index 100% rename from persist/src/db/7/fix_db_20150420.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150420.sql diff --git a/persist/src/db/7/fix_db_20150423.sql b/persist/src/main/resources/db/migration/7/fix_db_20150423.sql similarity index 100% rename from persist/src/db/7/fix_db_20150423.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150423.sql diff --git a/persist/src/db/7/fix_db_20150424.sql b/persist/src/main/resources/db/migration/7/fix_db_20150424.sql similarity index 100% rename from persist/src/db/7/fix_db_20150424.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150424.sql diff --git a/persist/src/db/7/fix_db_20150522.sql b/persist/src/main/resources/db/migration/7/fix_db_20150522.sql similarity index 100% rename from persist/src/db/7/fix_db_20150522.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150522.sql diff --git a/persist/src/db/7/fix_db_20150528.sql b/persist/src/main/resources/db/migration/7/fix_db_20150528.sql similarity index 100% rename from persist/src/db/7/fix_db_20150528.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150528.sql diff --git a/persist/src/db/7/fix_db_20150609.sql b/persist/src/main/resources/db/migration/7/fix_db_20150609.sql similarity index 100% rename from persist/src/db/7/fix_db_20150609.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150609.sql diff --git a/persist/src/db/7/fix_db_20150629.sql b/persist/src/main/resources/db/migration/7/fix_db_20150629.sql similarity index 100% rename from persist/src/db/7/fix_db_20150629.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150629.sql diff --git a/persist/src/db/7/fix_db_20150707.sql b/persist/src/main/resources/db/migration/7/fix_db_20150707.sql similarity index 100% rename from persist/src/db/7/fix_db_20150707.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150707.sql diff --git a/persist/src/db/7/fix_db_20150708.sql b/persist/src/main/resources/db/migration/7/fix_db_20150708.sql similarity index 100% rename from persist/src/db/7/fix_db_20150708.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150708.sql diff --git a/persist/src/db/7/fix_db_20150717.sql b/persist/src/main/resources/db/migration/7/fix_db_20150717.sql similarity index 100% rename from persist/src/db/7/fix_db_20150717.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150717.sql diff --git a/persist/src/db/7/fix_db_20150720.sql b/persist/src/main/resources/db/migration/7/fix_db_20150720.sql similarity index 100% rename from persist/src/db/7/fix_db_20150720.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150720.sql diff --git a/persist/src/db/7/fix_db_20150721.sql b/persist/src/main/resources/db/migration/7/fix_db_20150721.sql similarity index 100% rename from persist/src/db/7/fix_db_20150721.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150721.sql diff --git a/persist/src/db/7/fix_db_20150722.sql b/persist/src/main/resources/db/migration/7/fix_db_20150722.sql similarity index 100% rename from persist/src/db/7/fix_db_20150722.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150722.sql diff --git a/persist/src/db/7/fix_db_20150818.sql b/persist/src/main/resources/db/migration/7/fix_db_20150818.sql similarity index 100% rename from persist/src/db/7/fix_db_20150818.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150818.sql diff --git a/persist/src/db/7/fix_db_20150820.sql b/persist/src/main/resources/db/migration/7/fix_db_20150820.sql similarity index 100% rename from persist/src/db/7/fix_db_20150820.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150820.sql diff --git a/persist/src/db/7/fix_db_20150821.sql b/persist/src/main/resources/db/migration/7/fix_db_20150821.sql similarity index 100% rename from persist/src/db/7/fix_db_20150821.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150821.sql diff --git a/persist/src/db/7/fix_db_20150824.sql b/persist/src/main/resources/db/migration/7/fix_db_20150824.sql similarity index 100% rename from persist/src/db/7/fix_db_20150824.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150824.sql diff --git a/persist/src/db/7/fix_db_20150826.sql b/persist/src/main/resources/db/migration/7/fix_db_20150826.sql similarity index 100% rename from persist/src/db/7/fix_db_20150826.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150826.sql diff --git a/persist/src/db/7/fix_db_20150828.sql b/persist/src/main/resources/db/migration/7/fix_db_20150828.sql similarity index 100% rename from persist/src/db/7/fix_db_20150828.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150828.sql diff --git a/persist/src/db/7/fix_db_20150910.sql b/persist/src/main/resources/db/migration/7/fix_db_20150910.sql similarity index 100% rename from persist/src/db/7/fix_db_20150910.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150910.sql diff --git a/persist/src/db/7/fix_db_20150915.sql b/persist/src/main/resources/db/migration/7/fix_db_20150915.sql similarity index 100% rename from persist/src/db/7/fix_db_20150915.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150915.sql diff --git a/persist/src/db/7/fix_db_20150917.sql b/persist/src/main/resources/db/migration/7/fix_db_20150917.sql similarity index 100% rename from persist/src/db/7/fix_db_20150917.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150917.sql diff --git a/persist/src/db/7/fix_db_20150918.sql b/persist/src/main/resources/db/migration/7/fix_db_20150918.sql similarity index 100% rename from persist/src/db/7/fix_db_20150918.sql rename to persist/src/main/resources/db/migration/7/fix_db_20150918.sql diff --git a/persist/src/db/7/fix_db_20151001.sql b/persist/src/main/resources/db/migration/7/fix_db_20151001.sql similarity index 100% rename from persist/src/db/7/fix_db_20151001.sql rename to persist/src/main/resources/db/migration/7/fix_db_20151001.sql diff --git a/persist/src/db/7/fix_db_20151027.sql b/persist/src/main/resources/db/migration/7/fix_db_20151027.sql similarity index 100% rename from persist/src/db/7/fix_db_20151027.sql rename to persist/src/main/resources/db/migration/7/fix_db_20151027.sql diff --git a/persist/src/db/7/fix_db_20151120.sql b/persist/src/main/resources/db/migration/7/fix_db_20151120.sql similarity index 100% rename from persist/src/db/7/fix_db_20151120.sql rename to persist/src/main/resources/db/migration/7/fix_db_20151120.sql diff --git a/persist/src/db/7/fix_db_20151203.sql b/persist/src/main/resources/db/migration/7/fix_db_20151203.sql similarity index 100% rename from persist/src/db/7/fix_db_20151203.sql rename to persist/src/main/resources/db/migration/7/fix_db_20151203.sql diff --git a/persist/src/db/8/fix_db_20151214.sql b/persist/src/main/resources/db/migration/8/fix_db_20151214.sql similarity index 100% rename from persist/src/db/8/fix_db_20151214.sql rename to persist/src/main/resources/db/migration/8/fix_db_20151214.sql diff --git a/persist/src/db/8/fix_db_20160128.sql b/persist/src/main/resources/db/migration/8/fix_db_20160128.sql similarity index 100% rename from persist/src/db/8/fix_db_20160128.sql rename to persist/src/main/resources/db/migration/8/fix_db_20160128.sql diff --git a/persist/src/db/8/fix_db_20160311.sql b/persist/src/main/resources/db/migration/8/fix_db_20160311.sql similarity index 100% rename from persist/src/db/8/fix_db_20160311.sql rename to persist/src/main/resources/db/migration/8/fix_db_20160311.sql diff --git a/persist/src/db/8/fix_db_20160324.sql b/persist/src/main/resources/db/migration/8/fix_db_20160324.sql similarity index 100% rename from persist/src/db/8/fix_db_20160324.sql rename to persist/src/main/resources/db/migration/8/fix_db_20160324.sql diff --git a/persist/src/db/8/fix_db_20160428.sql b/persist/src/main/resources/db/migration/8/fix_db_20160428.sql similarity index 100% rename from persist/src/db/8/fix_db_20160428.sql rename to persist/src/main/resources/db/migration/8/fix_db_20160428.sql diff --git a/persist/src/db/8/fix_db_20160517.sql b/persist/src/main/resources/db/migration/8/fix_db_20160517.sql similarity index 100% rename from persist/src/db/8/fix_db_20160517.sql rename to persist/src/main/resources/db/migration/8/fix_db_20160517.sql diff --git a/persist/src/db/9/fix_db_20160629.sql b/persist/src/main/resources/db/migration/9/fix_db_20160629.sql similarity index 100% rename from persist/src/db/9/fix_db_20160629.sql rename to persist/src/main/resources/db/migration/9/fix_db_20160629.sql diff --git a/persist/src/db/base.sql b/persist/src/main/resources/db/migration/base.sql similarity index 100% rename from persist/src/db/base.sql rename to persist/src/main/resources/db/migration/base.sql diff --git a/persist/src/test/java/lcsb/mapviewer/persist/DbUtilsTest.java b/persist/src/test/java/lcsb/mapviewer/persist/DbUtilsTest.java index 112faffdeba5596c3a77164b6963fb9d74cf7acf..3cdd131d74a355c9837e11a634849b0a1b653e01 100644 --- a/persist/src/test/java/lcsb/mapviewer/persist/DbUtilsTest.java +++ b/persist/src/test/java/lcsb/mapviewer/persist/DbUtilsTest.java @@ -5,63 +5,65 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import org.apache.log4j.Logger; import org.junit.Test; import lcsb.mapviewer.common.exception.InvalidStateException; public class DbUtilsTest extends PersistTestFunctions { + Logger logger = Logger.getLogger(DbUtilsTest.class); - @Test - public void testSchema() throws Exception { - try { - dbUtils.executeSqlQuery("update user_table set idDb = 1 where idDb =1"); - } catch (Exception e) { - e.printStackTrace(); - throw e; - } - } - - @Test - public void testCreateSession() throws Exception { - try { - assertFalse(dbUtils.isCustomSessionForCurrentThread()); - dbUtils.createSessionForCurrentThread(); - assertTrue(dbUtils.isCustomSessionForCurrentThread()); - assertEquals(1, dbUtils.getSessionCounter()); - dbUtils.closeSessionForCurrentThread(); - assertFalse(dbUtils.isCustomSessionForCurrentThread()); - assertEquals(0, dbUtils.getSessionCounter()); - } catch (Exception e) { - e.printStackTrace(); - throw e; - } - } - @Test - public void testCreateInvalidSession() throws Exception { - try { - dbUtils.createSessionForCurrentThread(); - dbUtils.createSessionForCurrentThread(); - fail("Exception expected"); - } catch (InvalidStateException e) { - dbUtils.closeSessionForCurrentThread(); - } catch (Exception e) { - e.printStackTrace(); - throw e; - } - } - - @Test - public void testAutoFlush() { - try { - boolean autoflush = dbUtils.isAutoFlush(); - dbUtils.setAutoFlush(false); - assertFalse(dbUtils.isAutoFlush()); - dbUtils.setAutoFlush(autoflush); - } catch (Exception e) { - e.printStackTrace(); - throw e; - } - } + @Test + public void testSchema() throws Exception { + try { + dbUtils.executeSqlQuery("update user_table set idDb = 1 where idDb =1"); + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } + + @Test + public void testCreateSession() throws Exception { + try { + assertFalse(dbUtils.isCustomSessionForCurrentThread()); + dbUtils.createSessionForCurrentThread(); + assertTrue(dbUtils.isCustomSessionForCurrentThread()); + assertEquals(1, dbUtils.getSessionCounter()); + dbUtils.closeSessionForCurrentThread(); + assertFalse(dbUtils.isCustomSessionForCurrentThread()); + assertEquals(0, dbUtils.getSessionCounter()); + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } + + @Test + public void testCreateInvalidSession() throws Exception { + try { + dbUtils.createSessionForCurrentThread(); + dbUtils.createSessionForCurrentThread(); + fail("Exception expected"); + } catch (InvalidStateException e) { + dbUtils.closeSessionForCurrentThread(); + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } + + @Test + public void testAutoFlush() { + try { + boolean autoflush = dbUtils.isAutoFlush(); + dbUtils.setAutoFlush(false); + assertFalse(dbUtils.isAutoFlush()); + dbUtils.setAutoFlush(autoflush); + } catch (Exception e) { + e.printStackTrace(); + throw e; + } + } - } diff --git a/pom.xml b/pom.xml index d5d32a9cadb483204b206b47cce6112ac4f49447..5701dfb1f80e96c7f95be22c8e593d6269c70dbc 100644 --- a/pom.xml +++ b/pom.xml @@ -81,6 +81,7 @@ <osgi.version>1.0.0</osgi.version> <cglib.version>2.2.2</cglib.version> + <flyway.version>5.1.4</flyway.version> <unboundid-ldapsdk.version>4.0.6</unboundid-ldapsdk.version> diff --git a/web/src/main/java/lcsb/mapviewer/bean/utils/StartupBean.java b/web/src/main/java/lcsb/mapviewer/bean/utils/StartupBean.java index 9fafff8679eaa72c8d1cfa255e4f5d1230ccf37e..a2502c47c5397055bb602dfd502367d91ba42131 100644 --- a/web/src/main/java/lcsb/mapviewer/bean/utils/StartupBean.java +++ b/web/src/main/java/lcsb/mapviewer/bean/utils/StartupBean.java @@ -17,6 +17,7 @@ import lcsb.mapviewer.model.Project; import lcsb.mapviewer.model.ProjectStatus; import lcsb.mapviewer.model.map.layout.ReferenceGenome; import lcsb.mapviewer.model.user.ConfigurationElementType; +import lcsb.mapviewer.persist.DbUtils; import lcsb.mapviewer.services.interfaces.IConfigurationService; import lcsb.mapviewer.services.interfaces.IProjectService; import lcsb.mapviewer.services.interfaces.IReferenceGenomeService; @@ -60,6 +61,9 @@ public class StartupBean { @ManagedProperty(value = "#{ReferenceGenomeService}") private transient IReferenceGenomeService referenceGenomeService; + @ManagedProperty(value = "#{DbUtils}") + private transient DbUtils dbUtils; + /** * Method that process initial script of application. */ @@ -178,4 +182,11 @@ public class StartupBean { this.projectService = projectService; } + public DbUtils getDbUtils() { + return dbUtils; + } + + public void setDbUtils(DbUtils dbUtils) { + this.dbUtils = dbUtils; + } } diff --git a/web/src/main/java/lcsb/mapviewer/validator/LoginValidator.java b/web/src/main/java/lcsb/mapviewer/validator/LoginValidator.java deleted file mode 100644 index a082908bf44b281d10c26696b4dd32f8613a1016..0000000000000000000000000000000000000000 --- a/web/src/main/java/lcsb/mapviewer/validator/LoginValidator.java +++ /dev/null @@ -1,38 +0,0 @@ -package lcsb.mapviewer.validator; - -import java.util.regex.Pattern; - -import javax.faces.application.FacesMessage; -import javax.faces.component.UIComponent; -import javax.faces.context.FacesContext; -import javax.faces.validator.FacesValidator; -import javax.faces.validator.Validator; -import javax.faces.validator.ValidatorException; - -/** - * Validator of login field. - * - * @author Piotr Gawron - * - */ -@FacesValidator("loginValidator") -public class LoginValidator implements Validator { - - /** - * Regex pattern used for login validation. - */ - private static final Pattern LOGIN_PATTERN = Pattern.compile("[a-zA-Z0-9_\\.\\-]+"); - - @Override - public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { - if (value == null) { - return; // Let required="true" handle. - } - if (!LOGIN_PATTERN.matcher((String) value).matches()) { - String summary = "Incorrect login."; - String detail = "Only alphanumeric characters and \"-\", \"_\", \".\" special characters are allowed"; - throw new ValidatorException(new FacesMessage(FacesMessage.SEVERITY_ERROR, summary, detail)); - } - } - -} \ No newline at end of file diff --git a/web/src/main/java/lcsb/mapviewer/validator/package-info.java b/web/src/main/java/lcsb/mapviewer/validator/package-info.java deleted file mode 100644 index 9a25482ee1e1e843c2966da8084edf5c68e0d7e2..0000000000000000000000000000000000000000 --- a/web/src/main/java/lcsb/mapviewer/validator/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * Provides validator for JSF forms. - */ -package lcsb.mapviewer.validator; diff --git a/web/src/test/java/lcsb/mapviewer/AllWebTests.java b/web/src/test/java/lcsb/mapviewer/AllWebTests.java deleted file mode 100644 index 22334086463ca6538d7fb73e60a5d2f26b868e5b..0000000000000000000000000000000000000000 --- a/web/src/test/java/lcsb/mapviewer/AllWebTests.java +++ /dev/null @@ -1,14 +0,0 @@ -package lcsb.mapviewer; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - -import lcsb.mapviewer.validator.AllValidatorTests; - -@RunWith(Suite.class) -@SuiteClasses({ AllValidatorTests.class,// -}) -public class AllWebTests { - -} diff --git a/web/src/test/java/lcsb/mapviewer/validator/AllValidatorTests.java b/web/src/test/java/lcsb/mapviewer/validator/AllValidatorTests.java deleted file mode 100644 index dd6e48a1eb63b7d82bfea487a32eea40b9d6162f..0000000000000000000000000000000000000000 --- a/web/src/test/java/lcsb/mapviewer/validator/AllValidatorTests.java +++ /dev/null @@ -1,11 +0,0 @@ -package lcsb.mapviewer.validator; - -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - -@RunWith(Suite.class) -@SuiteClasses({ LoginValidatorTest.class }) -public class AllValidatorTests { - -} diff --git a/web/src/test/java/lcsb/mapviewer/validator/LoginValidatorTest.java b/web/src/test/java/lcsb/mapviewer/validator/LoginValidatorTest.java deleted file mode 100644 index a216753326f54d1d72112c0d1691ca7cedcc03ca..0000000000000000000000000000000000000000 --- a/web/src/test/java/lcsb/mapviewer/validator/LoginValidatorTest.java +++ /dev/null @@ -1,42 +0,0 @@ -package lcsb.mapviewer.validator; - -import static org.junit.Assert.fail; - -import javax.faces.validator.ValidatorException; - -import org.junit.After; -import org.junit.AfterClass; -import org.junit.Before; -import org.junit.Test; - -public class LoginValidatorTest { - LoginValidator validator = new LoginValidator(); - - @AfterClass - public static void tearDownAfterClass() throws Exception { - } - - @Before - public void setUp() throws Exception { - } - - @After - public void tearDown() throws Exception { - } - - @Test - public void testCorrect() { - validator.validate(null, null, "piotr.gawron"); - } - - @Test - public void testIncorrect() { - try { - validator.validate(null, null, "piotr gawron"); - fail("Exception expected"); - } catch (ValidatorException e) { - - } - } - -} diff --git a/web/src/test/resources/log4j.properties b/web/src/test/resources/log4j.properties index 5594c7999fbec1b09075e997f3710d6f0fdf888a..c36f0e8f0f2d1bc6becf9ac41a23e8ecd76ef358 100644 --- a/web/src/test/resources/log4j.properties +++ b/web/src/test/resources/log4j.properties @@ -1,5 +1,5 @@ #Set root logger 's level and its appender to an appender called CONSOLE which is defined below. -log4j.rootLogger=info, CONSOLE, R +log4j.rootLogger=info, CONSOLE #Set the behavior of the CONSOLE appender log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender