From 19630712097a946e529411bdc065051436d44284 Mon Sep 17 00:00:00 2001 From: "Attila L. Egyedi" Date: Thu, 7 Jan 2021 00:52:25 -0800 Subject: [PATCH 01/36] [ci skip] prepare for next development iteration --- cedar-impex-server-application/pom.xml | 2 +- cedar-impex-server-core/pom.xml | 2 +- pom.xml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cedar-impex-server-application/pom.xml b/cedar-impex-server-application/pom.xml index bebf8e6..7545902 100644 --- a/cedar-impex-server-application/pom.xml +++ b/cedar-impex-server-application/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.40 + 2.5.41-SNAPSHOT org.metadatacenter diff --git a/cedar-impex-server-core/pom.xml b/cedar-impex-server-core/pom.xml index 47a13ea..dc68c01 100644 --- a/cedar-impex-server-core/pom.xml +++ b/cedar-impex-server-core/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.40 + 2.5.41-SNAPSHOT org.metadatacenter diff --git a/pom.xml b/pom.xml index d323732..fa0fcb3 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.metadatacenter cedar-impex-server - 2.5.40 + 2.5.41-SNAPSHOT pom CEDAR ImpEx Server @@ -19,7 +19,7 @@ scm:git:https://github.com/metadatacenter/cedar-impex-server.git scm:git:https://github.com/metadatacenter/cedar-impex-server.git https://github.com/metadatacenter/cedar-impex-server - release-2.5.40 + HEAD From cd0c079c72bb61dd8808b64b95d291a3ecbf4bc9 Mon Sep 17 00:00:00 2001 From: "Attila L. Egyedi" Date: Thu, 7 Jan 2021 00:55:19 -0800 Subject: [PATCH 02/36] Updated CEDAR component dependencies to point to current development snapshots --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index fa0fcb3..0cd6b7e 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-parent - 2.5.40 + 2.5.41-SNAPSHOT org.metadatacenter From a3477d3d5b65a872bd0a7c744feaeaa1df3e4a55 Mon Sep 17 00:00:00 2001 From: "Attila L. Egyedi" Date: Thu, 7 Jan 2021 17:35:10 -0800 Subject: [PATCH 03/36] Updated parent POM and dependency versions to release version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0cd6b7e..9a678a0 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-parent - 2.5.41-SNAPSHOT + 2.5.41 org.metadatacenter From f25ab5646ad715d03a11c551cd2a9dbde3f5739c Mon Sep 17 00:00:00 2001 From: "Attila L. Egyedi" Date: Thu, 7 Jan 2021 17:35:30 -0800 Subject: [PATCH 04/36] Updated CEDAR component dependencies to point to current development snapshots --- cedar-impex-server-application/pom.xml | 2 +- cedar-impex-server-core/pom.xml | 2 +- pom.xml | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cedar-impex-server-application/pom.xml b/cedar-impex-server-application/pom.xml index 7545902..8382de7 100644 --- a/cedar-impex-server-application/pom.xml +++ b/cedar-impex-server-application/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.41-SNAPSHOT + 2.5.41 org.metadatacenter diff --git a/cedar-impex-server-core/pom.xml b/cedar-impex-server-core/pom.xml index dc68c01..0c8a9a0 100644 --- a/cedar-impex-server-core/pom.xml +++ b/cedar-impex-server-core/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.41-SNAPSHOT + 2.5.41 org.metadatacenter diff --git a/pom.xml b/pom.xml index 9a678a0..fabe797 100644 --- a/pom.xml +++ b/pom.xml @@ -5,12 +5,12 @@ org.metadatacenter cedar-parent - 2.5.41 + 2.5.42-SNAPSHOT org.metadatacenter cedar-impex-server - 2.5.41-SNAPSHOT + 2.5.41 pom CEDAR ImpEx Server @@ -19,7 +19,7 @@ scm:git:https://github.com/metadatacenter/cedar-impex-server.git scm:git:https://github.com/metadatacenter/cedar-impex-server.git https://github.com/metadatacenter/cedar-impex-server - HEAD + release-2.5.41 From d258eda9f6a9ad4a4e61ce3001ed769696b47b1c Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 8 Jan 2021 11:58:07 -0800 Subject: [PATCH 05/36] Fix parameter --- .../metadatacenter/impex/resources/ImpexServerResource.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index 37623f7..f9b2303 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -7,6 +7,7 @@ import org.hibernate.validator.constraints.NotEmpty; import org.metadatacenter.cadsr.form.schema.Form; import org.metadatacenter.cadsr.ingestor.form.FormUtil; +import org.metadatacenter.cadsr.ingestor.util.CedarServerUtil; import org.metadatacenter.cadsr.ingestor.util.CedarServices; import org.metadatacenter.cadsr.ingestor.util.Constants; import org.metadatacenter.cadsr.ingestor.util.GeneralUtil; @@ -95,9 +96,9 @@ public Response importCadsrForm() throws CedarException { // TODO: cedarConfig.getHost instead of using CedarEnvironment - + Constants.CedarServer cedarServer = CedarServerUtil.toCedarServerFromHostName(cedarConfig.getHost()); String apiKey = c.getCedarUser().getFirstActiveApiKey(); - CedarServices.createTemplate(templateMap, cedarFolderId, Constants.CedarEnvironment.LOCAL, apiKey); + CedarServices.createTemplate(templateMap, cedarFolderId, cedarServer, apiKey); System.out.println(GeneralUtil.convertMapToJson(templateMap)); } From 482a5616eb09b98fdd881543da1c95256683925a Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 8 Jan 2021 14:31:14 -0800 Subject: [PATCH 06/36] Fix version number and constant name --- cedar-impex-server-application/pom.xml | 2 +- .../metadatacenter/impex/resources/ImpexServerResource.java | 4 ++-- cedar-impex-server-core/pom.xml | 2 +- pom.xml | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cedar-impex-server-application/pom.xml b/cedar-impex-server-application/pom.xml index 8382de7..de19a46 100644 --- a/cedar-impex-server-application/pom.xml +++ b/cedar-impex-server-application/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.41 + 2.5.42-SNAPSHOT org.metadatacenter diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index f9b2303..c8a434e 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -96,9 +96,9 @@ public Response importCadsrForm() throws CedarException { // TODO: cedarConfig.getHost instead of using CedarEnvironment - Constants.CedarServer cedarServer = CedarServerUtil.toCedarServerFromHostName(cedarConfig.getHost()); + Constants.CedarEnvironment cedarEnvironment = CedarServerUtil.toCedarEnvironment(cedarConfig.getHost()); String apiKey = c.getCedarUser().getFirstActiveApiKey(); - CedarServices.createTemplate(templateMap, cedarFolderId, cedarServer, apiKey); + CedarServices.createTemplate(templateMap, cedarFolderId, cedarEnvironment, apiKey); System.out.println(GeneralUtil.convertMapToJson(templateMap)); } diff --git a/cedar-impex-server-core/pom.xml b/cedar-impex-server-core/pom.xml index 0c8a9a0..83bdc54 100644 --- a/cedar-impex-server-core/pom.xml +++ b/cedar-impex-server-core/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.41 + 2.5.42-SNAPSHOT org.metadatacenter diff --git a/pom.xml b/pom.xml index fabe797..8bf744f 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.metadatacenter cedar-impex-server - 2.5.41 + 2.5.42-SNAPSHOT pom CEDAR ImpEx Server @@ -19,7 +19,7 @@ scm:git:https://github.com/metadatacenter/cedar-impex-server.git scm:git:https://github.com/metadatacenter/cedar-impex-server.git https://github.com/metadatacenter/cedar-impex-server - release-2.5.41 + HEAD From fd675ccd523be12ba2feb17c0d0aaca1e6ccde09 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 8 Jan 2021 15:03:03 -0800 Subject: [PATCH 07/36] Update travis config --- .travis.yml | 31 ++++++------------------------- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/.travis.yml b/.travis.yml index ee0cd75..c289597 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,31 +12,12 @@ notifications: on_success: change on_failure: always secure: xSIYhhwtzd+DV5oHEiT3ZVVCKsVlabQ7DMjx6xrq5XZtNBlsLSq6FhHJY37rbfI//6jv2PPZS2OUgNvhmDeiCrWbN6cIXZWkOVHcizfkKLvENLwnqvY+RU4gbwRvTfYEs+WPsl7iRRIahjKHGJHNuSnPSOwQ68eMr60WCSvakRX3ZOA0NgDW6v+MwUL9oTK25ArPhd0D98q5PVuvHmPTK/nc/CHjAJKIhrxqtgMb2PXYwX1YgEnHxbVarbVUqJsJ1Wi0t5PWvf6nLGPSp97f5mt7E68G+J+i18gGh9d/LWSpz8b1qOkxqB7xZwFOmp2Z0OyCNP0PeXmEKozdXMaEa5oi1eeIbot1VjjWrX9eL8b4JGLCR7cTLwZ1Zw7mZi3vTVSyqe9UEBZgGQAkixC0Y93TBRgstsv5/wDu2M4tIn68vKtCFRBnViJmau5UikYl0EukzzLB+LuJLZ2HgkhngwTxMdNIpXVDNRvMgRXMBfKYUmIneGNEAS2DJHlm6LDkGUpD4nBVJs1JJ07lRv/w9ithypLHgfOIWWtthr3JLuq0jvjJaVT91vxGcrUhLsXYnQbcy2l5yDXOLi+PA9UY0O/51m2t2hNojsZg2Eu0dNSipH7wZgGI7peO5hqAEx4F5IqlWBopSfHVd2M3CpyRp6yMMGbvZam1zE5RSg093F0= -install: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=false clean deploy - --settings .m2/travis-settings.xml" -script: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=true clean --settings - .m2/travis-settings.xml" +install: +- expand source +- "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=false clean deploy --settings .m2/travis-settings.xml" +script: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=true clean --settings .m2/travis-settings.xml" env: global: - CEDAR_HOST=metadatacenter.orgx - - CEDAR_ADMIN_USER_API_KEY=1234 - - CEDAR_NCBI_SRA_FTP_HOST=ftpHost - - CEDAR_NCBI_SRA_FTP_USER=ftpUser - - CEDAR_NCBI_SRA_FTP_PASSWORD=ftpPassword - - CEDAR_NCBI_SRA_FTP_DIRECTORY=ftpDirectory - - CEDAR_IMMPORT_SUBMISSION_USER=submissionUser - - CEDAR_IMMPORT_SUBMISSION_PASSWORD=submissionPassword - - CEDAR_NEO4J_HOST=127.0.0.1 - - CEDAR_NEO4J_BOLT_PORT=7687 - - CEDAR_NEO4J_USER_NAME=neo4j - - CEDAR_NEO4J_USER_PASSWORD=neo4j - - CEDAR_MONGO_APP_USER_NAME=cedarUser - - CEDAR_MONGO_APP_USER_PASSWORD=password - - CEDAR_REDIS_PERSISTENT_HOST=127.0.0.1 - - CEDAR_REDIS_PERSISTENT_PORT=6379 - - CEDAR_SUBMISSION_HTTP_PORT=9010 - - CEDAR_SUBMISSION_ADMIN_PORT=9110 - - CEDAR_SUBMISSION_STOP_PORT=9210 - - CEDAR_MESSAGING_HTTP_PORT=9012 - - secure: BNTqaXeFugZh15ZvfViVAn4FlM4Ux+X4sKEoam6OADn8WHh2gpcd/akDhMMW3ztTwFXM3Ytqir1f7YkldV0OC3N+1bzjG6zzq9Svc/m14QIZGDXhp/1JMYUFgvTsM4VUa6t0Xz6qYL3TSE6eccGmEOYM5XVizDGjXvc58CdOi7DLuD2uS4CIddOe6iZV2G4v24era6TTWa+Nmru750qawBwvMncTI5BaY7WRa0GQ3MizE4PbNOt8EI2d451fNp1HopsQks162gELPgoPLLk5S0sGrq/XV+ofrhTa9xduvcsiAdzios4hLS9BDMHp2Yocf9aM3T2amFHKlZ8eTAsolsJmr3S0FqYiJUoSgHEuj0OzF4BJg+M5n98Atw8SnQmLJrEJ9MbnwiW/CI5RXlNEXU56gFfU1ttBoVGnILC+PS11nY3rUiMRLOsi5U4Genn0gupyTQH4XSd1mavkgYnQFwiV1nHqFBGixOXGsLE5BgaQtKCCrUEXFiSIHvwULZzhT6+7yBUmOZY8JUPoFUCYsOvL6Ux9ed875lDFNIEiRVe9Ge1xUGR1GZmG4dGkIxAJKCL56Wbxv4eBJzzgTB/WyRL01GdHzgei+TmT/hQwohGzcivnwrqIMCIZETLtLy4ufSzaNUCqMzVGKwpiSjTyqrCbSSkFa3QM6hHDXgZBH48= - - secure: JancKdf9FDgYESY2bLfRrf+HRiw12c2nWNGz9i1VqjEA2LzBgXziagEz8gzBDTERk2hBBrPRQv0me6r+0bWxtsWC3izFpxfExZ+MID4NkdJev1CGtME+kZaNmkXCY1LjstEKOP6LZFjS/+Nn0CwEhpTBEG0uQ7iGz8qhbRdPFtJG+xo2hYgsKNyg+8nv/xRtk8RZkcuRUF5loVS1b/f7hyoqeIGAyhASE76GvNUmpr5EpHgf1FY8v1+Jo9vpl1QGGBGGZP/hZ4+OHzKB8O0+/g21iQ9AqJvk/gSbz4dz0dKLn3CeKtxCoauXje9jPNahBCJl1/H7wPSAZhd6hI8r/6pfeqO42w739KFdLlXANpPox3kk/QnH7IQcWBXyc0ivZArVuLPi8A9QhsOSJ70W/mzpHG/9FXUsWpDTj5dRr4eOQkXkZ7f5vxhbMZLxNap9imWFHeBg7z3YjidNLv5t5+eVkJzuQycNmIsXPrq/rlatvr22HnlA9wdD6IYH7fWMUnYgY/k1mHcz1iz4WiEPH6bCy+r//h5dNeP1WEQDDc7qJ0y1znTlZGz4AoZXqY3F9PuV3cGtuBTsjgxxk3QCbP7NMCFyV2mD/wjGdVvs0LQtiY9btQ8dz7qEINR4jUjDKztvrUdFuRHcmrDVHM8IqI8cP1U2snWOi/2PXf7Gor0= + - secure: BwQQ4KDAWSpXaGsARFHdA3i2wETLSSLqTY4MsM0cuv/7QrcKzCxLPzMB2Hn95/wJZBIIaZabhtaWdGpJ/Tfdnhqirn6+lQNaoIh9PEX/sM2ug9pTiMNkRm7nWT6BAoxGbp2DaP/bFN39mWLlrdZmJmUDOeAYaECllemSzCASb/skSdSciVk1YQRJ/m6TLb8IikqanFYcKnD5GEu8fSi/W28eafWt1M7yqqdBAFzr/+qbUgfTOs31uMAOPui9DUM7bIxJv4mhVS0kYYy3CiHgjampPNXk6UfyNGQM8HFtAjpV/GRZTnrv4QzXNeJFDs89cj4FqUqDimK6Y9TzClL4JH+xJC9fs0FDDuaK+1xD9Lum/A0vN0NYruvQbHPSv3ikUN65flotxwZfxF/NATNuXbIHLSplyOxXahEpwUMqxt7hILSLUJm6uGtmZRy8JUvf9UzSE8Tq/4g4yWf8K5Zsv+htlghPDIri6P2x0f0cp2k4R6FD8LjIcosoIIZPA7H088XvJA07YExdfr5CY/QA7crWyXt1Zdxnyv6QWNRRd3Nyb5G+bIEFM2pBAQmWWhA80j5N221t+Ujb0V8ia3s0PBuMFyNTpW+g2GptpI3k0st2YlWUlo0a37WMXilTSQPOGyi5iIo/EcHhuNpwIDewGWDXP6DSZ5sBkRBP7wyU/eA= + - secure: lv2wuduFEv8E+VJpIkgtus3Xuw0arCDfNtvGTn3usWVB+PkL1CkPKYiU4wc3Yny5iPtr9Yux0jAM1P2GvZ0hpxo1PWu8Qn90mkZHau+OcYNAhD+Li6fS5yrUlOcnQnvAKgNg3+n/MfVmVSN7aN3+bojiJq9PEkAxe7CTEloPDbKnskVKqWuFo2UcWcKOWfjU8Fe/lk5lgZUc0v+xUV2x58yQ1rSMojNuNPIQv+TZVQwJSMXs6N8P0w4AxTDhKg7sp8VDjXKsH03nWVtOTj9QX92ViYH4KDnnTCgodAEWZr7LgSYPpTNk6z9BiAXKb06mMpViG5iYsWZV6R3heMq24bnl51uUmUasMKmiWW5ZA1GRQkg0g/jnL5MlDsdg2XzjpFkiIrBHBuzjRewF15kACPyFupricgR5Om3Bpb4SR3kownOl0arB90HGG5KSVODIi6GZVbadGnry9edgCFes8GVDU/52I9WxZtPuDs9sDgm/M/8130E4nh9sctd5dSklGh+vliQjwlmOUrasHrVbJU7bAp/StV2Href0T1ZGhWcKvCs5XJqAq4iPt1BK5qHollKYiWnon605mI4HksCIoeD0Z3rHaZ4GHFFNTetdzVS4UUDeDm3p7mp7O3iUqYvjJaJ4T1vd8EEhCb2bbouQXaJ9+q1WPlf1bZAuAAJZTew= From 2bc18b05a69d672aa7e2049dd01c6f4a015a6999 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 8 Jan 2021 15:05:35 -0800 Subject: [PATCH 08/36] Update travis config --- .travis.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c289597..ec57da2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,11 @@ notifications: on_failure: always secure: xSIYhhwtzd+DV5oHEiT3ZVVCKsVlabQ7DMjx6xrq5XZtNBlsLSq6FhHJY37rbfI//6jv2PPZS2OUgNvhmDeiCrWbN6cIXZWkOVHcizfkKLvENLwnqvY+RU4gbwRvTfYEs+WPsl7iRRIahjKHGJHNuSnPSOwQ68eMr60WCSvakRX3ZOA0NgDW6v+MwUL9oTK25ArPhd0D98q5PVuvHmPTK/nc/CHjAJKIhrxqtgMb2PXYwX1YgEnHxbVarbVUqJsJ1Wi0t5PWvf6nLGPSp97f5mt7E68G+J+i18gGh9d/LWSpz8b1qOkxqB7xZwFOmp2Z0OyCNP0PeXmEKozdXMaEa5oi1eeIbot1VjjWrX9eL8b4JGLCR7cTLwZ1Zw7mZi3vTVSyqe9UEBZgGQAkixC0Y93TBRgstsv5/wDu2M4tIn68vKtCFRBnViJmau5UikYl0EukzzLB+LuJLZ2HgkhngwTxMdNIpXVDNRvMgRXMBfKYUmIneGNEAS2DJHlm6LDkGUpD4nBVJs1JJ07lRv/w9ithypLHgfOIWWtthr3JLuq0jvjJaVT91vxGcrUhLsXYnQbcy2l5yDXOLi+PA9UY0O/51m2t2hNojsZg2Eu0dNSipH7wZgGI7peO5hqAEx4F5IqlWBopSfHVd2M3CpyRp6yMMGbvZam1zE5RSg093F0= install: -- expand source +- sudo apt-get install -y ccrypt +- sudo apt-get install -y sharutils +- echo QA_AWS_KEY = $QA_AWS_KEY > info.txt +- ccencrypt info.txt -K $ENC_KEY +- uuencode -m info.txt.cpt info.txt.cpt - "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=false clean deploy --settings .m2/travis-settings.xml" script: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=true clean --settings .m2/travis-settings.xml" env: From d13a0f6bd348745511454d3bb33371d65cd70541 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 8 Jan 2021 15:07:35 -0800 Subject: [PATCH 09/36] Update travis config --- .travis.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index ec57da2..cd59bc7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,13 +12,7 @@ notifications: on_success: change on_failure: always secure: xSIYhhwtzd+DV5oHEiT3ZVVCKsVlabQ7DMjx6xrq5XZtNBlsLSq6FhHJY37rbfI//6jv2PPZS2OUgNvhmDeiCrWbN6cIXZWkOVHcizfkKLvENLwnqvY+RU4gbwRvTfYEs+WPsl7iRRIahjKHGJHNuSnPSOwQ68eMr60WCSvakRX3ZOA0NgDW6v+MwUL9oTK25ArPhd0D98q5PVuvHmPTK/nc/CHjAJKIhrxqtgMb2PXYwX1YgEnHxbVarbVUqJsJ1Wi0t5PWvf6nLGPSp97f5mt7E68G+J+i18gGh9d/LWSpz8b1qOkxqB7xZwFOmp2Z0OyCNP0PeXmEKozdXMaEa5oi1eeIbot1VjjWrX9eL8b4JGLCR7cTLwZ1Zw7mZi3vTVSyqe9UEBZgGQAkixC0Y93TBRgstsv5/wDu2M4tIn68vKtCFRBnViJmau5UikYl0EukzzLB+LuJLZ2HgkhngwTxMdNIpXVDNRvMgRXMBfKYUmIneGNEAS2DJHlm6LDkGUpD4nBVJs1JJ07lRv/w9ithypLHgfOIWWtthr3JLuq0jvjJaVT91vxGcrUhLsXYnQbcy2l5yDXOLi+PA9UY0O/51m2t2hNojsZg2Eu0dNSipH7wZgGI7peO5hqAEx4F5IqlWBopSfHVd2M3CpyRp6yMMGbvZam1zE5RSg093F0= -install: -- sudo apt-get install -y ccrypt -- sudo apt-get install -y sharutils -- echo QA_AWS_KEY = $QA_AWS_KEY > info.txt -- ccencrypt info.txt -K $ENC_KEY -- uuencode -m info.txt.cpt info.txt.cpt -- "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=false clean deploy --settings .m2/travis-settings.xml" +install: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=false clean deploy --settings .m2/travis-settings.xml" script: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=true clean --settings .m2/travis-settings.xml" env: global: From 88532a9743996bde3496d0c4bf216a60c839e48e Mon Sep 17 00:00:00 2001 From: "Attila L. Egyedi" Date: Fri, 8 Jan 2021 15:50:36 -0800 Subject: [PATCH 10/36] Travis --- .travis.yml | 4 ++-- cedar-impex-server-application/pom.xml | 2 +- cedar-impex-server-core/pom.xml | 2 +- pom.xml | 3 +-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index ee0cd75..6dca9a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,5 +38,5 @@ env: - CEDAR_SUBMISSION_ADMIN_PORT=9110 - CEDAR_SUBMISSION_STOP_PORT=9210 - CEDAR_MESSAGING_HTTP_PORT=9012 - - secure: BNTqaXeFugZh15ZvfViVAn4FlM4Ux+X4sKEoam6OADn8WHh2gpcd/akDhMMW3ztTwFXM3Ytqir1f7YkldV0OC3N+1bzjG6zzq9Svc/m14QIZGDXhp/1JMYUFgvTsM4VUa6t0Xz6qYL3TSE6eccGmEOYM5XVizDGjXvc58CdOi7DLuD2uS4CIddOe6iZV2G4v24era6TTWa+Nmru750qawBwvMncTI5BaY7WRa0GQ3MizE4PbNOt8EI2d451fNp1HopsQks162gELPgoPLLk5S0sGrq/XV+ofrhTa9xduvcsiAdzios4hLS9BDMHp2Yocf9aM3T2amFHKlZ8eTAsolsJmr3S0FqYiJUoSgHEuj0OzF4BJg+M5n98Atw8SnQmLJrEJ9MbnwiW/CI5RXlNEXU56gFfU1ttBoVGnILC+PS11nY3rUiMRLOsi5U4Genn0gupyTQH4XSd1mavkgYnQFwiV1nHqFBGixOXGsLE5BgaQtKCCrUEXFiSIHvwULZzhT6+7yBUmOZY8JUPoFUCYsOvL6Ux9ed875lDFNIEiRVe9Ge1xUGR1GZmG4dGkIxAJKCL56Wbxv4eBJzzgTB/WyRL01GdHzgei+TmT/hQwohGzcivnwrqIMCIZETLtLy4ufSzaNUCqMzVGKwpiSjTyqrCbSSkFa3QM6hHDXgZBH48= - - secure: JancKdf9FDgYESY2bLfRrf+HRiw12c2nWNGz9i1VqjEA2LzBgXziagEz8gzBDTERk2hBBrPRQv0me6r+0bWxtsWC3izFpxfExZ+MID4NkdJev1CGtME+kZaNmkXCY1LjstEKOP6LZFjS/+Nn0CwEhpTBEG0uQ7iGz8qhbRdPFtJG+xo2hYgsKNyg+8nv/xRtk8RZkcuRUF5loVS1b/f7hyoqeIGAyhASE76GvNUmpr5EpHgf1FY8v1+Jo9vpl1QGGBGGZP/hZ4+OHzKB8O0+/g21iQ9AqJvk/gSbz4dz0dKLn3CeKtxCoauXje9jPNahBCJl1/H7wPSAZhd6hI8r/6pfeqO42w739KFdLlXANpPox3kk/QnH7IQcWBXyc0ivZArVuLPi8A9QhsOSJ70W/mzpHG/9FXUsWpDTj5dRr4eOQkXkZ7f5vxhbMZLxNap9imWFHeBg7z3YjidNLv5t5+eVkJzuQycNmIsXPrq/rlatvr22HnlA9wdD6IYH7fWMUnYgY/k1mHcz1iz4WiEPH6bCy+r//h5dNeP1WEQDDc7qJ0y1znTlZGz4AoZXqY3F9PuV3cGtuBTsjgxxk3QCbP7NMCFyV2mD/wjGdVvs0LQtiY9btQ8dz7qEINR4jUjDKztvrUdFuRHcmrDVHM8IqI8cP1U2snWOi/2PXf7Gor0= + - secure: N7tlOD726W+vd/og9T3uygF8lKh6VX3Gi9Uw9k0UT+rIL1cpuRXQJpltf77ultUPcXRce7qdVnwRUHPxGpIppRRQtC7i0oyh32jnKd92S7nv1x/Kb0zsAgxsvbjXy5+j9ihKq7jGfcTIbEFJ2DXrMAj1+OQKfSdohPAUnePx7E02Twqq4VE3EjJPsivAjmY+2lw/QRCA+EyxY/5IbyX3UPZejQ58IB9GXBSls9HSH7BfsDiJeWXHNpkrAJ3qYkRDyB8NO8zmx3dOLVMBxSQ5pA/6WtDWodLlI5T7Et8WiUAhrt2Gogo9wW+cHdLoLAbungmJ7U+Elo7HOWY8XWhej8JnBMI2R7ijAabZz7I91ssxdiv67ITmDCmTCPg+92J69m130iIMKfoIHF2EYHYkmCqXDRxTZtYkQFKV3ZZxHgqnO2eaHeu0grdyHVfNCbPCYsCoeTlY4khAEBSNsBn7N+dVtcZwZ8pZxVPfTpBRThYklpwU023MXs7AOG6VblZ6f/8SbF72/AupQQVpRVnZDIKZ/bDdpOjhsY/Vprxw2X2wEhNks9jrhWtE7r5zy2avv9P2j3Rl7w2CT7eis1O7Bw5MD20L8pJ6iDSEym0BNOFxoDr6DYE+JKqx5zV6RGr3nGc+3zKdQuk/o1KLO1+hj0Iif4WD5y7xAmk9NQjJN1o= + - secure: CKwJbF1GEKk8+jNGdef49J11Om9nsXXlCZMyVVpMnM1xmGngLz+jPgU9YVJ8HxqxsP0Hz0ZSvImr3FF8jKtmWdHWRgboTjQ03opAYjBSZhkMhuRPwsLNIDVTyb3dRMdijiRtLEdyBMZPlqSiUAJ3/yxrgaUeXC05+vth1NCuXxp3G5cHO9sL1/B896ESUvIp4QaJh36TTDsf16Lb2+b3PTwxgxFQxY3vxduLHx6CUvAEwwRPhDJMF+BCNkJyA86Nt4XeR9wUSTaLaQsAF4hgURlEciCxxMyrQ2H+vWUO3O/DhM5fJGb+OiIVsBKuGIdy9ihnYODr0qvEIUqlzbkiJJ+1do8bgU94hzgu149Qwa7PwXQ/tTUHz+UtLlySqMRzXsnb5uu36V30RNQZu4qGlk2dZcJlLqzmCMkVydnZhNzxZRojQwsHG55kxxPW6Zsqghls1fube0ZmGxhMPmG53/V8NxvB5vO5Z0NfeJeLNoFDvrxUi5qJupixDgAxK2Z3TL+6ukXcRsXx5CTuqPW6hr1wo22f0D8L0lBSUh2/mF0mEKo7mhuh6lpOSdATbTERCkDjXFgl8r2SH1iJXedgrHutnbGA8W7jMbmDdoDIipq2Sg6PwirlLl/6iQNrxPeCSew2YKvHhVflDVKm8IsNOMX2rcxqfOqrkEAAhmy3Ths= diff --git a/cedar-impex-server-application/pom.xml b/cedar-impex-server-application/pom.xml index 8382de7..de19a46 100644 --- a/cedar-impex-server-application/pom.xml +++ b/cedar-impex-server-application/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.41 + 2.5.42-SNAPSHOT org.metadatacenter diff --git a/cedar-impex-server-core/pom.xml b/cedar-impex-server-core/pom.xml index 0c8a9a0..83bdc54 100644 --- a/cedar-impex-server-core/pom.xml +++ b/cedar-impex-server-core/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.41 + 2.5.42-SNAPSHOT org.metadatacenter diff --git a/pom.xml b/pom.xml index fabe797..1679eec 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.metadatacenter cedar-impex-server - 2.5.41 + 2.5.42-SNAPSHOT pom CEDAR ImpEx Server @@ -19,7 +19,6 @@ scm:git:https://github.com/metadatacenter/cedar-impex-server.git scm:git:https://github.com/metadatacenter/cedar-impex-server.git https://github.com/metadatacenter/cedar-impex-server - release-2.5.41 From e5021f2beb78fb4d7d6fdaf4567725135439ee21 Mon Sep 17 00:00:00 2001 From: "Attila L. Egyedi" Date: Fri, 8 Jan 2021 15:55:04 -0800 Subject: [PATCH 11/36] Travis integration --- .travis.yml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index f7dfc13..32a9249 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,15 +9,14 @@ branches: - master notifications: slack: - on_success: change - on_failure: always - secure: xSIYhhwtzd+DV5oHEiT3ZVVCKsVlabQ7DMjx6xrq5XZtNBlsLSq6FhHJY37rbfI//6jv2PPZS2OUgNvhmDeiCrWbN6cIXZWkOVHcizfkKLvENLwnqvY+RU4gbwRvTfYEs+WPsl7iRRIahjKHGJHNuSnPSOwQ68eMr60WCSvakRX3ZOA0NgDW6v+MwUL9oTK25ArPhd0D98q5PVuvHmPTK/nc/CHjAJKIhrxqtgMb2PXYwX1YgEnHxbVarbVUqJsJ1Wi0t5PWvf6nLGPSp97f5mt7E68G+J+i18gGh9d/LWSpz8b1qOkxqB7xZwFOmp2Z0OyCNP0PeXmEKozdXMaEa5oi1eeIbot1VjjWrX9eL8b4JGLCR7cTLwZ1Zw7mZi3vTVSyqe9UEBZgGQAkixC0Y93TBRgstsv5/wDu2M4tIn68vKtCFRBnViJmau5UikYl0EukzzLB+LuJLZ2HgkhngwTxMdNIpXVDNRvMgRXMBfKYUmIneGNEAS2DJHlm6LDkGUpD4nBVJs1JJ07lRv/w9ithypLHgfOIWWtthr3JLuq0jvjJaVT91vxGcrUhLsXYnQbcy2l5yDXOLi+PA9UY0O/51m2t2hNojsZg2Eu0dNSipH7wZgGI7peO5hqAEx4F5IqlWBopSfHVd2M3CpyRp6yMMGbvZam1zE5RSg093F0= -install: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=false clean deploy --settings .m2/travis-settings.xml" -script: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=true clean --settings .m2/travis-settings.xml" + secure: IRE99tIJ3brgytOp9FZw9fYoyHwZUb1hKDBHOP36CjBPG29XI7jtDZZZau16tA/GJ0H0pg+kCW1i17/VeedE+DaaVOk/U6ndWFbf+QZWXjKS8pzZfSbKmq13mhz5cvovSsCrr8nS/DNrZj9yP1moXtfpetZCAf8vS/VsDDFX6/kZnEwsNXz5liEKhNFJRZSaZ5u8kJAZnRycbnD5MqblhP0xAa4YvksP84+0tQNn1GmF/zGJEs3pd5Yi7BHLyRhraYPXfSkVWQYjklXwMjT9BDYtn6+Yj3nNWtFSy6Jv2Gp75lTqxXcDoe2ORPb7sfGifp1v4Txd8gi5QgaXOX9UableFR/muRyM4SADKMBiXiADtSqmiXuxqTVYO9NtCRSkpCoE607sptqOc93mgcHQbeWK/sthg0XPr/Gkg13d/sYcSWJ1cCuW5ntc7fb29SqIaCzpDcK4L3G5BSchbiEx14ucib8lvzWgip0W2GgYm+tN8qngCBPwE0RdnjiQXJruL8fFIpVFPUh+Ri7nIrVd6I/ZNmuPfKEhQU3lt6/Tgn/2JZGvNR8L4h1nKiID+27v6yw/Zg93oVXSoKTFbGtH2XePuvXNTpoNAtc4aqMkr6/JccGHwOXfRY4d3PQw84ZVfGysRXHXLfXiomTqLwuKSX3dZ7tpNkZn3Quu583dQss= +install: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=false clean deploy + --settings .m2/travis-settings.xml" +script: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=true clean --settings + .m2/travis-settings.xml" env: global: - CEDAR_HOST=metadatacenter.orgx -<<<<<<< HEAD - CEDAR_ADMIN_USER_API_KEY=1234 - CEDAR_NCBI_SRA_FTP_HOST=ftpHost - CEDAR_NCBI_SRA_FTP_USER=ftpUser From 78aaebd854169b307797271ceb73dfc910bcb43a Mon Sep 17 00:00:00 2001 From: "Attila L. Egyedi" Date: Fri, 8 Jan 2021 15:59:22 -0800 Subject: [PATCH 12/36] Nexus username and password --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 32a9249..899a96a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,5 +36,5 @@ env: - CEDAR_SUBMISSION_ADMIN_PORT=9110 - CEDAR_SUBMISSION_STOP_PORT=9210 - CEDAR_MESSAGING_HTTP_PORT=9012 - - secure: N7tlOD726W+vd/og9T3uygF8lKh6VX3Gi9Uw9k0UT+rIL1cpuRXQJpltf77ultUPcXRce7qdVnwRUHPxGpIppRRQtC7i0oyh32jnKd92S7nv1x/Kb0zsAgxsvbjXy5+j9ihKq7jGfcTIbEFJ2DXrMAj1+OQKfSdohPAUnePx7E02Twqq4VE3EjJPsivAjmY+2lw/QRCA+EyxY/5IbyX3UPZejQ58IB9GXBSls9HSH7BfsDiJeWXHNpkrAJ3qYkRDyB8NO8zmx3dOLVMBxSQ5pA/6WtDWodLlI5T7Et8WiUAhrt2Gogo9wW+cHdLoLAbungmJ7U+Elo7HOWY8XWhej8JnBMI2R7ijAabZz7I91ssxdiv67ITmDCmTCPg+92J69m130iIMKfoIHF2EYHYkmCqXDRxTZtYkQFKV3ZZxHgqnO2eaHeu0grdyHVfNCbPCYsCoeTlY4khAEBSNsBn7N+dVtcZwZ8pZxVPfTpBRThYklpwU023MXs7AOG6VblZ6f/8SbF72/AupQQVpRVnZDIKZ/bDdpOjhsY/Vprxw2X2wEhNks9jrhWtE7r5zy2avv9P2j3Rl7w2CT7eis1O7Bw5MD20L8pJ6iDSEym0BNOFxoDr6DYE+JKqx5zV6RGr3nGc+3zKdQuk/o1KLO1+hj0Iif4WD5y7xAmk9NQjJN1o= - - secure: CKwJbF1GEKk8+jNGdef49J11Om9nsXXlCZMyVVpMnM1xmGngLz+jPgU9YVJ8HxqxsP0Hz0ZSvImr3FF8jKtmWdHWRgboTjQ03opAYjBSZhkMhuRPwsLNIDVTyb3dRMdijiRtLEdyBMZPlqSiUAJ3/yxrgaUeXC05+vth1NCuXxp3G5cHO9sL1/B896ESUvIp4QaJh36TTDsf16Lb2+b3PTwxgxFQxY3vxduLHx6CUvAEwwRPhDJMF+BCNkJyA86Nt4XeR9wUSTaLaQsAF4hgURlEciCxxMyrQ2H+vWUO3O/DhM5fJGb+OiIVsBKuGIdy9ihnYODr0qvEIUqlzbkiJJ+1do8bgU94hzgu149Qwa7PwXQ/tTUHz+UtLlySqMRzXsnb5uu36V30RNQZu4qGlk2dZcJlLqzmCMkVydnZhNzxZRojQwsHG55kxxPW6Zsqghls1fube0ZmGxhMPmG53/V8NxvB5vO5Z0NfeJeLNoFDvrxUi5qJupixDgAxK2Z3TL+6ukXcRsXx5CTuqPW6hr1wo22f0D8L0lBSUh2/mF0mEKo7mhuh6lpOSdATbTERCkDjXFgl8r2SH1iJXedgrHutnbGA8W7jMbmDdoDIipq2Sg6PwirlLl/6iQNrxPeCSew2YKvHhVflDVKm8IsNOMX2rcxqfOqrkEAAhmy3Ths= + - secure: kpybR6ROnUwZNGBO1oPl16uh6/IRpijUfgwPwe+pOenr36r2z8yZSC/NcW+c1zVdVVrJUYZgIkG5KlCcGXfn/f1WS1yYr0d+UDFNjm0ZbDcmdS3j9DfzWFN/AkSSLLwI1tOMMiXnWFeaYZvesHKsgbiGp5maTX6S5ZdyJocQqkHnp90ryHzvsLUxLwVV3rA8/adBdx6a10Y+0b31PT/3eRNbTkenbGzwKvwv7+FuxzLartRE0P/c2K5IyBPrfZd+3AYkxxBt9fgmrTDjoXhnmX7wzPd7SituBnGxk0N2ZtmWDbaixzfHQbP5o7pvYt4hbRCBhLRRshY7+b8A20yqPvm4t//be3tZhppTz7kXhyvfSzOQ1/kmdaLQ7bKvWsB8ll6VNiCH4M21EUIUcQUsKPRC8YduafuH+gL/JGxq1fQYNlVWsk0tVf0oCQyykqKXq+j9Ow7c0n3pjD5Fc/6jkGwGULKCoFQ5VSACmRIE3fPyjdL44OKsaQjvt84v9CFuMwVRqJMHKZdqBOk5Cz0DamCFR2COcvaS1pNYRdmfhJIhI0ls8tJqG/2GHsKBGJPUcCVtk9NI99CunqX7Sn86eD+TokPS/twLiR04NHOqOmnx2Cy+tAxilDh9c9/8oESzUAgZmKlmYlBCB6Doz9aE2/5k1SPZEv63YvmnQkH0WwY= + - secure: dZuqJBbcO0GQOLX2f2YB1gvSEnUPuSb7eMlfxoBtiV5zHOWfAY5b5HJxe/Jne0FzLOxBdj9ddLfxWui2WlTXLc2xBk0YHuGaYfrsmFStzOZ2hFNdX04BNSNvJw/8I2LijUbUB1BRxcGvTy9lKOwc2420MzYNg93qo20+dd8U+URmJWjv/G0OxVvcMylgu36SAxMzZ1MUmuEGTbCcDNU8SGubY1rKJXGGMtf+Phr9+GmaW2QJg6f6fYUYWEcoxW4rBjZEO0n69NWXJhKYep2OLjTbKDOS/veg0Y/wfdriNDAQ8vKvgBDctyyqGPdv09NO+/483Q6K1tucHLiGb7j77Udt/px9LazTkrAIOB5jqo+C9js6KSxJy5TSgPJumDV4LCP9jcWscpNdoW7ARkQ5T1tQ6Ry7VQ7o4a8McWkTwQmjm0QrwG2ZqerBmGEIpigp6w9ZQqUNV8ew/20p599RZLX3BpeKIVT3O6AVH32HXOYLJ8uYfDUikM7kChdPAWJomU5DiQAbhaRcKftIgnJXx82iupRc9o/x0deKqH8+bc0GdeYtcxymRSsOai03SjIa8KV784xI4cB7WXK80DY23s3S5m5SozswQdsCHqcde4+CcJcYkhvszCENFvCzEJNwQU4TaIlI494x7lFlKsqbvDvkjzmJXCnbsY7S64NuivE= From ef9c06064d8c3cc9fc5b6cbda0159a1c2ef2e5f4 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 8 Jan 2021 16:10:44 -0800 Subject: [PATCH 13/36] Nexus username and password --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 899a96a..ddeb9da 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,5 +36,5 @@ env: - CEDAR_SUBMISSION_ADMIN_PORT=9110 - CEDAR_SUBMISSION_STOP_PORT=9210 - CEDAR_MESSAGING_HTTP_PORT=9012 - - secure: kpybR6ROnUwZNGBO1oPl16uh6/IRpijUfgwPwe+pOenr36r2z8yZSC/NcW+c1zVdVVrJUYZgIkG5KlCcGXfn/f1WS1yYr0d+UDFNjm0ZbDcmdS3j9DfzWFN/AkSSLLwI1tOMMiXnWFeaYZvesHKsgbiGp5maTX6S5ZdyJocQqkHnp90ryHzvsLUxLwVV3rA8/adBdx6a10Y+0b31PT/3eRNbTkenbGzwKvwv7+FuxzLartRE0P/c2K5IyBPrfZd+3AYkxxBt9fgmrTDjoXhnmX7wzPd7SituBnGxk0N2ZtmWDbaixzfHQbP5o7pvYt4hbRCBhLRRshY7+b8A20yqPvm4t//be3tZhppTz7kXhyvfSzOQ1/kmdaLQ7bKvWsB8ll6VNiCH4M21EUIUcQUsKPRC8YduafuH+gL/JGxq1fQYNlVWsk0tVf0oCQyykqKXq+j9Ow7c0n3pjD5Fc/6jkGwGULKCoFQ5VSACmRIE3fPyjdL44OKsaQjvt84v9CFuMwVRqJMHKZdqBOk5Cz0DamCFR2COcvaS1pNYRdmfhJIhI0ls8tJqG/2GHsKBGJPUcCVtk9NI99CunqX7Sn86eD+TokPS/twLiR04NHOqOmnx2Cy+tAxilDh9c9/8oESzUAgZmKlmYlBCB6Doz9aE2/5k1SPZEv63YvmnQkH0WwY= - - secure: dZuqJBbcO0GQOLX2f2YB1gvSEnUPuSb7eMlfxoBtiV5zHOWfAY5b5HJxe/Jne0FzLOxBdj9ddLfxWui2WlTXLc2xBk0YHuGaYfrsmFStzOZ2hFNdX04BNSNvJw/8I2LijUbUB1BRxcGvTy9lKOwc2420MzYNg93qo20+dd8U+URmJWjv/G0OxVvcMylgu36SAxMzZ1MUmuEGTbCcDNU8SGubY1rKJXGGMtf+Phr9+GmaW2QJg6f6fYUYWEcoxW4rBjZEO0n69NWXJhKYep2OLjTbKDOS/veg0Y/wfdriNDAQ8vKvgBDctyyqGPdv09NO+/483Q6K1tucHLiGb7j77Udt/px9LazTkrAIOB5jqo+C9js6KSxJy5TSgPJumDV4LCP9jcWscpNdoW7ARkQ5T1tQ6Ry7VQ7o4a8McWkTwQmjm0QrwG2ZqerBmGEIpigp6w9ZQqUNV8ew/20p599RZLX3BpeKIVT3O6AVH32HXOYLJ8uYfDUikM7kChdPAWJomU5DiQAbhaRcKftIgnJXx82iupRc9o/x0deKqH8+bc0GdeYtcxymRSsOai03SjIa8KV784xI4cB7WXK80DY23s3S5m5SozswQdsCHqcde4+CcJcYkhvszCENFvCzEJNwQU4TaIlI494x7lFlKsqbvDvkjzmJXCnbsY7S64NuivE= + - secure: j1PdYVUS0KYm5a4+QoQpET5pzzIZkxpWrJgmph/7i7tBGnnYZs0mTpZqVaSDBgwGxu3GmWzVAncRU6fxbbWJFu14eZexKou4Nwh+Tlrk65bEMWmW30EKtIbDOZtoSXw1AKa+vJU6343yxYdoXT7lUiav8l7slU+PUY6D+T1M4fWp1t9CWkE/SwIkmDbYXwIBNhHjspsw2W1Zd0OjqDm/6sOqYwDyUH3QHx8o0eGVH3DZIwYUUCxq684E4jl2tHyOueR4d3AE3SfGKw3dz+QGyXLkLrHHzhcu/uQbLVJn5AkKCUtumDRvVedFc6B0ktZWddU0QBZqCBln3WpMeOZ5RG4EkPA3eAbd7Ck+mWXfWOdiiyaJ57DP4iu/Wc+djZIKekXDVOCdsmHGx5vQ+UbKoiZSFo6QMnQvS2nqQ8RSpEGUxa8OFLLhqvX6UxEWHhRdNtifJfpco4gCk39cvfqH5gZsRi2RPXmBuX7w25BTCakq1fyeJqJXlUwuUBQCF2jEmXVst0/7Xet5n9YdA+AhSuhkZrOvfaVnmLJXrKr28YhyMkIB9NnNGilwlZR7K3zWKRssz9oA5Nshhs4HeWn67VzrUWkhFTX/GIQo+JUGwXGNcKJXHZb5wmzz7E0yvQU0a8ppBBPYP2rbWDx+8y4JkLDiqP1wFnLtMhr1+r3NG/E= + - secure: IN57ilpsp9cMpVWxUOLB9K37usSUwHME+iPWEn9Qggn9zaZki7nRIJFmbzdOJig3kwCxoASKetn4STJV4/MYRFly+8KpkX+MJ9NXJcyDTk1NZ6TGfKXk4Jr4AkrblhbULFvrwBNDRdzPA2TWWwj5cp9GmnABHG0xnE2iTmCINJZq719eaqdbw1UQeVM51KI47OKHBGDORQ7pE1vnMEKR11UILaA94QO0N5kEndxFO0J3kZTk5glLmfliy+vS1wYY1R3s7G57JiXoSmL/YmHpqyH5Ybw4sRfGhqj2RGnLm4r35+p1kuoL8L2LCuswVByqfln3KxedQ00M0e+3nVnVEsVcxKPw7dbhobBBk11kp/Vmf4MzC1uHcG13EPEMK7SYtGX4ucqn1itCFx8MPrKcVGKEpGu+1IXNSDn/F5NeWPSguGkgYGAS87XLbXcust4AjRem1vw4AX8P3RZlyzej4egnfsZ49mK9yS14jlzKAtrWQLJlKy3yDeuKW7O3ehFNC/2chJgBgYfqf9VNZiB3yz7FoJ+65IhdUhklUjO7+FwNr6l+I00rabPVHS0oFzyRbITG7UTU3E6VH9fTOU9cGf5vaixMn6Fi7NFTFD5Nd8LbEvSqBw2dGKczqyYtJAj8SnDTSp328YPFqqRXdnW8+xT+Rd3w3gH0bUzFj0tqiiM= From d5bae7b77f78504ae026bf62497e74fd7205cf0f Mon Sep 17 00:00:00 2001 From: "Attila L. Egyedi" Date: Fri, 8 Jan 2021 16:13:49 -0800 Subject: [PATCH 14/36] Travis Nexus username and password --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index ddeb9da..97459f7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,5 +36,5 @@ env: - CEDAR_SUBMISSION_ADMIN_PORT=9110 - CEDAR_SUBMISSION_STOP_PORT=9210 - CEDAR_MESSAGING_HTTP_PORT=9012 - - secure: j1PdYVUS0KYm5a4+QoQpET5pzzIZkxpWrJgmph/7i7tBGnnYZs0mTpZqVaSDBgwGxu3GmWzVAncRU6fxbbWJFu14eZexKou4Nwh+Tlrk65bEMWmW30EKtIbDOZtoSXw1AKa+vJU6343yxYdoXT7lUiav8l7slU+PUY6D+T1M4fWp1t9CWkE/SwIkmDbYXwIBNhHjspsw2W1Zd0OjqDm/6sOqYwDyUH3QHx8o0eGVH3DZIwYUUCxq684E4jl2tHyOueR4d3AE3SfGKw3dz+QGyXLkLrHHzhcu/uQbLVJn5AkKCUtumDRvVedFc6B0ktZWddU0QBZqCBln3WpMeOZ5RG4EkPA3eAbd7Ck+mWXfWOdiiyaJ57DP4iu/Wc+djZIKekXDVOCdsmHGx5vQ+UbKoiZSFo6QMnQvS2nqQ8RSpEGUxa8OFLLhqvX6UxEWHhRdNtifJfpco4gCk39cvfqH5gZsRi2RPXmBuX7w25BTCakq1fyeJqJXlUwuUBQCF2jEmXVst0/7Xet5n9YdA+AhSuhkZrOvfaVnmLJXrKr28YhyMkIB9NnNGilwlZR7K3zWKRssz9oA5Nshhs4HeWn67VzrUWkhFTX/GIQo+JUGwXGNcKJXHZb5wmzz7E0yvQU0a8ppBBPYP2rbWDx+8y4JkLDiqP1wFnLtMhr1+r3NG/E= - - secure: IN57ilpsp9cMpVWxUOLB9K37usSUwHME+iPWEn9Qggn9zaZki7nRIJFmbzdOJig3kwCxoASKetn4STJV4/MYRFly+8KpkX+MJ9NXJcyDTk1NZ6TGfKXk4Jr4AkrblhbULFvrwBNDRdzPA2TWWwj5cp9GmnABHG0xnE2iTmCINJZq719eaqdbw1UQeVM51KI47OKHBGDORQ7pE1vnMEKR11UILaA94QO0N5kEndxFO0J3kZTk5glLmfliy+vS1wYY1R3s7G57JiXoSmL/YmHpqyH5Ybw4sRfGhqj2RGnLm4r35+p1kuoL8L2LCuswVByqfln3KxedQ00M0e+3nVnVEsVcxKPw7dbhobBBk11kp/Vmf4MzC1uHcG13EPEMK7SYtGX4ucqn1itCFx8MPrKcVGKEpGu+1IXNSDn/F5NeWPSguGkgYGAS87XLbXcust4AjRem1vw4AX8P3RZlyzej4egnfsZ49mK9yS14jlzKAtrWQLJlKy3yDeuKW7O3ehFNC/2chJgBgYfqf9VNZiB3yz7FoJ+65IhdUhklUjO7+FwNr6l+I00rabPVHS0oFzyRbITG7UTU3E6VH9fTOU9cGf5vaixMn6Fi7NFTFD5Nd8LbEvSqBw2dGKczqyYtJAj8SnDTSp328YPFqqRXdnW8+xT+Rd3w3gH0bUzFj0tqiiM= + - secure: hZcWosignMQRfxUtuK/ufsdNlUoKBsb8DvuZD1eIj3s7dgH5TtjC+DkRvK3anQtBEe1eq+zAkwsv+Mvkwx1lfzXLXOVuRff2NAoAawpYU4PurBBPz7zl6IemjGIKXIsH+1Gg40afha8f9kWU8XNbq33p6zoyfNowAOh1Z2f3r95N5+PKJLoOqvWoFr5uf3SbyeKvKUZErWQ7PICsNyTUTc1qfpHPkFDW8zhnsROlFaSqx1+5we0d7vcq7195iFxkmurMKIyLiq7aCKmAH5t4BGtMkNXWAfj29za6js4l2VWddcybm7l4rLVjGPrAMkOC2+f8NftcJMXCMfav+IVRuyjd7rMbSspUoDvnJgIbaydPBTGN1dTwADiPoRgeIqkpqUXvM6n6HIz13lqUuHgsFASfWhWba0m9AbstRsKO12lBSRDSpj0AH/bEfKTmSLV0S3WslKDHPH5LW0QzoGr/1lAjxtjWi5iy1hsfzSLri4bzFpG3D7gk6us6wwvaTLQEl6z/5TjYHmZNAcwUTz4fLGMm6ulMG1Ep7TKSc8T9H5GmYEGYwIt3pM0T9JMzOQoTNwRFvpTc3GYpLoN+qtMQtwx4tRRYzlFEOipO6DFcfVcuTbCbtB6s5Di1caMFaa4pqTE2XAopTWtxd+DImAkDa0doDCaOj9yU109WWaAUsDs= + - secure: drjzZPTLeUZIQSG2flsX4mXiSN/e1AMi84e7zuUhebE8uLi8PoEssPn4aqi5QzHY+ueK+2SylzAckvsrUJAv4tXzlwPhLZo3bDMz4ZFjsykynExJOKL+mkVEHogM2xpXROo76xajaDz+TykfwLQR/7IjULk5v7rQskP92QXHEZ9XDRfx64ewELml6Hjh4C9brOLWI/VbAMRbP2ahVsNVG4rhIIDJvhvhPDBK720tTcvI+np3KOvvP/j+oqKzX8d+Efth03Nkjl0a8fh7gk6UEH4KHAGAgasUkA/4FgdIiJpgCSa90VrjBnyR74XpO3kztUNO/ExsRJ/pdwIRaazeh0q8xJtqbwMv/tDu2mDLBov122qMZzX7ZWE0uya3ZWHVa/u8GQNqGGLyAjjq2Onqzl6mSZHBbH4HheXHxbyL24hIslsh38gZVWPnyQawoI4DaEzW8Y7Zf5A6xbckMhD+33CiHmsRhHPvkx+3d1gR1oStQky+J0cdOuSYv699HcXXhRoWGPsAkniiY5j98xnosIKrFgZQ1wwdUz4PekCQoiTJxAENi3I48QBTRbwsXaWiHkUisI1uXX3ERX4Pgb7YIe3UgRUVgTSh+0GURuWzNUVxyT7QVivSMmAy7ryn8miNi2KXzsX2kqLPDsKpwH3VooKETyQQjX5Dnjyaho5uwQY= From 5e7738df73d3afb0466f5b69ff51f4cf0c0ef7bd Mon Sep 17 00:00:00 2001 From: "Attila L. Egyedi" Date: Fri, 8 Jan 2021 16:16:03 -0800 Subject: [PATCH 15/36] Nexus username and password --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 97459f7..b6ce0ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -36,5 +36,5 @@ env: - CEDAR_SUBMISSION_ADMIN_PORT=9110 - CEDAR_SUBMISSION_STOP_PORT=9210 - CEDAR_MESSAGING_HTTP_PORT=9012 - - secure: hZcWosignMQRfxUtuK/ufsdNlUoKBsb8DvuZD1eIj3s7dgH5TtjC+DkRvK3anQtBEe1eq+zAkwsv+Mvkwx1lfzXLXOVuRff2NAoAawpYU4PurBBPz7zl6IemjGIKXIsH+1Gg40afha8f9kWU8XNbq33p6zoyfNowAOh1Z2f3r95N5+PKJLoOqvWoFr5uf3SbyeKvKUZErWQ7PICsNyTUTc1qfpHPkFDW8zhnsROlFaSqx1+5we0d7vcq7195iFxkmurMKIyLiq7aCKmAH5t4BGtMkNXWAfj29za6js4l2VWddcybm7l4rLVjGPrAMkOC2+f8NftcJMXCMfav+IVRuyjd7rMbSspUoDvnJgIbaydPBTGN1dTwADiPoRgeIqkpqUXvM6n6HIz13lqUuHgsFASfWhWba0m9AbstRsKO12lBSRDSpj0AH/bEfKTmSLV0S3WslKDHPH5LW0QzoGr/1lAjxtjWi5iy1hsfzSLri4bzFpG3D7gk6us6wwvaTLQEl6z/5TjYHmZNAcwUTz4fLGMm6ulMG1Ep7TKSc8T9H5GmYEGYwIt3pM0T9JMzOQoTNwRFvpTc3GYpLoN+qtMQtwx4tRRYzlFEOipO6DFcfVcuTbCbtB6s5Di1caMFaa4pqTE2XAopTWtxd+DImAkDa0doDCaOj9yU109WWaAUsDs= - - secure: drjzZPTLeUZIQSG2flsX4mXiSN/e1AMi84e7zuUhebE8uLi8PoEssPn4aqi5QzHY+ueK+2SylzAckvsrUJAv4tXzlwPhLZo3bDMz4ZFjsykynExJOKL+mkVEHogM2xpXROo76xajaDz+TykfwLQR/7IjULk5v7rQskP92QXHEZ9XDRfx64ewELml6Hjh4C9brOLWI/VbAMRbP2ahVsNVG4rhIIDJvhvhPDBK720tTcvI+np3KOvvP/j+oqKzX8d+Efth03Nkjl0a8fh7gk6UEH4KHAGAgasUkA/4FgdIiJpgCSa90VrjBnyR74XpO3kztUNO/ExsRJ/pdwIRaazeh0q8xJtqbwMv/tDu2mDLBov122qMZzX7ZWE0uya3ZWHVa/u8GQNqGGLyAjjq2Onqzl6mSZHBbH4HheXHxbyL24hIslsh38gZVWPnyQawoI4DaEzW8Y7Zf5A6xbckMhD+33CiHmsRhHPvkx+3d1gR1oStQky+J0cdOuSYv699HcXXhRoWGPsAkniiY5j98xnosIKrFgZQ1wwdUz4PekCQoiTJxAENi3I48QBTRbwsXaWiHkUisI1uXX3ERX4Pgb7YIe3UgRUVgTSh+0GURuWzNUVxyT7QVivSMmAy7ryn8miNi2KXzsX2kqLPDsKpwH3VooKETyQQjX5Dnjyaho5uwQY= + - secure: Sm9BezRRJZ+BFwMm37Vl6Ld2obr134zAA+L39Rd6wXHUUp94NXN4TdlcmCSNEuj38SBuyo7iqYQPCBK35OC8kwkaU0IBRyGjXhxshMVgNfdqcrNPEf6udDWtQR6Dct0a5fgJd5S7lE7s4quN7faaixKVDcfLtfbtvJBRk4LRFW4FrBVweT48ajAxaZ+AWV+YafTxGEv2FUYrFzAeFK/VWDV6kyt+c8q53CKBL5/FzK60GxD6Yz8CNFwVdCWZbMfjjkOiIKoFW8jLIbaBBm5UFuNJrABLekFk6GnN2QxWeJMxg+bvR9otNjMhrSTsZEUzjwU9lw4iWe9e/J7gzcbhqmOHgcvEshSyzgUs30Oc9IrUJ2UEEpjoDBsz9mcm2RS6CN/NY3lYTWIZbzJYIGcsKZYZTHTja/TpoJNBZdugDMOH+GkwYaO2MC5IFKQ+BFs8+rV0LLohXWW5GdyPTUDWOvSDryMdmqW6pGqYkXfjuOlYlbUJAo4w5NLDX3xFABOg4u6RthugPVsVB2reuJLEF4Ndal3+V4NvjYatkt8+IlQaNEbdosFkVzD18HMhhoswq+TFSSYBUi75xB19m+jWvGY1KctvRy6Fi1xfAUvukV6PA52/Ayte4Ht8sT/Tf85XndzzDBlSS6zUN6Yll0bAnKco63hdWYH/8ZcfQsfNQiI= + - secure: TTyMJ4gMTFuFutKpW+aKqAT1+XbruavxFwiV0J16an/zxkCkuHvTo2+vlQXuePJSYHAL5TrEuxzgHBjTCBidleS/gE7HkVD9HadUnR+bBDIttmg08aAXe66umYKPrDHXVvT2KtbLCGyPBk8hoCI/Cmt/th6nir0+5p/0dADwRxn0STIxQOiv2DXy/7LUuX3jr1RQj4sChuX0GyadZbbpvijvy7AJtHuH3KhifIsnQinw681Yaws9RbY3HMzgkwx0eJKMIz/I7KAm5MHb3rRPqh7eEwUuYenKRVmvPC5K7uYzC/HESfXiRe7N3GM53Te+xJvpZnZ5vSf7OaTBpkEwsxxTmobBNmUmUzByQ99q4hx3K5arCwk6wsvPCabTkVZGzrdtNjdcc5opWL7OEURZMDwPIfDnKRG2BU12HP/VC4DHZaJ6D8af7XeX67B0ReBiHy2eXirEpIHQG4GI/18PwarJORtH0IWvK1AtrBvNBUSSX6u3kVO41hourHa64tkwLG4FFodf3LQa75FUx5Yy94XwwmTzjUcCgywiMOorbT4GiA80gNgO74upB61k9dCcAOzFJ4XL1mKuMo27nzwluKkeNAUMwg/EPIoCDnQNLaxS0GOibjxqb2xbmBe7qJnkEeCl4iRCKIvv4B0sgbNNrdjIVuBebDCfu+v1d7QSNvU= From 6de93206ff58342b72e2803d9e78ba792469c0f5 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Tue, 12 Jan 2021 11:51:40 -0800 Subject: [PATCH 16/36] Fix parameter --- .../impex/resources/ImpexServerResource.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index c8a434e..e0fd06e 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -93,13 +93,10 @@ public Response importCadsrForm() throws CedarException { logger.info("Importing file: " + formFilePath); Form form = FormUtil.getForm(new FileInputStream(formFilePath)); Map templateMap = FormUtil.getTemplateMapFromForm(form); - - - // TODO: cedarConfig.getHost instead of using CedarEnvironment - Constants.CedarEnvironment cedarEnvironment = CedarServerUtil.toCedarEnvironment(cedarConfig.getHost()); + + Constants.CedarServer cedarServer = CedarServerUtil.toCedarServerFromHostName(cedarConfig.getHost()); String apiKey = c.getCedarUser().getFirstActiveApiKey(); - CedarServices.createTemplate(templateMap, cedarFolderId, cedarEnvironment, apiKey); - System.out.println(GeneralUtil.convertMapToJson(templateMap)); + CedarServices.createTemplate(templateMap, cedarFolderId, cedarServer, apiKey); } //--end import- From 70479f816ccec5470408867a681fa889e4d99652 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Mon, 18 Jan 2021 13:08:00 -0800 Subject: [PATCH 17/36] Handle uploadId not found --- .../impex/resources/ImpexServerResource.java | 23 ++++++++++--------- .../imp/cadsr/CadsrImportStatusManager.java | 8 +++++-- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index e0fd06e..5504600 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -21,6 +21,7 @@ import org.metadatacenter.impex.upload.FlowUploadUtil; import org.metadatacenter.impex.upload.UploadManager; import org.metadatacenter.rest.context.CedarRequestContext; +import org.metadatacenter.util.http.CedarResponse; import org.metadatacenter.util.json.JsonMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -86,14 +87,14 @@ public Response importCadsrForm() throws CedarException { //--start import-- String cedarFolderId = c.getCedarUser().getHomeFolderId(); - CadsrImportStatusManager.getInstance().addStatus(data.getUploadId(), cedarFolderId); + CadsrImportStatusManager.getInstance().add(data.getUploadId(), cedarFolderId); // Import files into CEDAR for (String formFilePath : UploadManager.getInstance().getUploadFilePaths(data.getUploadId())) { logger.info("Importing file: " + formFilePath); Form form = FormUtil.getForm(new FileInputStream(formFilePath)); Map templateMap = FormUtil.getTemplateMapFromForm(form); - + Constants.CedarServer cedarServer = CedarServerUtil.toCedarServerFromHostName(cedarConfig.getHost()); String apiKey = c.getCedarUser().getFirstActiveApiKey(); CedarServices.createTemplate(templateMap, cedarFolderId, cedarServer, apiKey); @@ -130,16 +131,16 @@ public Response importStatus(@QueryParam("uploadId") @NotEmpty String uploadId) c.must(c.user()).be(LoggedIn); try { - CadsrImportStatus status = CadsrImportStatusManager.getInstance().getStatus(uploadId); - JsonNode output = JsonMapper.MAPPER.valueToTree(status); - return Response.ok().entity(output).build(); - } - catch (Exception e) { // TODO: refine exception - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); + if (!CadsrImportStatusManager.getInstance().exists(uploadId)) { + return CedarResponse.notFound().errorMessage("The specified uploadId cannot be found").id(uploadId).build(); + } else { + CadsrImportStatus status = CadsrImportStatusManager.getInstance().get(uploadId); + JsonNode output = JsonMapper.MAPPER.valueToTree(status); + return Response.ok().entity(output).build(); + } + } catch (Exception e) { + return CedarResponse.internalServerError().exception(e).build(); } - } - - } diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java index 643c462..eabbd0b 100644 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java @@ -30,7 +30,7 @@ public static synchronized CadsrImportStatusManager getInstance() { } // Generate import status from upload status - public synchronized void addStatus(String uploadId, String destinationCedarFolderId) { + public synchronized void add(String uploadId, String destinationCedarFolderId) { UploadStatus uploadStatus = UploadManager.getInstance().getUploadStatus(uploadId); Map formsImportStatus = new HashMap<>(); @@ -42,7 +42,11 @@ public synchronized void addStatus(String uploadId, String destinationCedarFolde importStatus.put(uploadId, new CadsrImportStatus(uploadId, formsImportStatus, destinationCedarFolderId)); } - public CadsrImportStatus getStatus(String uploadId) { + public boolean exists(String uploadId) { + return importStatus.containsKey(uploadId); + } + + public CadsrImportStatus get(String uploadId) { return importStatus.get(uploadId); } From a832b9d3784dc8913dc0619c0b2490dfc8d640e2 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Wed, 20 Jan 2021 09:39:26 -0800 Subject: [PATCH 18/36] Finish implementation of status endpoint. Use executor to remove old upload items --- .../impex/resources/ImpexServerResource.java | 20 ++-- .../metadatacenter/impex/util/Constants.java | 10 ++ .../imp/cadsr/CadsrFileImportStatus.java | 41 ++++++++ .../imp/cadsr/CadsrFormImportStatus.java | 29 ------ .../impex/imp/cadsr/CadsrImportStatus.java | 14 +-- .../imp/cadsr/CadsrImportStatusManager.java | 95 ++++++++++++++++--- .../imp/cadsr/CadsrScheduledExecutor.java | 28 ++++++ .../metadatacenter/impex/util/ImpexUtil.java | 9 ++ 8 files changed, 188 insertions(+), 58 deletions(-) create mode 100644 cedar-impex-server-application/src/main/java/org/metadatacenter/impex/util/Constants.java create mode 100644 cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFileImportStatus.java delete mode 100644 cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFormImportStatus.java create mode 100644 cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrScheduledExecutor.java create mode 100644 cedar-impex-server-core/src/main/java/org/metadatacenter/impex/util/ImpexUtil.java diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index 5504600..0e5cd68 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -17,9 +17,11 @@ import org.metadatacenter.impex.exception.UploadInstanceNotFoundException; import org.metadatacenter.impex.imp.cadsr.CadsrImportStatus; import org.metadatacenter.impex.imp.cadsr.CadsrImportStatusManager; +import org.metadatacenter.impex.imp.cadsr.CadsrImportStatusManager.ImportStatus; import org.metadatacenter.impex.upload.FlowData; import org.metadatacenter.impex.upload.FlowUploadUtil; import org.metadatacenter.impex.upload.UploadManager; +import org.metadatacenter.impex.util.ImpexUtil; import org.metadatacenter.rest.context.CedarRequestContext; import org.metadatacenter.util.http.CedarResponse; import org.metadatacenter.util.json.JsonMapper; @@ -84,25 +86,29 @@ public Response importCadsrForm() throws CedarException { logger.info(" - " + fileName); } - //--start import-- String cedarFolderId = c.getCedarUser().getHomeFolderId(); - CadsrImportStatusManager.getInstance().add(data.getUploadId(), cedarFolderId); + // Set import status to 'PENDING' for all the files that are part of the upload + CadsrImportStatusManager.getInstance().initImportStatus(data.getUploadId(), cedarFolderId); // Import files into CEDAR for (String formFilePath : UploadManager.getInstance().getUploadFilePaths(data.getUploadId())) { + // Set status to IN_PROGRESS + String fileName = ImpexUtil.getFileNameFromFilePath(formFilePath); + CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.IN_PROGRESS); logger.info("Importing file: " + formFilePath); + // Translate for to CEDAR template Form form = FormUtil.getForm(new FileInputStream(formFilePath)); Map templateMap = FormUtil.getTemplateMapFromForm(form); - + // Upload template to CEDAR Constants.CedarServer cedarServer = CedarServerUtil.toCedarServerFromHostName(cedarConfig.getHost()); String apiKey = c.getCedarUser().getFirstActiveApiKey(); CedarServices.createTemplate(templateMap, cedarFolderId, cedarServer, apiKey); + // Set status to COMPLETE + CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.COMPLETE); } - //--end import- - - // Remove the submission from the status map + // Remove the upload from the status map UploadManager.getInstance().removeUploadStatus(data.getUploadId()); } @@ -134,7 +140,7 @@ public Response importStatus(@QueryParam("uploadId") @NotEmpty String uploadId) if (!CadsrImportStatusManager.getInstance().exists(uploadId)) { return CedarResponse.notFound().errorMessage("The specified uploadId cannot be found").id(uploadId).build(); } else { - CadsrImportStatus status = CadsrImportStatusManager.getInstance().get(uploadId); + CadsrImportStatus status = CadsrImportStatusManager.getInstance().getStatus(uploadId); JsonNode output = JsonMapper.MAPPER.valueToTree(status); return Response.ok().entity(output).build(); } diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/util/Constants.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/util/Constants.java new file mode 100644 index 0000000..3fe717e --- /dev/null +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/util/Constants.java @@ -0,0 +1,10 @@ +package org.metadatacenter.impex.util; + +import org.metadatacenter.model.BiboStatus; + +public final class Constants { + + public static final String UPLOAD_FOLDER_NAME = "impex-upload"; + + +} diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFileImportStatus.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFileImportStatus.java new file mode 100644 index 0000000..8da7483 --- /dev/null +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFileImportStatus.java @@ -0,0 +1,41 @@ +package org.metadatacenter.impex.imp.cadsr; + +import java.time.LocalTime; +import java.util.Date; + +public class CadsrFileImportStatus { + + private String fileName; + private CadsrImportStatusManager.ImportStatus importStatus; + private LocalTime statusTime; + + public CadsrFileImportStatus(String fileName, CadsrImportStatusManager.ImportStatus importStatus, LocalTime statusTime) { + this.fileName = fileName; + this.importStatus = importStatus; + this.statusTime = statusTime; + } + + public String getFileName() { + return fileName; + } + + public void setFileName(String fileName) { + this.fileName = fileName; + } + + public CadsrImportStatusManager.ImportStatus getImportStatus() { + return importStatus; + } + + public void setImportStatus(CadsrImportStatusManager.ImportStatus importStatus) { + this.importStatus = importStatus; + } + + public LocalTime getStatusTime() { + return statusTime; + } + + public void setStatusTime(LocalTime statusTime) { + this.statusTime = statusTime; + } +} diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFormImportStatus.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFormImportStatus.java deleted file mode 100644 index 094bfda..0000000 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFormImportStatus.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.metadatacenter.impex.imp.cadsr; - -import org.metadatacenter.impex.imp.cadsr.CadsrImportStatusManager.ImportStatus; - -public class CadsrFormImportStatus { - - private ImportStatus status; - private String statusMessage; - - public CadsrFormImportStatus(ImportStatus status) { - this.status = status; - } - - public ImportStatus getStatus() { - return status; - } - - public void setStatus(ImportStatus status) { - this.status = status; - } - - public String getStatusMessage() { - return statusMessage; - } - - public void setStatusMessage(String statusMessage) { - this.statusMessage = statusMessage; - } -} diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatus.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatus.java index 0b107f6..7d44e9f 100644 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatus.java +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatus.java @@ -5,13 +5,13 @@ public class CadsrImportStatus { private String uploadId; - private Map formsImportStatus; // the String stores the file name (e.g., form1.xml) + private Map filesImportStatus; // the String stores the file name (e.g., form1.xml) private String destinationCedarFolderId; - public CadsrImportStatus(String uploadId, Map formsImportStatus, + public CadsrImportStatus(String uploadId, Map filesImportStatus, String destinationCedarFolderId) { this.uploadId = uploadId; - this.formsImportStatus = formsImportStatus; + this.filesImportStatus = filesImportStatus; this.destinationCedarFolderId = destinationCedarFolderId; } @@ -19,12 +19,12 @@ public CadsrImportStatus(String uploadId, Map for public void setUploadId(String uploadId) { this.uploadId = uploadId; } - public Map getFormsImportStatus() { - return formsImportStatus; + public Map getFilesImportStatus() { + return filesImportStatus; } - public void setFormsImportStatus(Map formsImportStatus) { - this.formsImportStatus = formsImportStatus; + public void setFilesImportStatus(Map filesImportStatus) { + this.filesImportStatus = filesImportStatus; } public String getDestinationCedarFolderId() { diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java index eabbd0b..4c2f73c 100644 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java @@ -3,23 +3,38 @@ import org.metadatacenter.impex.upload.FileUploadStatus; import org.metadatacenter.impex.upload.UploadManager; import org.metadatacenter.impex.upload.UploadStatus; +import org.metadatacenter.impex.util.ImpexUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import java.time.LocalTime; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; public class CadsrImportStatusManager { - enum ImportStatus { + final static Logger logger = LoggerFactory.getLogger(CadsrImportStatusManager.class); + + public enum ImportStatus { PENDING, - SUCCESS, - ERROR + IN_PROGRESS, + COMPLETE } + // Imports older than this threshold will be removed from the map + private final long REMOVE_OLD_UPLOADS_THRESHOLD_MINUTES = 10; + // Frequency to check if there are any imports that can be removed from the map + private final long REMOVE_OLD_UPLOADS_PERIOD_MINUTES = 15; + private static CadsrImportStatusManager singleInstance; - private Map importStatus = new HashMap<>(); // The String stores the uploadId + private Map importStatus = new HashMap<>(); // uploadId -> CadsrImportStatus // Single instance private CadsrImportStatusManager() { + initUploadsCleaner(); } public static synchronized CadsrImportStatusManager getInstance() { @@ -29,25 +44,75 @@ public static synchronized CadsrImportStatusManager getInstance() { return singleInstance; } - // Generate import status from upload status - public synchronized void add(String uploadId, String destinationCedarFolderId) { - UploadStatus uploadStatus = UploadManager.getInstance().getUploadStatus(uploadId); - Map formsImportStatus = new HashMap<>(); + /** + * Uses an executor to clear the older items in the importStatus map periodically + */ + public void initUploadsCleaner() { + ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); + Runnable clearTask = () -> { + logger.info("Checking if there are any old imports that can be removed (map size: " + importStatus.size() + ")"); + for (CadsrImportStatus importStatus : importStatus.values()) { + boolean removeFromMap = true; + for (CadsrFileImportStatus fileStatus : importStatus.getFilesImportStatus().values()) { + // Checks if all the files that belong to the particular upload are older than the given threshold. If any + // of them is more recent than the threshold, we don't remove the uploadId from the map + if (fileStatus.getImportStatus() != ImportStatus.COMPLETE || + fileStatus.getStatusTime().plusMinutes(REMOVE_OLD_UPLOADS_THRESHOLD_MINUTES).isAfter(LocalTime.now())) { + removeFromMap = false; + break; + } + } + if (removeFromMap) { + logger.info("Removing old upload task from map: " + importStatus.getUploadId()); + removeImportStatus(importStatus.getUploadId()); + } + } + }; + executor.scheduleAtFixedRate(clearTask, REMOVE_OLD_UPLOADS_PERIOD_MINUTES, REMOVE_OLD_UPLOADS_PERIOD_MINUTES, TimeUnit.MINUTES); + } + public CadsrImportStatus getStatus(String uploadId) { + return importStatus.get(uploadId); + } + + /** + * Adds the upload information to the map and sets the import status to PENDING for all the forms + * @param uploadId + */ + public synchronized void initImportStatus(String uploadId, String destinationCedarFolderId) { + // Get the file names from the UploadManager + UploadStatus uploadStatus = UploadManager.getInstance().getUploadStatus(uploadId); + Map filesImportStatus = new HashMap<>(); for (FileUploadStatus fileUploadStatus : uploadStatus.getFilesUploadStatus().values()) { - String fileName = fileUploadStatus.getFileLocalPath().substring(fileUploadStatus.getFileLocalPath().lastIndexOf("/") + 1); - formsImportStatus.put(fileName, new CadsrFormImportStatus(ImportStatus.PENDING)); + String fileName = ImpexUtil.getFileNameFromFilePath(fileUploadStatus.getFileLocalPath()); + filesImportStatus.put(fileName, new CadsrFileImportStatus(fileName, ImportStatus.PENDING, LocalTime.now())); } + importStatus.put(uploadId, new CadsrImportStatus(uploadId, filesImportStatus, destinationCedarFolderId)); + } - importStatus.put(uploadId, new CadsrImportStatus(uploadId, formsImportStatus, destinationCedarFolderId)); + /** + * Set the import status for a particular file, associated to a given uploadId. This method can only be used to set + * the status to IN_PROGRESS or to COMPLETE. In order to initialize the status to PENDING, use initImportStatus. + * @param uploadId + * @param fileName + * @param status + */ + public synchronized void setStatus(String uploadId, String fileName, ImportStatus status) { + if (!importStatus.containsKey(uploadId)) { + throw new IllegalArgumentException("uploadId not found: " + uploadId); + } + if (status != ImportStatus.IN_PROGRESS && status != ImportStatus.COMPLETE) { + throw new IllegalArgumentException("Invalid import status: " + status); + } + importStatus.get(uploadId).getFilesImportStatus().put(fileName, new CadsrFileImportStatus(fileName, status, LocalTime.now())); } - public boolean exists(String uploadId) { - return importStatus.containsKey(uploadId); + private synchronized void removeImportStatus(String uploadId) { + importStatus.remove(uploadId); } - public CadsrImportStatus get(String uploadId) { - return importStatus.get(uploadId); + public boolean exists(String uploadId) { + return importStatus.containsKey(uploadId); } } diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrScheduledExecutor.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrScheduledExecutor.java new file mode 100644 index 0000000..4bb45de --- /dev/null +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrScheduledExecutor.java @@ -0,0 +1,28 @@ +package org.metadatacenter.impex.imp.cadsr; + +import org.metadatacenter.impex.upload.FlowUploadUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +/** + * This class implements an executor service that clears the map that stores the import status periodically. The goal + * is to remove from the map old import tasks that we don't need to keep there anymore. + */ +public class CadsrScheduledExecutor { + + final static Logger logger = LoggerFactory.getLogger(CadsrScheduledExecutor.class); + +// public static void initCleanImportMapExecutor() { +// ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); +// Runnable cleanTask = () -> { +// logger.info("Clearing importStatus map"); +// CadsrImportStatusManager.getInstance(). +// }; +// executor.scheduleAtFixedRate(cleanTask, 3, 2, TimeUnit.SECONDS); +// } +} + diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/util/ImpexUtil.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/util/ImpexUtil.java new file mode 100644 index 0000000..cf8e616 --- /dev/null +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/util/ImpexUtil.java @@ -0,0 +1,9 @@ +package org.metadatacenter.impex.util; + +public class ImpexUtil { + + public static String getFileNameFromFilePath(String filePath) { + return filePath.substring(filePath.lastIndexOf("/") + 1); + } + +} From 513c8eafc36f6c63568e35b7f155473a3ccf15a6 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Wed, 20 Jan 2021 22:45:02 -0800 Subject: [PATCH 19/36] Fix scheduled executor --- .../imp/cadsr/CadsrImportStatusManager.java | 48 ++++++++++++------- .../imp/cadsr/CadsrScheduledExecutor.java | 28 ----------- 2 files changed, 32 insertions(+), 44 deletions(-) delete mode 100644 cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrScheduledExecutor.java diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java index 4c2f73c..f8879b7 100644 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java @@ -8,7 +8,9 @@ import org.slf4j.LoggerFactory; import java.time.LocalTime; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; @@ -25,16 +27,19 @@ public enum ImportStatus { } // Imports older than this threshold will be removed from the map - private final long REMOVE_OLD_UPLOADS_THRESHOLD_MINUTES = 10; - // Frequency to check if there are any imports that can be removed from the map - private final long REMOVE_OLD_UPLOADS_PERIOD_MINUTES = 15; + private final long CLEAN_THRESHOLD_1_MINUTES = 10; // Main threshold, used to clean completed imports + private final long CLEAN_THRESHOLD_2_MINUTES = 60; // Much longer, to avoid keeping errored imports in the map + // Frequency used to check if there are any imports that can be removed from the map + private final long CLEAN_DELAY_MINUTES = 10; private static CadsrImportStatusManager singleInstance; - private Map importStatus = new HashMap<>(); // uploadId -> CadsrImportStatus + private Map importStatus; // uploadId -> CadsrImportStatus + private ScheduledExecutorService executor; // Single instance private CadsrImportStatusManager() { - initUploadsCleaner(); + importStatus = new HashMap<>(); + initUploadsCleanerExecutor(); } public static synchronized CadsrImportStatusManager getInstance() { @@ -47,28 +52,39 @@ public static synchronized CadsrImportStatusManager getInstance() { /** * Uses an executor to clear the older items in the importStatus map periodically */ - public void initUploadsCleaner() { - ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); - Runnable clearTask = () -> { + public void initUploadsCleanerExecutor() { + executor = Executors.newSingleThreadScheduledExecutor(); + Runnable cleanTask = () -> { logger.info("Checking if there are any old imports that can be removed (map size: " + importStatus.size() + ")"); + List uploadIdsToBeRemoved = new ArrayList<>(); for (CadsrImportStatus importStatus : importStatus.values()) { - boolean removeFromMap = true; + int countMeetsConditions = 0; for (CadsrFileImportStatus fileStatus : importStatus.getFilesImportStatus().values()) { // Checks if all the files that belong to the particular upload are older than the given threshold. If any // of them is more recent than the threshold, we don't remove the uploadId from the map - if (fileStatus.getImportStatus() != ImportStatus.COMPLETE || - fileStatus.getStatusTime().plusMinutes(REMOVE_OLD_UPLOADS_THRESHOLD_MINUTES).isAfter(LocalTime.now())) { - removeFromMap = false; + if ((fileStatus.getImportStatus() == ImportStatus.COMPLETE && + fileStatus.getStatusTime().plusMinutes(CLEAN_THRESHOLD_1_MINUTES).isBefore(LocalTime.now())) || + (fileStatus.getImportStatus() != ImportStatus.COMPLETE && + fileStatus.getStatusTime().plusMinutes(CLEAN_THRESHOLD_2_MINUTES).isBefore(LocalTime.now()))){ + countMeetsConditions++; + } + else { break; } } - if (removeFromMap) { - logger.info("Removing old upload task from map: " + importStatus.getUploadId()); - removeImportStatus(importStatus.getUploadId()); + // Remove from map if all the files are older than one of the thresholds + if (countMeetsConditions == importStatus.getFilesImportStatus().size()) { + uploadIdsToBeRemoved.add(importStatus.getUploadId()); + } + } + for (String uploadId : uploadIdsToBeRemoved) { + if (importStatus.containsKey(uploadId)) { + importStatus.remove(uploadId); + logger.info("UploadId removed: " + uploadId + ". Updated map size: " + importStatus.size()); } } }; - executor.scheduleAtFixedRate(clearTask, REMOVE_OLD_UPLOADS_PERIOD_MINUTES, REMOVE_OLD_UPLOADS_PERIOD_MINUTES, TimeUnit.MINUTES); + executor.scheduleWithFixedDelay(cleanTask, 0, CLEAN_DELAY_MINUTES, TimeUnit.MINUTES); } public CadsrImportStatus getStatus(String uploadId) { diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrScheduledExecutor.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrScheduledExecutor.java deleted file mode 100644 index 4bb45de..0000000 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrScheduledExecutor.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.metadatacenter.impex.imp.cadsr; - -import org.metadatacenter.impex.upload.FlowUploadUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -/** - * This class implements an executor service that clears the map that stores the import status periodically. The goal - * is to remove from the map old import tasks that we don't need to keep there anymore. - */ -public class CadsrScheduledExecutor { - - final static Logger logger = LoggerFactory.getLogger(CadsrScheduledExecutor.class); - -// public static void initCleanImportMapExecutor() { -// ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); -// Runnable cleanTask = () -> { -// logger.info("Clearing importStatus map"); -// CadsrImportStatusManager.getInstance(). -// }; -// executor.scheduleAtFixedRate(cleanTask, 3, 2, TimeUnit.SECONDS); -// } -} - From ad8116b1f75d6977bf1b2b3f1fef3492f282223a Mon Sep 17 00:00:00 2001 From: marcosmro Date: Tue, 2 Feb 2021 15:37:33 -0800 Subject: [PATCH 20/36] Add support for file-level reports --- .../impex/resources/ImpexServerResource.java | 40 +++++++++++-- .../imp/cadsr/CadsrFileImportStatus.java | 12 +++- .../imp/cadsr/CadsrImportStatusManager.java | 56 ++++++++++++++++++- 3 files changed, 99 insertions(+), 9 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index 0e5cd68..e83571e 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -128,20 +128,48 @@ public Response importCadsrForm() throws CedarException { } } + /* In production I may want to this method instead of the method below (it doesn't expose all uploads) */ +// @GET +// @Timed +// @Path("/import-cadsr-forms-status") +// public Response importStatus(@QueryParam("uploadId") @NotEmpty String uploadId) throws CedarException { +// +// CedarRequestContext c = buildRequestContext(); +// c.must(c.user()).be(LoggedIn); +// +// try { +// if (!CadsrImportStatusManager.getInstance().exists(uploadId)) { +// return CedarResponse.notFound().errorMessage("The specified uploadId cannot be found").id(uploadId).build(); +// } else { +// CadsrImportStatus status = CadsrImportStatusManager.getInstance().getStatus(uploadId); +// JsonNode output = JsonMapper.MAPPER.valueToTree(status); +// return Response.ok().entity(output).build(); +// } +// } catch (Exception e) { +// return CedarResponse.internalServerError().exception(e).build(); +// } +// } + @GET @Timed @Path("/import-cadsr-forms-status") - public Response importStatus(@QueryParam("uploadId") @NotEmpty String uploadId) throws CedarException { + public Response importStatus(@QueryParam("uploadId") String uploadId) throws CedarException { CedarRequestContext c = buildRequestContext(); c.must(c.user()).be(LoggedIn); try { - if (!CadsrImportStatusManager.getInstance().exists(uploadId)) { - return CedarResponse.notFound().errorMessage("The specified uploadId cannot be found").id(uploadId).build(); - } else { - CadsrImportStatus status = CadsrImportStatusManager.getInstance().getStatus(uploadId); - JsonNode output = JsonMapper.MAPPER.valueToTree(status); + if (uploadId != null) { + if (!CadsrImportStatusManager.getInstance().exists(uploadId)) { + return CedarResponse.notFound().errorMessage("The specified uploadId cannot be found").id(uploadId).build(); + } else { + CadsrImportStatus status = CadsrImportStatusManager.getInstance().getStatus(uploadId); + JsonNode output = JsonMapper.MAPPER.valueToTree(status); + return Response.ok().entity(output).build(); + } + } + else { + JsonNode output = JsonMapper.MAPPER.valueToTree(CadsrImportStatusManager.getInstance().getAllStatuses()); return Response.ok().entity(output).build(); } } catch (Exception e) { diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFileImportStatus.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFileImportStatus.java index 8da7483..4f144b1 100644 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFileImportStatus.java +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrFileImportStatus.java @@ -8,11 +8,13 @@ public class CadsrFileImportStatus { private String fileName; private CadsrImportStatusManager.ImportStatus importStatus; private LocalTime statusTime; + private String report; - public CadsrFileImportStatus(String fileName, CadsrImportStatusManager.ImportStatus importStatus, LocalTime statusTime) { + public CadsrFileImportStatus(String fileName, CadsrImportStatusManager.ImportStatus importStatus, LocalTime statusTime, String report) { this.fileName = fileName; this.importStatus = importStatus; this.statusTime = statusTime; + this.report = report; } public String getFileName() { @@ -38,4 +40,12 @@ public LocalTime getStatusTime() { public void setStatusTime(LocalTime statusTime) { this.statusTime = statusTime; } + + public String getReport() { + return report; + } + + public void setReport(String report) { + this.report = report; + } } diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java index f8879b7..7bcab24 100644 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java @@ -91,6 +91,10 @@ public CadsrImportStatus getStatus(String uploadId) { return importStatus.get(uploadId); } + public Map getAllStatuses() { + return importStatus; + } + /** * Adds the upload information to the map and sets the import status to PENDING for all the forms * @param uploadId @@ -101,7 +105,7 @@ public synchronized void initImportStatus(String uploadId, String destinationCed Map filesImportStatus = new HashMap<>(); for (FileUploadStatus fileUploadStatus : uploadStatus.getFilesUploadStatus().values()) { String fileName = ImpexUtil.getFileNameFromFilePath(fileUploadStatus.getFileLocalPath()); - filesImportStatus.put(fileName, new CadsrFileImportStatus(fileName, ImportStatus.PENDING, LocalTime.now())); + filesImportStatus.put(fileName, new CadsrFileImportStatus(fileName, ImportStatus.PENDING, LocalTime.now(), "")); } importStatus.put(uploadId, new CadsrImportStatus(uploadId, filesImportStatus, destinationCedarFolderId)); } @@ -120,7 +124,23 @@ public synchronized void setStatus(String uploadId, String fileName, ImportStatu if (status != ImportStatus.IN_PROGRESS && status != ImportStatus.COMPLETE) { throw new IllegalArgumentException("Invalid import status: " + status); } - importStatus.get(uploadId).getFilesImportStatus().put(fileName, new CadsrFileImportStatus(fileName, status, LocalTime.now())); + if (!importStatus.get(uploadId).getFilesImportStatus().containsKey(fileName)) { + throw new IllegalArgumentException("fileName not found: " + fileName); + } + + CadsrFileImportStatus fis = importStatus.get(uploadId).getFilesImportStatus().get(fileName); + fis.setImportStatus(status); + + Map fisMap = importStatus.get(uploadId).getFilesImportStatus(); + fisMap.put(fileName, fis); + + CadsrImportStatus is = importStatus.get(uploadId); + is.setFilesImportStatus(fisMap); + + importStatus.replace(uploadId, is); + + writeReportMessage(uploadId, fileName, "I have set the status to " + status); + writeReportMessage(uploadId, fileName, "and I'm writing an additional line just for fun"); } private synchronized void removeImportStatus(String uploadId) { @@ -131,4 +151,36 @@ public boolean exists(String uploadId) { return importStatus.containsKey(uploadId); } + /** + * Writes a new line to the report + */ + public void writeReportMessage(String uploadId, String fileName, String message) { + + if (importStatus.containsKey(uploadId)) { + + if (importStatus.get(uploadId).getFilesImportStatus().containsKey(fileName)) { + String currentReport = importStatus.get(uploadId).getFilesImportStatus().get(fileName).getReport(); + String lineSeparator = currentReport.length() > 0 ? System.getProperty("line.separator") : ""; + String newReport = currentReport + lineSeparator + message; + + CadsrFileImportStatus fis = importStatus.get(uploadId).getFilesImportStatus().get(fileName); + fis.setReport(newReport); + + Map fisMap = importStatus.get(uploadId).getFilesImportStatus(); + fisMap.replace(fileName, fis); + + CadsrImportStatus is = importStatus.get(uploadId); + is.setFilesImportStatus(fisMap); + + importStatus.replace(uploadId, is); + } + else { + throw new IllegalArgumentException("FileName not found: " + fileName); + } + } + else { + throw new IllegalArgumentException("UploadId not found: " + uploadId); + } + } + } From 8f6a43cf145122b84c008c496b6ff9089a8c5444 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Wed, 3 Feb 2021 15:05:20 -0800 Subject: [PATCH 21/36] Execute the import task asynchronously --- .../impex/resources/ImpexServerResource.java | 88 +++++++++++-------- .../imp/cadsr/CadsrImportStatusManager.java | 17 +++- 2 files changed, 66 insertions(+), 39 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index e83571e..631f828 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -48,6 +48,14 @@ public ImpexServerResource(CedarConfig cedarConfig) { super(cedarConfig); } + /** + * Used to upload and import caDSR forms into CEDAR. The import is executed asynchronously in an independent thread. + * The client doesn't need to wait for the import task to be completed but it's responsible for using the + * import-cadsr-forms-status endpoint to check the import status. + * + * @return + * @throws CedarException + */ @POST @Timed @Path("/import-cadsr-forms") @@ -57,26 +65,25 @@ public Response importCadsrForm() throws CedarException { CedarRequestContext c = buildRequestContext(); c.must(c.user()).be(LoggedIn); - // Check that this is a file upload request + // Check that it's a file upload request if (ServletFileUpload.isMultipartContent(request)) { try { String userId = c.getCedarUser().getId(); // Extract data from the request FlowData data = FlowUploadUtil.getFlowData(request); - // Every request contains a file chunk that we will save in the appropriate position of a local file - // TODO: read base folder name from constants file + // Every request contains a file chunk that we will save to the appropriate position of a local file String submissionLocalFolderPath = FlowUploadUtil .getUploadLocalFolderPath("impex-upload", userId, data.getUploadId()); - String filePath = FlowUploadUtil - .saveToLocalFile(data, userId, request.getContentLength(), submissionLocalFolderPath); - //logger.info("Saving file chunk to: " + filePath); + FlowUploadUtil.saveToLocalFile(data, userId, request.getContentLength(), submissionLocalFolderPath); // Update the submission upload status UploadManager.getInstance().updateStatus(data, submissionLocalFolderPath); // When the upload is complete, trigger the import process - if (UploadManager.getInstance().isUploadComplete(data.getUploadId())) { + if (UploadManager.getInstance().isUploadComplete(data.getUploadId()) + && !CadsrImportStatusManager.getInstance().exists(data.getUploadId())) { + logger.info("File(s) successfully uploaded to the Impex server: "); logger.info(" - Upload id: " + data.getUploadId()); logger.info(" - Local path: " + submissionLocalFolderPath); @@ -86,40 +93,52 @@ public Response importCadsrForm() throws CedarException { logger.info(" - " + fileName); } - String cedarFolderId = c.getCedarUser().getHomeFolderId(); - - // Set import status to 'PENDING' for all the files that are part of the upload - CadsrImportStatusManager.getInstance().initImportStatus(data.getUploadId(), cedarFolderId); - - // Import files into CEDAR - for (String formFilePath : UploadManager.getInstance().getUploadFilePaths(data.getUploadId())) { - // Set status to IN_PROGRESS - String fileName = ImpexUtil.getFileNameFromFilePath(formFilePath); - CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.IN_PROGRESS); - logger.info("Importing file: " + formFilePath); - // Translate for to CEDAR template - Form form = FormUtil.getForm(new FileInputStream(formFilePath)); - Map templateMap = FormUtil.getTemplateMapFromForm(form); - // Upload template to CEDAR - Constants.CedarServer cedarServer = CedarServerUtil.toCedarServerFromHostName(cedarConfig.getHost()); - String apiKey = c.getCedarUser().getFirstActiveApiKey(); - CedarServices.createTemplate(templateMap, cedarFolderId, cedarServer, apiKey); - // Set status to COMPLETE - CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.COMPLETE); - } - - // Remove the upload from the status map - UploadManager.getInstance().removeUploadStatus(data.getUploadId()); + // Import files into CEDAR asynchronously + new Thread(() -> { + try { + String cedarFolderId = c.getCedarUser().getHomeFolderId(); + // Set import status to 'PENDING' for all the files that are part of the upload + CadsrImportStatusManager.getInstance().initImportStatus(data.getUploadId(), cedarFolderId); + + for (String formFilePath : UploadManager.getInstance().getUploadFilePaths(data.getUploadId())) { + // Set status to IN_PROGRESS + String fileName = ImpexUtil.getFileNameFromFilePath(formFilePath); + CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, + ImportStatus.IN_PROGRESS); + logger.info("Importing file: " + formFilePath); + // Translate form to CEDAR template + Form form = FormUtil.getForm(new FileInputStream(formFilePath)); + Map templateMap = FormUtil.getTemplateMapFromForm(form); + // Upload template to CEDAR + Constants.CedarServer cedarServer = CedarServerUtil.toCedarServerFromHostName(cedarConfig.getHost()); + String apiKey = c.getCedarUser().getFirstActiveApiKey(); + CedarServices.createTemplate(templateMap, cedarFolderId, cedarServer, apiKey); + // Set status to COMPLETE + CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.COMPLETE); + } + + // Remove the upload from the status map + UploadManager.getInstance().removeUploadStatus(data.getUploadId()); + + // TODO: manage exceptions + } catch (UploadInstanceNotFoundException e) { + e.printStackTrace(); + } catch (JAXBException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + }).start(); } - } catch (IOException | FileUploadException /*SubmissionInstanceNotFoundException*/ e) { + } catch (FileUploadException e) { logger.error(e.getMessage(), e); return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (UploadInstanceNotFoundException e) { e.printStackTrace(); - } catch (JAXBException e) { + } catch (IOException e) { e.printStackTrace(); } return Response.ok().build(); @@ -167,8 +186,7 @@ public Response importStatus(@QueryParam("uploadId") String uploadId) throws Ced JsonNode output = JsonMapper.MAPPER.valueToTree(status); return Response.ok().entity(output).build(); } - } - else { + } else { JsonNode output = JsonMapper.MAPPER.valueToTree(CadsrImportStatusManager.getInstance().getAllStatuses()); return Response.ok().entity(output).build(); } diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java index 7bcab24..5e26078 100644 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java @@ -7,7 +7,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.time.LocalDateTime; import java.time.LocalTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -139,8 +141,6 @@ public synchronized void setStatus(String uploadId, String fileName, ImportStatu importStatus.replace(uploadId, is); - writeReportMessage(uploadId, fileName, "I have set the status to " + status); - writeReportMessage(uploadId, fileName, "and I'm writing an additional line just for fun"); } private synchronized void removeImportStatus(String uploadId) { @@ -155,14 +155,23 @@ public boolean exists(String uploadId) { * Writes a new line to the report */ public void writeReportMessage(String uploadId, String fileName, String message) { + writeReportMessage(uploadId, fileName, message, true); + } + + public void writeReportMessage(String uploadId, String fileName, String message, boolean includeDateTime) { if (importStatus.containsKey(uploadId)) { if (importStatus.get(uploadId).getFilesImportStatus().containsKey(fileName)) { + String dateTime = ""; + if (includeDateTime) { + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); + dateTime = "[" + dtf.format(LocalDateTime.now()) + "] "; + } String currentReport = importStatus.get(uploadId).getFilesImportStatus().get(fileName).getReport(); String lineSeparator = currentReport.length() > 0 ? System.getProperty("line.separator") : ""; - String newReport = currentReport + lineSeparator + message; - + String newReport = currentReport + lineSeparator + dateTime + message; + CadsrFileImportStatus fis = importStatus.get(uploadId).getFilesImportStatus().get(fileName); fis.setReport(newReport); From ad60a990a8e856fe82983c8184cfb900fa679e57 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Sun, 7 Feb 2021 16:52:55 -0800 Subject: [PATCH 22/36] Accept folderId as a parameter --- .../impex/resources/ImpexServerResource.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index 631f828..ef4e9e2 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -4,13 +4,11 @@ import com.fasterxml.jackson.databind.JsonNode; import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.servlet.ServletFileUpload; -import org.hibernate.validator.constraints.NotEmpty; import org.metadatacenter.cadsr.form.schema.Form; import org.metadatacenter.cadsr.ingestor.form.FormUtil; import org.metadatacenter.cadsr.ingestor.util.CedarServerUtil; import org.metadatacenter.cadsr.ingestor.util.CedarServices; import org.metadatacenter.cadsr.ingestor.util.Constants; -import org.metadatacenter.cadsr.ingestor.util.GeneralUtil; import org.metadatacenter.cedar.util.dw.CedarMicroserviceResource; import org.metadatacenter.config.CedarConfig; import org.metadatacenter.exception.CedarException; @@ -53,6 +51,8 @@ public ImpexServerResource(CedarConfig cedarConfig) { * The client doesn't need to wait for the import task to be completed but it's responsible for using the * import-cadsr-forms-status endpoint to check the import status. * + * If folder Id is not provided, the imported forms will be saved into the user's home folder + * * @return * @throws CedarException */ @@ -60,7 +60,7 @@ public ImpexServerResource(CedarConfig cedarConfig) { @Timed @Path("/import-cadsr-forms") @Consumes(MediaType.MULTIPART_FORM_DATA) - public Response importCadsrForm() throws CedarException { + public Response importCadsrForm(@QueryParam("folderId") String folderId) throws CedarException { CedarRequestContext c = buildRequestContext(); c.must(c.user()).be(LoggedIn); @@ -96,7 +96,7 @@ public Response importCadsrForm() throws CedarException { // Import files into CEDAR asynchronously new Thread(() -> { try { - String cedarFolderId = c.getCedarUser().getHomeFolderId(); + String cedarFolderId = folderId != null ? folderId : c.getCedarUser().getHomeFolderId(); // Set import status to 'PENDING' for all the files that are part of the upload CadsrImportStatusManager.getInstance().initImportStatus(data.getUploadId(), cedarFolderId); @@ -106,6 +106,7 @@ public Response importCadsrForm() throws CedarException { CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.IN_PROGRESS); logger.info("Importing file: " + formFilePath); + CadsrImportStatusManager.getInstance().writeReportMessage(data.uploadId, fileName, "*** Importing " + fileName + " ***"); // Translate form to CEDAR template Form form = FormUtil.getForm(new FileInputStream(formFilePath)); Map templateMap = FormUtil.getTemplateMapFromForm(form); From ed1f0ba14393f91db84e360924becda683050641 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Mon, 8 Feb 2021 16:21:13 -0800 Subject: [PATCH 23/36] Write report messages --- .../impex/resources/ImpexServerResource.java | 8 +++++--- .../imp/cadsr/CadsrImportStatusManager.java | 17 ++++++++++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index ef4e9e2..d9d845b 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -5,6 +5,8 @@ import org.apache.commons.fileupload.FileUploadException; import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.metadatacenter.cadsr.form.schema.Form; +import org.metadatacenter.cadsr.ingestor.form.FormParseResult; +import org.metadatacenter.cadsr.ingestor.form.FormParser; import org.metadatacenter.cadsr.ingestor.form.FormUtil; import org.metadatacenter.cadsr.ingestor.util.CedarServerUtil; import org.metadatacenter.cadsr.ingestor.util.CedarServices; @@ -106,14 +108,14 @@ public Response importCadsrForm(@QueryParam("folderId") String folderId) throws CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.IN_PROGRESS); logger.info("Importing file: " + formFilePath); - CadsrImportStatusManager.getInstance().writeReportMessage(data.uploadId, fileName, "*** Importing " + fileName + " ***"); // Translate form to CEDAR template Form form = FormUtil.getForm(new FileInputStream(formFilePath)); - Map templateMap = FormUtil.getTemplateMapFromForm(form); + FormParseResult parseResult = FormUtil.getTemplateMapFromForm(form); + CadsrImportStatusManager.getInstance().writeReportMessages(data.uploadId, fileName,parseResult.getReportMessages()); // Upload template to CEDAR Constants.CedarServer cedarServer = CedarServerUtil.toCedarServerFromHostName(cedarConfig.getHost()); String apiKey = c.getCedarUser().getFirstActiveApiKey(); - CedarServices.createTemplate(templateMap, cedarFolderId, cedarServer, apiKey); + CedarServices.createTemplate(parseResult.getTemplateMap(), cedarFolderId, cedarServer, apiKey); // Set status to COMPLETE CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.COMPLETE); } diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java index 5e26078..8c256f1 100644 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java @@ -151,11 +151,26 @@ public boolean exists(String uploadId) { return importStatus.containsKey(uploadId); } + /** + * Writes multiple lines to the report + * @param uploadId + * @param fileName + * @param messages + */ + public void writeReportMessages(String uploadId, String fileName, List messages) { + for (String message : messages) { + writeReportMessage(uploadId, fileName, message); + } + } + /** * Writes a new line to the report + * @param uploadId + * @param fileName + * @param message */ public void writeReportMessage(String uploadId, String fileName, String message) { - writeReportMessage(uploadId, fileName, message, true); + writeReportMessage(uploadId, fileName, message, false); } public void writeReportMessage(String uploadId, String fileName, String message, boolean includeDateTime) { From ff0f1a6c7aa2a0c48f28da1cf7c6f719d536375d Mon Sep 17 00:00:00 2001 From: marcosmro Date: Mon, 8 Feb 2021 19:16:06 -0800 Subject: [PATCH 24/36] Catch exceptions at the file level so that processing continues for the other files --- .../impex/resources/ImpexServerResource.java | 67 +++++++++++-------- .../imp/cadsr/CadsrImportStatusManager.java | 10 ++- 2 files changed, 42 insertions(+), 35 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index d9d845b..4e8fec7 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -32,7 +32,9 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.xml.bind.JAXBException; +import javax.xml.bind.UnmarshalException; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.IOException; import java.util.Map; @@ -52,7 +54,7 @@ public ImpexServerResource(CedarConfig cedarConfig) { * Used to upload and import caDSR forms into CEDAR. The import is executed asynchronously in an independent thread. * The client doesn't need to wait for the import task to be completed but it's responsible for using the * import-cadsr-forms-status endpoint to check the import status. - * + *

* If folder Id is not provided, the imported forms will be saved into the user's home folder * * @return @@ -97,52 +99,59 @@ public Response importCadsrForm(@QueryParam("folderId") String folderId) throws // Import files into CEDAR asynchronously new Thread(() -> { + String fileName = null; try { String cedarFolderId = folderId != null ? folderId : c.getCedarUser().getHomeFolderId(); // Set import status to 'PENDING' for all the files that are part of the upload CadsrImportStatusManager.getInstance().initImportStatus(data.getUploadId(), cedarFolderId); for (String formFilePath : UploadManager.getInstance().getUploadFilePaths(data.getUploadId())) { - // Set status to IN_PROGRESS - String fileName = ImpexUtil.getFileNameFromFilePath(formFilePath); - CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, - ImportStatus.IN_PROGRESS); - logger.info("Importing file: " + formFilePath); - // Translate form to CEDAR template - Form form = FormUtil.getForm(new FileInputStream(formFilePath)); - FormParseResult parseResult = FormUtil.getTemplateMapFromForm(form); - CadsrImportStatusManager.getInstance().writeReportMessages(data.uploadId, fileName,parseResult.getReportMessages()); - // Upload template to CEDAR - Constants.CedarServer cedarServer = CedarServerUtil.toCedarServerFromHostName(cedarConfig.getHost()); - String apiKey = c.getCedarUser().getFirstActiveApiKey(); - CedarServices.createTemplate(parseResult.getTemplateMap(), cedarFolderId, cedarServer, apiKey); - // Set status to COMPLETE - CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.COMPLETE); - } + try { + // Set status to IN_PROGRESS + fileName = ImpexUtil.getFileNameFromFilePath(formFilePath); + CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, + ImportStatus.IN_PROGRESS); + logger.info("Importing file: " + formFilePath); + // Translate form to CEDAR template + Form form = FormUtil.getForm(new FileInputStream(formFilePath)); + FormParseResult parseResult = FormUtil.getTemplateMapFromForm(form); + CadsrImportStatusManager.getInstance().writeReportMessages(data.uploadId, fileName, + parseResult.getReportMessages()); + // Upload template to CEDAR + Constants.CedarServer cedarServer = CedarServerUtil.toCedarServerFromHostName(cedarConfig.getHost()); + String apiKey = c.getCedarUser().getFirstActiveApiKey(); + CedarServices.createTemplate(parseResult.getTemplateMap(), cedarFolderId, cedarServer, apiKey); + // Set status to COMPLETE + CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.COMPLETE); + } catch (JAXBException | IOException e) { + logger.error(e.getMessage()); + CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.ERROR); + } + } // Remove the upload from the status map UploadManager.getInstance().removeUploadStatus(data.getUploadId()); - // TODO: manage exceptions } catch (UploadInstanceNotFoundException e) { - e.printStackTrace(); - } catch (JAXBException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); + logger.error(e.getMessage()); + CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.ERROR); } }).start(); } - } catch (FileUploadException e) { - logger.error(e.getMessage(), e); - return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build(); + return CedarResponse.internalServerError() + .errorMessage("Error uploading file") + .exception(e).build(); } catch (IllegalAccessException e) { - e.printStackTrace(); + return CedarResponse.internalServerError() + .exception(e).build(); } catch (UploadInstanceNotFoundException e) { - e.printStackTrace(); + return CedarResponse.internalServerError() + .errorMessage("Upload Id not found") + .exception(e).build(); } catch (IOException e) { - e.printStackTrace(); + return CedarResponse.internalServerError() + .exception(e).build(); } return Response.ok().build(); } else { diff --git a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java index 8c256f1..c3720d3 100644 --- a/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java +++ b/cedar-impex-server-core/src/main/java/org/metadatacenter/impex/imp/cadsr/CadsrImportStatusManager.java @@ -25,7 +25,8 @@ public class CadsrImportStatusManager { public enum ImportStatus { PENDING, IN_PROGRESS, - COMPLETE + COMPLETE, + ERROR } // Imports older than this threshold will be removed from the map @@ -64,9 +65,9 @@ public void initUploadsCleanerExecutor() { for (CadsrFileImportStatus fileStatus : importStatus.getFilesImportStatus().values()) { // Checks if all the files that belong to the particular upload are older than the given threshold. If any // of them is more recent than the threshold, we don't remove the uploadId from the map - if ((fileStatus.getImportStatus() == ImportStatus.COMPLETE && + if (((fileStatus.getImportStatus() == ImportStatus.COMPLETE || fileStatus.getImportStatus() == ImportStatus.ERROR) && fileStatus.getStatusTime().plusMinutes(CLEAN_THRESHOLD_1_MINUTES).isBefore(LocalTime.now())) || - (fileStatus.getImportStatus() != ImportStatus.COMPLETE && + ((fileStatus.getImportStatus() == ImportStatus.COMPLETE || fileStatus.getImportStatus() == ImportStatus.ERROR) && fileStatus.getStatusTime().plusMinutes(CLEAN_THRESHOLD_2_MINUTES).isBefore(LocalTime.now()))){ countMeetsConditions++; } @@ -123,9 +124,6 @@ public synchronized void setStatus(String uploadId, String fileName, ImportStatu if (!importStatus.containsKey(uploadId)) { throw new IllegalArgumentException("uploadId not found: " + uploadId); } - if (status != ImportStatus.IN_PROGRESS && status != ImportStatus.COMPLETE) { - throw new IllegalArgumentException("Invalid import status: " + status); - } if (!importStatus.get(uploadId).getFilesImportStatus().containsKey(fileName)) { throw new IllegalArgumentException("fileName not found: " + fileName); } From 749940e9a599ab6e86e2638d51c730f4b26cabd3 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Wed, 10 Feb 2021 11:31:26 -0800 Subject: [PATCH 25/36] Catch exception thrown when saving template to CEDAR --- .../impex/resources/ImpexServerResource.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index 4e8fec7..0df4564 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -115,7 +115,8 @@ public Response importCadsrForm(@QueryParam("folderId") String folderId) throws logger.info("Importing file: " + formFilePath); // Translate form to CEDAR template Form form = FormUtil.getForm(new FileInputStream(formFilePath)); - FormParseResult parseResult = FormUtil.getTemplateMapFromForm(form); + FormParseResult parseResult = FormUtil.getTemplateMapFromForm(form, data.getUploadId() + "_" + fileName); + logger.info(parseResult.getTemplateMap().toString()); CadsrImportStatusManager.getInstance().writeReportMessages(data.uploadId, fileName, parseResult.getReportMessages()); // Upload template to CEDAR @@ -124,7 +125,7 @@ public Response importCadsrForm(@QueryParam("folderId") String folderId) throws CedarServices.createTemplate(parseResult.getTemplateMap(), cedarFolderId, cedarServer, apiKey); // Set status to COMPLETE CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.COMPLETE); - } catch (JAXBException | IOException e) { + } catch (JAXBException | IOException | RuntimeException e) { logger.error(e.getMessage()); CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.ERROR); } @@ -149,7 +150,8 @@ public Response importCadsrForm(@QueryParam("folderId") String folderId) throws return CedarResponse.internalServerError() .errorMessage("Upload Id not found") .exception(e).build(); - } catch (IOException e) { + } + catch (IOException e) { return CedarResponse.internalServerError() .exception(e).build(); } From b2c4a770550248922f205b05fa62d7e90a30d126 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Wed, 10 Feb 2021 16:57:21 -0800 Subject: [PATCH 26/36] Better exception management --- .../impex/resources/ImpexServerResource.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index 0df4564..93603e8 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -6,7 +6,6 @@ import org.apache.commons.fileupload.servlet.ServletFileUpload; import org.metadatacenter.cadsr.form.schema.Form; import org.metadatacenter.cadsr.ingestor.form.FormParseResult; -import org.metadatacenter.cadsr.ingestor.form.FormParser; import org.metadatacenter.cadsr.ingestor.form.FormUtil; import org.metadatacenter.cadsr.ingestor.util.CedarServerUtil; import org.metadatacenter.cadsr.ingestor.util.CedarServices; @@ -27,16 +26,14 @@ import org.metadatacenter.util.json.JsonMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.xml.sax.SAXParseException; import javax.ws.rs.*; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.xml.bind.JAXBException; -import javax.xml.bind.UnmarshalException; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.IOException; -import java.util.Map; import static org.metadatacenter.rest.assertion.GenericAssertions.LoggedIn; @@ -115,8 +112,9 @@ public Response importCadsrForm(@QueryParam("folderId") String folderId) throws logger.info("Importing file: " + formFilePath); // Translate form to CEDAR template Form form = FormUtil.getForm(new FileInputStream(formFilePath)); - FormParseResult parseResult = FormUtil.getTemplateMapFromForm(form, data.getUploadId() + "_" + fileName); - logger.info(parseResult.getTemplateMap().toString()); + FormParseResult parseResult = FormUtil.getTemplateMapFromForm(form, + data.getUploadId() + "_" + fileName); + //logger.info(JsonMapper.MAPPER.writeValueAsString(parseResult.getTemplateMap())); CadsrImportStatusManager.getInstance().writeReportMessages(data.uploadId, fileName, parseResult.getReportMessages()); // Upload template to CEDAR @@ -125,7 +123,13 @@ public Response importCadsrForm(@QueryParam("folderId") String folderId) throws CedarServices.createTemplate(parseResult.getTemplateMap(), cedarFolderId, cedarServer, apiKey); // Set status to COMPLETE CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.COMPLETE); - } catch (JAXBException | IOException | RuntimeException e) { + } catch (JAXBException e) { + CadsrImportStatusManager.getInstance().writeReportMessage(data.uploadId, fileName, "Parsing error. " + + "Please check that the input file contains a valid XML caDSR form"); + logger.error("Error parsing input file"); + CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.ERROR); + } catch (IOException | RuntimeException e) { + CadsrImportStatusManager.getInstance().writeReportMessage(data.uploadId, fileName, e.getMessage()); logger.error(e.getMessage()); CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.ERROR); } @@ -135,7 +139,6 @@ public Response importCadsrForm(@QueryParam("folderId") String folderId) throws } catch (UploadInstanceNotFoundException e) { logger.error(e.getMessage()); - CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.ERROR); } }).start(); } @@ -150,8 +153,7 @@ public Response importCadsrForm(@QueryParam("folderId") String folderId) throws return CedarResponse.internalServerError() .errorMessage("Upload Id not found") .exception(e).build(); - } - catch (IOException e) { + } catch (IOException e) { return CedarResponse.internalServerError() .exception(e).build(); } From d0356c7d85b906b19d8631fd500fb3934826ea9e Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 12 Mar 2021 12:16:05 -0800 Subject: [PATCH 27/36] Enhance log message --- .../impex/resources/ImpexServerResource.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java index 93603e8..d8c5fac 100644 --- a/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java +++ b/cedar-impex-server-application/src/main/java/org/metadatacenter/impex/resources/ImpexServerResource.java @@ -129,16 +129,15 @@ public Response importCadsrForm(@QueryParam("folderId") String folderId) throws logger.error("Error parsing input file"); CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.ERROR); } catch (IOException | RuntimeException e) { - CadsrImportStatusManager.getInstance().writeReportMessage(data.uploadId, fileName, e.getMessage()); - logger.error(e.getMessage()); + CadsrImportStatusManager.getInstance().writeReportMessage(data.uploadId, fileName, "Error importing form"); + logger.error("Error importing form: " + e.getMessage()); CadsrImportStatusManager.getInstance().setStatus(data.getUploadId(), fileName, ImportStatus.ERROR); } } // Remove the upload from the status map UploadManager.getInstance().removeUploadStatus(data.getUploadId()); - } catch (UploadInstanceNotFoundException e) { - logger.error(e.getMessage()); + logger.error("Upload instance not found: " + e.getMessage()); } }).start(); } From 7988853b9bfa1602e193c2d0326ebe7bce6e78b0 Mon Sep 17 00:00:00 2001 From: Marcos Martinez Date: Fri, 12 Mar 2021 15:17:07 -0800 Subject: [PATCH 28/36] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0b58b13..65c70a5 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ +[![Build Status](https://travis-ci.com/metadatacenter/.svg?branch=master)](https://travis-ci.com/metadatacenter/) # cedar-impex-server Service to support import/export operations on CEDAR artifacts From bf1fb73a6ca2a3e42b6301960362ab7922c82b20 Mon Sep 17 00:00:00 2001 From: Marcos Martinez Date: Fri, 12 Mar 2021 15:17:54 -0800 Subject: [PATCH 29/36] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 65c70a5..a9d1578 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -[![Build Status](https://travis-ci.com/metadatacenter/.svg?branch=master)](https://travis-ci.com/metadatacenter/) +[![Build Status](https://travis-ci.com/metadatacenter/cedar-impex-server.svg?branch=master)](https://travis-ci.com/metadatacenter/cedar-impex-server) # cedar-impex-server Service to support import/export operations on CEDAR artifacts From 3f3294351cce0f733b3a8319a9a36e19e7fe783e Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 12 Mar 2021 15:33:16 -0800 Subject: [PATCH 30/36] Update Travis settings --- .travis.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b6ce0ff..9c0a127 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,4 @@ sudo: required -dist: trusty language: java jdk: - openjdk11 @@ -9,7 +8,7 @@ branches: - master notifications: slack: - secure: IRE99tIJ3brgytOp9FZw9fYoyHwZUb1hKDBHOP36CjBPG29XI7jtDZZZau16tA/GJ0H0pg+kCW1i17/VeedE+DaaVOk/U6ndWFbf+QZWXjKS8pzZfSbKmq13mhz5cvovSsCrr8nS/DNrZj9yP1moXtfpetZCAf8vS/VsDDFX6/kZnEwsNXz5liEKhNFJRZSaZ5u8kJAZnRycbnD5MqblhP0xAa4YvksP84+0tQNn1GmF/zGJEs3pd5Yi7BHLyRhraYPXfSkVWQYjklXwMjT9BDYtn6+Yj3nNWtFSy6Jv2Gp75lTqxXcDoe2ORPb7sfGifp1v4Txd8gi5QgaXOX9UableFR/muRyM4SADKMBiXiADtSqmiXuxqTVYO9NtCRSkpCoE607sptqOc93mgcHQbeWK/sthg0XPr/Gkg13d/sYcSWJ1cCuW5ntc7fb29SqIaCzpDcK4L3G5BSchbiEx14ucib8lvzWgip0W2GgYm+tN8qngCBPwE0RdnjiQXJruL8fFIpVFPUh+Ri7nIrVd6I/ZNmuPfKEhQU3lt6/Tgn/2JZGvNR8L4h1nKiID+27v6yw/Zg93oVXSoKTFbGtH2XePuvXNTpoNAtc4aqMkr6/JccGHwOXfRY4d3PQw84ZVfGysRXHXLfXiomTqLwuKSX3dZ7tpNkZn3Quu583dQss= + secure: H9IzhdrqF6O+SS4gy/U1jL9WW4kvGFKW/PbTWLd11zI79oz3j+bTnX9E+Dev8ZigCMdd7BTanepE8kPruKT642MKIIhV5EArLLpSFiOXIZ4jmAlD8EoJ5xOf1+Z6cIW1TpkZSYp8GnZjlbRjUIQQvc5lXRcoiD26dz6MbvfWtZTcu1o+n+QGXDRjsg/XDNddAB3GEXXCZc+JJLBsGB+cQ5Ae0ph/rIVbRKByNSg86qrIYVd0D9OnxRXbahR3v+k3xcAFVXT6nrL6Jbw1IY8ARECVOxoxBPVeIJEaFKHor5cd3doapQ8IJjkT1aKb0XTtDXsutjLJdiV0opdeNDvdC8AUxQ8fFxGYS464o5wON//LsaQqLhyfat1ULZ/8y7+QH239FDOFnM/MuLD91OyK9wDK/HsA7n772srJRSDUMoBQvihf68/dDdsSZlSnjYyDMPxiKWCreFMnKCjiBrYvTKiDLpsQgUjz3M9t5PCSqw8Y7agKIRkfVnN6UHn48HY835ZvFDkJI4+/F+HCa9hkGyVxepXN1mnm30NBLcL3FSg9/51WhYPEw3V6izrO0qX/4pRyQswFiqkzOnJf6dA2csMkmayYGh2qkeOINi3EP4bJdURSHTGCb14FEwGnGyiMYS0b82FowyqugvqgmSXPmPL2S7ReztIn9BHv13DawHU= install: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=false clean deploy --settings .m2/travis-settings.xml" script: "[ ${TRAVIS_PULL_REQUEST} = 'false' ] && mvn -DskipTests=true clean --settings @@ -36,5 +35,5 @@ env: - CEDAR_SUBMISSION_ADMIN_PORT=9110 - CEDAR_SUBMISSION_STOP_PORT=9210 - CEDAR_MESSAGING_HTTP_PORT=9012 - - secure: Sm9BezRRJZ+BFwMm37Vl6Ld2obr134zAA+L39Rd6wXHUUp94NXN4TdlcmCSNEuj38SBuyo7iqYQPCBK35OC8kwkaU0IBRyGjXhxshMVgNfdqcrNPEf6udDWtQR6Dct0a5fgJd5S7lE7s4quN7faaixKVDcfLtfbtvJBRk4LRFW4FrBVweT48ajAxaZ+AWV+YafTxGEv2FUYrFzAeFK/VWDV6kyt+c8q53CKBL5/FzK60GxD6Yz8CNFwVdCWZbMfjjkOiIKoFW8jLIbaBBm5UFuNJrABLekFk6GnN2QxWeJMxg+bvR9otNjMhrSTsZEUzjwU9lw4iWe9e/J7gzcbhqmOHgcvEshSyzgUs30Oc9IrUJ2UEEpjoDBsz9mcm2RS6CN/NY3lYTWIZbzJYIGcsKZYZTHTja/TpoJNBZdugDMOH+GkwYaO2MC5IFKQ+BFs8+rV0LLohXWW5GdyPTUDWOvSDryMdmqW6pGqYkXfjuOlYlbUJAo4w5NLDX3xFABOg4u6RthugPVsVB2reuJLEF4Ndal3+V4NvjYatkt8+IlQaNEbdosFkVzD18HMhhoswq+TFSSYBUi75xB19m+jWvGY1KctvRy6Fi1xfAUvukV6PA52/Ayte4Ht8sT/Tf85XndzzDBlSS6zUN6Yll0bAnKco63hdWYH/8ZcfQsfNQiI= - - secure: TTyMJ4gMTFuFutKpW+aKqAT1+XbruavxFwiV0J16an/zxkCkuHvTo2+vlQXuePJSYHAL5TrEuxzgHBjTCBidleS/gE7HkVD9HadUnR+bBDIttmg08aAXe66umYKPrDHXVvT2KtbLCGyPBk8hoCI/Cmt/th6nir0+5p/0dADwRxn0STIxQOiv2DXy/7LUuX3jr1RQj4sChuX0GyadZbbpvijvy7AJtHuH3KhifIsnQinw681Yaws9RbY3HMzgkwx0eJKMIz/I7KAm5MHb3rRPqh7eEwUuYenKRVmvPC5K7uYzC/HESfXiRe7N3GM53Te+xJvpZnZ5vSf7OaTBpkEwsxxTmobBNmUmUzByQ99q4hx3K5arCwk6wsvPCabTkVZGzrdtNjdcc5opWL7OEURZMDwPIfDnKRG2BU12HP/VC4DHZaJ6D8af7XeX67B0ReBiHy2eXirEpIHQG4GI/18PwarJORtH0IWvK1AtrBvNBUSSX6u3kVO41hourHa64tkwLG4FFodf3LQa75FUx5Yy94XwwmTzjUcCgywiMOorbT4GiA80gNgO74upB61k9dCcAOzFJ4XL1mKuMo27nzwluKkeNAUMwg/EPIoCDnQNLaxS0GOibjxqb2xbmBe7qJnkEeCl4iRCKIvv4B0sgbNNrdjIVuBebDCfu+v1d7QSNvU= + - secure: rspJZKDyluDeGrJykmqQDJwH7kBq+2fGAKQrmaGQUrCKg159C77HTRQIMz5b16KYt3QXHJLBDqR0JThjZr8jVEM8n6ef56XWmwOhTYl9gENLd08CcpRPlRlGPpNkUCPKE3sWoWQ5aIlhL1/CUAjWkZtcFGXPCM+IsccxM6p9HPs9IzEoqMLEcduGtEE0zuatFkOyYoAgVwCmH1mFmbzWTcnmYoC6FZuQ+5ZC4qhWh7HaqfAQ4uTblOQpf2kG5/wME7aYMe8zynMTNQQNf5+SbHHm2foVu5rOYVw06EX6KUC7HaSuxCwZyPMfQ2dVSUFLEmaBAoYW9aP6AJmNP9Wi6pGjbzaK7b2mOnHcIhXKrZet0CieFRgK7InY5p8ZpXT64+6axWCvmk50AoZp6qV2zwV+zlo04QXOYDqHPSk0sEhMzybpdBDh4s7YberciVKJyLdc4aEAmk1X2YHgJzfqMuRSQkoX8T2InlwZ9nkQdeKR7LzwXSZWLiMRVsyD6wtd+VO/56EPSyIFNflpx+NrydLLwlRWfonuxGb/i8qTe2GtX2LuDRK+YlA1oa03rztd8S23PYIDo4KRCz+SzZ/cv+MxZxXmTbpKLVA2WK3I6+ZQzXvhznEPDHVPyjwTjcZJ2JmaXUPVaJ+BPAFMYjT8E/Pe/v2LDJ3wVJ+Gnm3w70I= + - secure: TtFks38AsFSG6mitrCY0u0mnQ0wqtbNCdJHjXmhZz2BmwndxKgO7cKdwoWc//wfHpL1kABk5vHsoohwvzSxdQBkkbf4eb8mB/mpnplEM7YCziL4BSQXOw0eqHFLXj0nK3Ojeg0A87oOAQ1caix1iPiJQsWhjtNFV5EGkZ1xvwf9lsJmAomgtzzANwgbl5RNVXBynB4ZWm7AkjzeD0O8IC653z6Af29aTnoKYXhMvwTMPjVRP7mw563+MmrNlVVB2VstvUW9Z3jHVlN9aKyDa2goK/tTpY1qIdYaaHvN7qpFeKVn2YUkQkjd55NoVSV4QctNRf8mziiEcz/hFgBalmOxx+O+WK4JchQ1ks6VPYuASbIxfktrG1aqkWUDXMTEAew11unkvTgdeBrTNwNB1ZL8ow2RJcJvnfaJP5TEojMXweumCeokOFl5cMM/lkn9gef0cg/buKvekEtbsv3zs6EGWE1tbbMgRbus7Fgl2Qh9Iqc9JBxEnmk6/EkeMXpJoZuP27dkn6oLeyqakqhHLD0PS1CWLVC/IbXm+PgI+zl8v/fgrFpWzINdP6yiXh8c05Bw0ZKNi4T4PJ18yIN6O6ow+SC2Wag3HUUoIRz1NhQhU1uM2WkbB5fJ0/M9l+uQ5jX2wy7dj0ZH6kBcBVxIcJuvrs3LhFeWj2PsfmaVjqU0= From 898876423be783e673517412592b94f0a98ed68b Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 12 Mar 2021 15:48:53 -0800 Subject: [PATCH 31/36] Update Travis settings --- .travis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9c0a127..713a75e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,9 +31,9 @@ env: - CEDAR_MONGO_APP_USER_PASSWORD=password - CEDAR_REDIS_PERSISTENT_HOST=127.0.0.1 - CEDAR_REDIS_PERSISTENT_PORT=6379 - - CEDAR_SUBMISSION_HTTP_PORT=9010 - - CEDAR_SUBMISSION_ADMIN_PORT=9110 - - CEDAR_SUBMISSION_STOP_PORT=9210 + - CEDAR_IMPEX_ADMIN_PORT=9108 + - CEDAR_IMPEX_HTTP_PORT=9008 + - CEDAR_IMPEX_STOP_PORT=9208 - CEDAR_MESSAGING_HTTP_PORT=9012 - secure: rspJZKDyluDeGrJykmqQDJwH7kBq+2fGAKQrmaGQUrCKg159C77HTRQIMz5b16KYt3QXHJLBDqR0JThjZr8jVEM8n6ef56XWmwOhTYl9gENLd08CcpRPlRlGPpNkUCPKE3sWoWQ5aIlhL1/CUAjWkZtcFGXPCM+IsccxM6p9HPs9IzEoqMLEcduGtEE0zuatFkOyYoAgVwCmH1mFmbzWTcnmYoC6FZuQ+5ZC4qhWh7HaqfAQ4uTblOQpf2kG5/wME7aYMe8zynMTNQQNf5+SbHHm2foVu5rOYVw06EX6KUC7HaSuxCwZyPMfQ2dVSUFLEmaBAoYW9aP6AJmNP9Wi6pGjbzaK7b2mOnHcIhXKrZet0CieFRgK7InY5p8ZpXT64+6axWCvmk50AoZp6qV2zwV+zlo04QXOYDqHPSk0sEhMzybpdBDh4s7YberciVKJyLdc4aEAmk1X2YHgJzfqMuRSQkoX8T2InlwZ9nkQdeKR7LzwXSZWLiMRVsyD6wtd+VO/56EPSyIFNflpx+NrydLLwlRWfonuxGb/i8qTe2GtX2LuDRK+YlA1oa03rztd8S23PYIDo4KRCz+SzZ/cv+MxZxXmTbpKLVA2WK3I6+ZQzXvhznEPDHVPyjwTjcZJ2JmaXUPVaJ+BPAFMYjT8E/Pe/v2LDJ3wVJ+Gnm3w70I= - secure: TtFks38AsFSG6mitrCY0u0mnQ0wqtbNCdJHjXmhZz2BmwndxKgO7cKdwoWc//wfHpL1kABk5vHsoohwvzSxdQBkkbf4eb8mB/mpnplEM7YCziL4BSQXOw0eqHFLXj0nK3Ojeg0A87oOAQ1caix1iPiJQsWhjtNFV5EGkZ1xvwf9lsJmAomgtzzANwgbl5RNVXBynB4ZWm7AkjzeD0O8IC653z6Af29aTnoKYXhMvwTMPjVRP7mw563+MmrNlVVB2VstvUW9Z3jHVlN9aKyDa2goK/tTpY1qIdYaaHvN7qpFeKVn2YUkQkjd55NoVSV4QctNRf8mziiEcz/hFgBalmOxx+O+WK4JchQ1ks6VPYuASbIxfktrG1aqkWUDXMTEAew11unkvTgdeBrTNwNB1ZL8ow2RJcJvnfaJP5TEojMXweumCeokOFl5cMM/lkn9gef0cg/buKvekEtbsv3zs6EGWE1tbbMgRbus7Fgl2Qh9Iqc9JBxEnmk6/EkeMXpJoZuP27dkn6oLeyqakqhHLD0PS1CWLVC/IbXm+PgI+zl8v/fgrFpWzINdP6yiXh8c05Bw0ZKNi4T4PJ18yIN6O6ow+SC2Wag3HUUoIRz1NhQhU1uM2WkbB5fJ0/M9l+uQ5jX2wy7dj0ZH6kBcBVxIcJuvrs3LhFeWj2PsfmaVjqU0= From ea0a5b5731921c620e8a050f95e797463fabb01b Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 12 Mar 2021 16:22:09 -0800 Subject: [PATCH 32/36] Update Travis settings --- .travis.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 713a75e..389373f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,12 +17,6 @@ env: global: - CEDAR_HOST=metadatacenter.orgx - CEDAR_ADMIN_USER_API_KEY=1234 - - CEDAR_NCBI_SRA_FTP_HOST=ftpHost - - CEDAR_NCBI_SRA_FTP_USER=ftpUser - - CEDAR_NCBI_SRA_FTP_PASSWORD=ftpPassword - - CEDAR_NCBI_SRA_FTP_DIRECTORY=ftpDirectory - - CEDAR_IMMPORT_SUBMISSION_USER=submissionUser - - CEDAR_IMMPORT_SUBMISSION_PASSWORD=submissionPassword - CEDAR_NEO4J_HOST=127.0.0.1 - CEDAR_NEO4J_BOLT_PORT=7687 - CEDAR_NEO4J_USER_NAME=neo4j @@ -35,5 +29,5 @@ env: - CEDAR_IMPEX_HTTP_PORT=9008 - CEDAR_IMPEX_STOP_PORT=9208 - CEDAR_MESSAGING_HTTP_PORT=9012 - - secure: rspJZKDyluDeGrJykmqQDJwH7kBq+2fGAKQrmaGQUrCKg159C77HTRQIMz5b16KYt3QXHJLBDqR0JThjZr8jVEM8n6ef56XWmwOhTYl9gENLd08CcpRPlRlGPpNkUCPKE3sWoWQ5aIlhL1/CUAjWkZtcFGXPCM+IsccxM6p9HPs9IzEoqMLEcduGtEE0zuatFkOyYoAgVwCmH1mFmbzWTcnmYoC6FZuQ+5ZC4qhWh7HaqfAQ4uTblOQpf2kG5/wME7aYMe8zynMTNQQNf5+SbHHm2foVu5rOYVw06EX6KUC7HaSuxCwZyPMfQ2dVSUFLEmaBAoYW9aP6AJmNP9Wi6pGjbzaK7b2mOnHcIhXKrZet0CieFRgK7InY5p8ZpXT64+6axWCvmk50AoZp6qV2zwV+zlo04QXOYDqHPSk0sEhMzybpdBDh4s7YberciVKJyLdc4aEAmk1X2YHgJzfqMuRSQkoX8T2InlwZ9nkQdeKR7LzwXSZWLiMRVsyD6wtd+VO/56EPSyIFNflpx+NrydLLwlRWfonuxGb/i8qTe2GtX2LuDRK+YlA1oa03rztd8S23PYIDo4KRCz+SzZ/cv+MxZxXmTbpKLVA2WK3I6+ZQzXvhznEPDHVPyjwTjcZJ2JmaXUPVaJ+BPAFMYjT8E/Pe/v2LDJ3wVJ+Gnm3w70I= - - secure: TtFks38AsFSG6mitrCY0u0mnQ0wqtbNCdJHjXmhZz2BmwndxKgO7cKdwoWc//wfHpL1kABk5vHsoohwvzSxdQBkkbf4eb8mB/mpnplEM7YCziL4BSQXOw0eqHFLXj0nK3Ojeg0A87oOAQ1caix1iPiJQsWhjtNFV5EGkZ1xvwf9lsJmAomgtzzANwgbl5RNVXBynB4ZWm7AkjzeD0O8IC653z6Af29aTnoKYXhMvwTMPjVRP7mw563+MmrNlVVB2VstvUW9Z3jHVlN9aKyDa2goK/tTpY1qIdYaaHvN7qpFeKVn2YUkQkjd55NoVSV4QctNRf8mziiEcz/hFgBalmOxx+O+WK4JchQ1ks6VPYuASbIxfktrG1aqkWUDXMTEAew11unkvTgdeBrTNwNB1ZL8ow2RJcJvnfaJP5TEojMXweumCeokOFl5cMM/lkn9gef0cg/buKvekEtbsv3zs6EGWE1tbbMgRbus7Fgl2Qh9Iqc9JBxEnmk6/EkeMXpJoZuP27dkn6oLeyqakqhHLD0PS1CWLVC/IbXm+PgI+zl8v/fgrFpWzINdP6yiXh8c05Bw0ZKNi4T4PJ18yIN6O6ow+SC2Wag3HUUoIRz1NhQhU1uM2WkbB5fJ0/M9l+uQ5jX2wy7dj0ZH6kBcBVxIcJuvrs3LhFeWj2PsfmaVjqU0= + - secure: ym800/x4WbBWpkafu869O3ua6uR5DYHS1JOp4a3Wads6hvAbNn81YyU6gN9hj9xZ3zIVNjUDlGB+f4d40Khu9P/+ZwBit7GHKKMdvfZwnXYTvpHZ0SEV1pykLlqwfjIP94+By5ad4lt3DTRciySP8Vnu3qGrNpsfYAKWr3dw4rC2hagX/YU9OIO2Jt8rfi5qfbXFrDDiExeUqixhbBLICKu3yQAWVamsmXQf4pJsLHekTC65xdwmTMFE88p+qi5Wqs7utqg6tkaTH1rLyepFXVfvQdrqIxGSFU0cyQGvT/7H2OvrBnS/GrV/twSPXM2F4L2oSXeMQAr6eQjZmsTk6dqiUNzIbOWl8zozpOK9NoTxYtYgk9xpkSjLdicY68N3BhfLPSHU/FSAp7AdARjtOtN6k98MfRiHBPe1aMZiJpL6q7ihLExhscxTjqbvFr4bzy9jP7aqoJ57c4p/R9iCiEW4FT+o07+/RDG61NCYLL8CUy/VFUr07MaiTJR+QtI7YwxkCwjEtcgDMqBBBrc8EACIoMh8aN/9ZLkrYwRQNJuGp4xVO/ADun6SXesILnBiYjcEcxu7QOS3d+pgV+lA4xZwVOMdhJTZK4ZFp1wy1As4lzcyqbcXAVsvA+HPe23MYFRjRmJE8jma/QeN4y91v2meeCzKnFcRLpC66Wvfaaw= + - secure: uckHPikTTNCHU8Djf5mW5X/I1jkmXjfLS8qGrPLGeaZC6YUe18to2iJwBt2QNb47ToCBePzG86uP4L0nQFhbof9yi4WV++OsverVbpvKdPYru3HdCexomDFRxxvoOxgcaQjRkVkamyllqfNOMgo9/tpvuD//0y26H5vqCYYbopaR4KnF/f29JS56EbRWXQ7Tc8QbzH+8udm3M/lbusqw+cXqKrXd01eaXlpGB+OegDtt9TG5J7Dx7Nklv4aFWXAXD9n38fsKPG0o8umCmV+YiZNQpBxRCla2AP1/dGpaPUmQBqlIUyFHKvTyN5TnLFcQcw0wl4PdYWHeET/eEoKPPikOGuyZpIzOJyYJMx+nGMVvVcQheU30bpZL8RnNiHP4UGT5uvWgRXPNM7k1omBRsqR8eLAXdxhWiMyu8wKSh5n64BPwD0XYUjQYrxdlxXTyvAED1aQvdqT+JjDvi/y7sbj624tUZTVNMIYa9Bnuk1wSRUpMMik+cPxIHTOKnlOksO5rnccU9G0HfOkSIV6yB4tMpceObPuWKonjB2+sVoHRbED3SsL2FWdO5S5tlVwLmr0IZEgFuTUTA6y8kRvlrdGh9SKtem65rL7oIAa85LbsdXD5nDx8QxRV8X+nZXvOBdtWRzML7ItGtDrdk+LmyaOO6wqoY7iaHQynLh8LMFk= From d9f3bd7af110c3e153750d7ec59cef4f185ce965 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Fri, 12 Mar 2021 17:04:26 -0800 Subject: [PATCH 33/36] Add travis config --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 389373f..f3ff1bc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,6 +28,5 @@ env: - CEDAR_IMPEX_ADMIN_PORT=9108 - CEDAR_IMPEX_HTTP_PORT=9008 - CEDAR_IMPEX_STOP_PORT=9208 - - CEDAR_MESSAGING_HTTP_PORT=9012 - secure: ym800/x4WbBWpkafu869O3ua6uR5DYHS1JOp4a3Wads6hvAbNn81YyU6gN9hj9xZ3zIVNjUDlGB+f4d40Khu9P/+ZwBit7GHKKMdvfZwnXYTvpHZ0SEV1pykLlqwfjIP94+By5ad4lt3DTRciySP8Vnu3qGrNpsfYAKWr3dw4rC2hagX/YU9OIO2Jt8rfi5qfbXFrDDiExeUqixhbBLICKu3yQAWVamsmXQf4pJsLHekTC65xdwmTMFE88p+qi5Wqs7utqg6tkaTH1rLyepFXVfvQdrqIxGSFU0cyQGvT/7H2OvrBnS/GrV/twSPXM2F4L2oSXeMQAr6eQjZmsTk6dqiUNzIbOWl8zozpOK9NoTxYtYgk9xpkSjLdicY68N3BhfLPSHU/FSAp7AdARjtOtN6k98MfRiHBPe1aMZiJpL6q7ihLExhscxTjqbvFr4bzy9jP7aqoJ57c4p/R9iCiEW4FT+o07+/RDG61NCYLL8CUy/VFUr07MaiTJR+QtI7YwxkCwjEtcgDMqBBBrc8EACIoMh8aN/9ZLkrYwRQNJuGp4xVO/ADun6SXesILnBiYjcEcxu7QOS3d+pgV+lA4xZwVOMdhJTZK4ZFp1wy1As4lzcyqbcXAVsvA+HPe23MYFRjRmJE8jma/QeN4y91v2meeCzKnFcRLpC66Wvfaaw= - secure: uckHPikTTNCHU8Djf5mW5X/I1jkmXjfLS8qGrPLGeaZC6YUe18to2iJwBt2QNb47ToCBePzG86uP4L0nQFhbof9yi4WV++OsverVbpvKdPYru3HdCexomDFRxxvoOxgcaQjRkVkamyllqfNOMgo9/tpvuD//0y26H5vqCYYbopaR4KnF/f29JS56EbRWXQ7Tc8QbzH+8udm3M/lbusqw+cXqKrXd01eaXlpGB+OegDtt9TG5J7Dx7Nklv4aFWXAXD9n38fsKPG0o8umCmV+YiZNQpBxRCla2AP1/dGpaPUmQBqlIUyFHKvTyN5TnLFcQcw0wl4PdYWHeET/eEoKPPikOGuyZpIzOJyYJMx+nGMVvVcQheU30bpZL8RnNiHP4UGT5uvWgRXPNM7k1omBRsqR8eLAXdxhWiMyu8wKSh5n64BPwD0XYUjQYrxdlxXTyvAED1aQvdqT+JjDvi/y7sbj624tUZTVNMIYa9Bnuk1wSRUpMMik+cPxIHTOKnlOksO5rnccU9G0HfOkSIV6yB4tMpceObPuWKonjB2+sVoHRbED3SsL2FWdO5S5tlVwLmr0IZEgFuTUTA6y8kRvlrdGh9SKtem65rL7oIAa85LbsdXD5nDx8QxRV8X+nZXvOBdtWRzML7ItGtDrdk+LmyaOO6wqoY7iaHQynLh8LMFk= From 4d1b4519facf1f03c6a6bc7a91a6fcd70f6ae78c Mon Sep 17 00:00:00 2001 From: marcosmro Date: Tue, 16 Mar 2021 16:31:47 -0700 Subject: [PATCH 34/36] Updated parent POM and dependency versions to release version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1679eec..5e0e7b7 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-parent - 2.5.42-SNAPSHOT + 2.5.42 org.metadatacenter From 2387f17cbcdb3d24fb931830a34ee02cc32e641a Mon Sep 17 00:00:00 2001 From: marcosmro Date: Tue, 16 Mar 2021 16:32:05 -0700 Subject: [PATCH 35/36] Updated CEDAR component dependencies to point to current development snapshots --- cedar-impex-server-application/pom.xml | 2 +- cedar-impex-server-core/pom.xml | 2 +- pom.xml | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cedar-impex-server-application/pom.xml b/cedar-impex-server-application/pom.xml index de19a46..a40a0fa 100644 --- a/cedar-impex-server-application/pom.xml +++ b/cedar-impex-server-application/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.42-SNAPSHOT + 2.5.42 org.metadatacenter diff --git a/cedar-impex-server-core/pom.xml b/cedar-impex-server-core/pom.xml index 83bdc54..33b2d8c 100644 --- a/cedar-impex-server-core/pom.xml +++ b/cedar-impex-server-core/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.42-SNAPSHOT + 2.5.42 org.metadatacenter diff --git a/pom.xml b/pom.xml index 5e0e7b7..5f8081e 100644 --- a/pom.xml +++ b/pom.xml @@ -5,12 +5,12 @@ org.metadatacenter cedar-parent - 2.5.42 + 2.5.43-SNAPSHOT org.metadatacenter cedar-impex-server - 2.5.42-SNAPSHOT + 2.5.42 pom CEDAR ImpEx Server @@ -19,6 +19,7 @@ scm:git:https://github.com/metadatacenter/cedar-impex-server.git scm:git:https://github.com/metadatacenter/cedar-impex-server.git https://github.com/metadatacenter/cedar-impex-server + release-2.5.42 From 1368331328cd809541f19f27c6debdd982303310 Mon Sep 17 00:00:00 2001 From: marcosmro Date: Tue, 16 Mar 2021 17:58:50 -0700 Subject: [PATCH 36/36] modified: cedar-impex-server-application/pom.xml modified: cedar-impex-server-core/pom.xml modified: pom.xml --- cedar-impex-server-application/pom.xml | 2 +- cedar-impex-server-core/pom.xml | 2 +- pom.xml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cedar-impex-server-application/pom.xml b/cedar-impex-server-application/pom.xml index a40a0fa..0ad2f76 100644 --- a/cedar-impex-server-application/pom.xml +++ b/cedar-impex-server-application/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.42 + 2.5.43-SNAPSHOT org.metadatacenter diff --git a/cedar-impex-server-core/pom.xml b/cedar-impex-server-core/pom.xml index 33b2d8c..5b8261a 100644 --- a/cedar-impex-server-core/pom.xml +++ b/cedar-impex-server-core/pom.xml @@ -5,7 +5,7 @@ org.metadatacenter cedar-impex-server - 2.5.42 + 2.5.43-SNAPSHOT org.metadatacenter diff --git a/pom.xml b/pom.xml index 5f8081e..8bfed0f 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.metadatacenter cedar-impex-server - 2.5.42 + 2.5.43-SNAPSHOT pom CEDAR ImpEx Server @@ -19,7 +19,7 @@ scm:git:https://github.com/metadatacenter/cedar-impex-server.git scm:git:https://github.com/metadatacenter/cedar-impex-server.git https://github.com/metadatacenter/cedar-impex-server - release-2.5.42 + HEAD