diff --git a/.env b/.env new file mode 100644 index 0000000..6823333 --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +CHEMAXON_USERNAME= +CHEMAXON_PASSWORD= \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 5d9a3f9..26339f9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,18 @@ FROM mcneilco/tomcat-maven:openjdk8 +ARG CHEMAXON_USERNAME +ARG CHEMAXON_PASSWORD +ENV CHEMAXON_USERNAME ${CHEMAXON_USERNAME} +ENV CHEMAXON_PASSWORD ${CHEMAXON_PASSWORD} WORKDIR /src ENV CATALINA_HOME /usr/local/tomcat ENV PATH $CATALINA_HOME/bin:$PATH +ADD settings.xml /src/settings.xml +#ADD lib/jchem-16.4.25.0.jar /lib/jchem-16.4.25.0.jar +#RUN ["mvn", "install:install-file","-Dfile=/lib/jchem-16.4.25.0.jar","-DartifactId=jchem","-DgroupId=com.chemaxon","-Dversion=16.4.25.0","-Dpackaging=jar","-DgeneratePom=true","-DcreateChecksum=true"] +#RUN ["mvn", "dependency:get","-s","./settings.xml","-DrepoUrl=https://hub.chemaxon.com/artifactory/libs-release","-Dartifact=com.chemaxon:jchem-main:17.24.1","-Dtransitive=true"] +#RUN ["mvn", "dependency:get","-s","./settings.xml","-DrepoUrl=https://hub.chemaxon.com/artifactory/libs-release","-DartifactId=jchem-main","-DgroupId=com.chemaxon","-Dversion=17.24.1","-Dpackaging=jar","-DgeneratePom=true","-DcreateChecksum=true","-Dtransitive=true"] +RUN mvn dependency:get -s ./settings.xml -DrepoUrl=https://hub.chemaxon.com/artifactory/libs-release -Dartifact=com.chemaxon:jchem-main:17.24.1 -Dtransitive=true ADD pom.xml /src/pom.xml -ADD lib/jchem-16.4.25.0.jar /lib/jchem-16.4.25.0.jar -RUN ["mvn", "install:install-file","-Dfile=/lib/jchem-16.4.25.0.jar","-DartifactId=jchem","-DgroupId=com.chemaxon","-Dversion=16.4.25.0","-Dpackaging=jar","-DgeneratePom=true","-DcreateChecksum=true"] RUN ["mvn", "dependency:resolve", "-P default"] RUN ["mvn", "clean"] ADD . /src diff --git a/pom.xml b/pom.xml index 9ba2351..1d5e993 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,7 @@ along with this program. If not, see .]]> 1.4.1.RELEASE 3.4.3 3.1.0.RELEASE - 16.4.25.0 + 17.24.1 1.2.3.r0 ${buildNumber} ${scmBranch} @@ -118,7 +118,7 @@ along with this program. If not, see .]]> com.chemaxon - jchem + jchem-main ${jchem.version} diff --git a/settings.xml b/settings.xml new file mode 100644 index 0000000..1da9111 --- /dev/null +++ b/settings.xml @@ -0,0 +1,64 @@ + + + + + ${CHEMAXON_USERNAME} + ${CHEMAXON_PASSWORD} + central + + + ${CHEMAXON_USERNAME} + ${CHEMAXON_PASSWORD} + snapshots + + + + + + + + false + + central + libs-release + https://hub.chemaxon.com/artifactory/libs-release + + + + snapshots + libs-snapshot + https://hub.chemaxon.com/artifactory/libs-snapshot + + + + + + false + + apache + repo.maven.apache.org + https://repo.maven.apache.org/maven2 + + + + false + + central + plugins-release + https://hub.chemaxon.com/artifactory/plugins-release + + + + snapshots + plugins-release + https://hub.chemaxon.com/artifactory/plugins-release + + + artifactory + + + + artifactory + + diff --git a/src/main/java/com/labsynch/cmpdreg/db/migration/postgres/jchem/V1_2_2_2__Upgrade_Jchem_Tables.java b/src/main/java/com/labsynch/cmpdreg/db/migration/postgres/jchem/V1_2_2_2__Upgrade_Jchem_Tables.java new file mode 100644 index 0000000..4fb97e3 --- /dev/null +++ b/src/main/java/com/labsynch/cmpdreg/db/migration/postgres/jchem/V1_2_2_2__Upgrade_Jchem_Tables.java @@ -0,0 +1,55 @@ +package com.labsynch.cmpdreg.db.migration.postgres.jchem; + +import java.sql.Connection; +import java.sql.SQLException; + +import org.flywaydb.core.api.migration.jdbc.JdbcMigration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import chemaxon.jchem.db.UpdateHandlerException; +import chemaxon.jchem.db.Updater; +import chemaxon.util.ConnectionHandler; + +public class V1_2_2_2__Upgrade_Jchem_Tables implements JdbcMigration { + + Logger logger = LoggerFactory.getLogger(V1_2_2_2__Upgrade_Jchem_Tables.class); + + + public void migrate(Connection conn) throws Exception { + logger.info("ATTEMPTING TO UPGRADE JCHEM TABLES"); + conn.setAutoCommit(true); + logger.info("connection autocommit mode: " + conn.getAutoCommit()); + logger.info("getTransactionIsolation " + conn.getTransactionIsolation()); + + recalculateJChemTable(conn); + + conn.setAutoCommit(false); + logger.info("connection autocommit mode: " + conn.getAutoCommit()); + + } + + private boolean recalculateJChemTable(Connection conn) throws UpdateHandlerException, SQLException { + ConnectionHandler ch = new ConnectionHandler(); + ch.setConnection(conn); + + String message = ""; + Updater ud = new Updater(ch); + Updater.UpdateInfo ui = null; + while ((ui = ud.getNextUpdateInfo()) != null) { + logger.info("\n" + ui.processingMessage + "\n"); + logger.info("Is structure change required: " + ui.isStructuralChange); + message = ud.performCurrentUpdate(); + logger.info(message); + } + + logger.info("updated the Jchem structure tables " ); + + return false; + } + + + + +} + diff --git a/src/main/java/com/labsynch/cmpdreg/db/migration/sqlserver/jchem/V1_0_4_4__Upgrade_Jchem_Tables.java b/src/main/java/com/labsynch/cmpdreg/db/migration/sqlserver/jchem/V1_0_4_4__Upgrade_Jchem_Tables.java new file mode 100644 index 0000000..df3a179 --- /dev/null +++ b/src/main/java/com/labsynch/cmpdreg/db/migration/sqlserver/jchem/V1_0_4_4__Upgrade_Jchem_Tables.java @@ -0,0 +1,55 @@ +package com.labsynch.cmpdreg.db.migration.sqlserver.jchem; + +import java.sql.Connection; +import java.sql.SQLException; + +import org.flywaydb.core.api.migration.jdbc.JdbcMigration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import chemaxon.jchem.db.UpdateHandlerException; +import chemaxon.jchem.db.Updater; +import chemaxon.util.ConnectionHandler; + +public class V1_0_4_4__Upgrade_Jchem_Tables implements JdbcMigration { + + Logger logger = LoggerFactory.getLogger(V1_0_4_4__Upgrade_Jchem_Tables.class); + + + public void migrate(Connection conn) throws Exception { + logger.info("ATTEMPTING TO UPGRADE JCHEM TABLES"); + conn.setAutoCommit(true); + logger.info("connection autocommit mode: " + conn.getAutoCommit()); + logger.info("getTransactionIsolation " + conn.getTransactionIsolation()); + + recalculateJChemTable(conn); + + conn.setAutoCommit(false); + logger.info("connection autocommit mode: " + conn.getAutoCommit()); + + } + + private boolean recalculateJChemTable(Connection conn) throws UpdateHandlerException, SQLException { + ConnectionHandler ch = new ConnectionHandler(); + ch.setConnection(conn); + + String message = ""; + Updater ud = new Updater(ch); + Updater.UpdateInfo ui = null; + while ((ui = ud.getNextUpdateInfo()) != null) { + logger.info("\n" + ui.processingMessage + "\n"); + logger.info("Is structure change required: " + ui.isStructuralChange); + message = ud.performCurrentUpdate(); + logger.info(message); + } + + logger.info("updated the Jchem structure tables " ); + + return false; + } + + + + +} +