Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add atlas-web-bulk for the skeleton project for bulk #242

Open
1 of 15 tasks
ke4 opened this issue Jan 15, 2025 · 2 comments
Open
1 of 15 tasks

Add atlas-web-bulk for the skeleton project for bulk #242

ke4 opened this issue Jan 15, 2025 · 2 comments
Assignees
Labels
high priority Improvement Improve/refactor existing code technical debt Technical debt

Comments

@ke4
Copy link
Contributor

ke4 commented Jan 15, 2025

In this task I have to migrate our existing code for Bulk Expression Atlas to our new SpringBoot based project and fix all the broken code that might happen because of Java and Spring Framework version changes.

Steps:

  • Copy the necessary source code to our new SpringBoot project
  • Fix the dependency issues
  • Fix the broken code that might be caused by various version changes of dependencies
  • Need to check the correct use of annotations:
  • javax package ---> jakarta package, because of Java EE -> Jakarta EE
  • Execute all the test of the app
  • As we are using Tiles in our current app, it looks like we need an even bigger refactor, unfortunately.
    We have to change the view technology and drop JSP and Tiles and replace them with a current view technology, like: ThymeLeaf.
    • uk.ac.ebi.atlas.configuration.WebConfig
    • webapp/WEB-INF ~ 36 files (JSPs and XMLs)
    • webapp/resources/html ???
  • Copy the relevant source for our docker env creation and execution
  • Copy the shell scipts to be able to execute tests and debug the app
  • check why HttpOnlyCookieConfigurator is never used according to IntelliJ.

Consider to remove the org.jetbrains:annotations library as a dependency if we are only using the https://github.com/NotNull annotation

At the end of this task we should be able to execute successfully all the tests based on this library.

@ke4
Copy link
Contributor Author

ke4 commented Jan 21, 2025

Need to check later why HttpOnlyCookieConfigurator is never used according to IntelliJ.

@ke4
Copy link
Contributor Author

ke4 commented Jan 21, 2025

Tiles framework is not supported anymore with the latest Spring Framework.
Spring dropped Tiles support from version 6.0: https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-6.0-Release-Notes#web-applications

From documentation (release notes):
Several outdated Servlet-based integrations have been dropped: e.g. Apache Commons FileUpload (org.springframework.web.multipart.commons.CommonsMultipartResolver), and Apache Tiles as well as FreeMarker JSP support in the corresponding org.springframework.web.servlet.view subpackages. We recommend org.springframework.web.multipart.support.StandardServletMultipartResolver for multipart file uploads and regular FreeMarker template views if needed, and a general focus on REST-oriented web architectures.

As we are using Tiles in our current app, it looks like we need an even bigger refactor, unfortunately.
We have to change the view technology and drop JSP and Tiles and replace them with a current view technology, like: ThymeLeaf.

Effected code:

  • uk.ac.ebi.atlas.configuration.WebConfig
  • webapp/WEB-INF ~ 36 files (JSPs and XMLs)
  • webapp/resources/html ???

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
high priority Improvement Improve/refactor existing code technical debt Technical debt
Projects
None yet
Development

No branches or pull requests

1 participant