-
Notifications
You must be signed in to change notification settings - Fork 20
✨ Upgrade to latest JDTLS #168
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
✨ Upgrade to latest JDTLS #168
Conversation
WalkthroughDocker image configurations updated with JDTLS version bumps (1.51.0 in production, 1.50.0 in test), Java runtime upgraded from 17 to 21 in the minimal image, and explicit Maven installation added with M2_HOME configuration. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 23
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
Dockerfile (1)
142-160: Kill JDT.LS if dial fails.If
jsonrpc2.Dialerrors, the child process keeps running and the pipes stay open because we return without stoppingc.cmd. Please terminatec.cmd(and close the pipes) on that error path to avoid orphaned servers during retries.
🧹 Nitpick comments (23)
java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/resources/import.sql (1)
1-5: Add a trailing newline to the file.SQL files should end with a newline character for consistency with common practices and many linters.
Apply this change:
INSERT INTO customers(id, username, name, surname, address, zipcode, city, country) VALUES (5, 'i_rule_scabb', 'Largo', 'LaGrande', 'Swamp Rot Inn', 'SC-002', 'Woodtick', 'Scabb Island'); +java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/inheritance/CustomException.java (1)
1-21: LGTM! Clean exception implementation for testing.The implementation is correct and follows standard Java exception patterns. The class appropriately extends
Exception, includesserialVersionUIDfor serialization compatibility, and provides the most common constructors.For completeness, consider adding the fourth common exception constructor:
public CustomException(String message, Throwable cause) { super(message, cause); } + + public CustomException(Throwable cause) { + super(cause); + } }This would provide full coverage of standard exception construction patterns, which could be beneficial for comprehensive inheritance testing scenarios.
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/ServletExample.java (1)
16-21: Consider adding ServletException and character encoding.While throwing only IOException is legal, servlet methods conventionally declare both ServletException and IOException. Additionally, setting the character encoding helps avoid encoding issues.
Apply this diff to add ServletException and character encoding:
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) - throws IOException { + throws IOException, jakarta.servlet.ServletException { + response.setCharacterEncoding("UTF-8"); response.setContentType("text/html"); response.getWriter().println("<h1>Hello World</h1>"); }java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/persistence/PureJpaService.java (1)
3-5: Consider Jakarta EE namespace for modern JPA versions.The imports use the legacy
javax.persistencenamespace (JPA 2.x). Modern applications (Jakarta EE 9+) usejakarta.persistence(JPA 3.0+).If this test project is meant to validate analyzer behavior with legacy JPA applications, the current imports are appropriate. However, consider adding a corresponding test class using
jakarta.persistenceto ensure the analyzer handles both the legacy and modern namespaces correctly.java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/service/ICustomerService.java (1)
10-10: Add missing space for consistency.Missing space between
Page<Customer>andfindAll. For consistency with line 8, add a space after the closing angle bracket.Apply this diff:
- public Page<Customer>findAll(Pageable pageable); + public Page<Customer> findAll(Pageable pageable);java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/controller/CustomerController.java (3)
20-21: Prefer constructor injection over field injection.Field injection makes testing harder and prevents making dependencies final. Constructor injection is the recommended approach for Spring beans.
Apply this diff to use constructor injection:
- @Autowired - private CustomerService customerService; + private final CustomerService customerService; + + @Autowired + public CustomerController(CustomerService customerService) { + this.customerService = customerService; + }
23-23: Make loggerstatic final.Logger fields should be declared as
static finalfor consistency with Java conventions.Apply this diff:
- private static Logger logger = Logger.getLogger( CustomerController.class.getName() ); + private static final Logger logger = Logger.getLogger(CustomerController.class.getName());
35-38: Use@GetMappingfor explicit HTTP method declaration.While
@RequestMappingworks, using@GetMappingmakes the HTTP method explicit and improves code readability.Apply this diff:
- @RequestMapping + @GetMapping public Page<Customer> findAll(Pageable pageable){ return customerService.findAll(pageable); }java-analyzer-bundle.test/src/main/java/io/konveyor/tackle/core/internal/RuleEntryParamsTest.java (1)
156-173: Consider documenting location value meanings.The test validates location values 0-14, but there's no documentation explaining what these numbers represent (e.g., location types or constants). Adding a brief comment would improve maintainability.
Example:
@Test public void testAllLocations() { - // Test all valid location types + // Test all valid location types (0-14 correspond to specific location constants) + // e.g., PACKAGE=0, TYPE=1, METHOD=2, etc. int[] locations = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/OrderManagementAppInitializer.java (1)
18-27: Inconsistent indentation.The indentation starting from line 18 is inconsistent with the rest of the method. Lines 18, 20, 21, 23-24, 26-27 appear to use different spacing than line 17.
Apply consistent indentation (assuming tabs or consistent spaces):
- AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); - context.setConfigLocation("io.konveyor.demo.ordermanagement.config"); - - context.scan("io.konveyor.demo.ordermanagement"); - container.addListener(new ContextLoaderListener(context)); - - ServletRegistration.Dynamic dispatcher = container - .addServlet("dispatcher", new DispatcherServlet(context)); - - dispatcher.setLoadOnStartup(1); - dispatcher.addMapping("/"); + AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext(); + context.setConfigLocation("io.konveyor.demo.ordermanagement.config"); + + context.scan("io.konveyor.demo.ordermanagement"); + container.addListener(new ContextLoaderListener(context)); + + ServletRegistration.Dynamic dispatcher = container + .addServlet("dispatcher", new DispatcherServlet(context)); + + dispatcher.setLoadOnStartup(1); + dispatcher.addMapping("/");java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/PackageDeclarationSymbolProvider.java (1)
72-74: Consider removing printStackTrace() call.Line 74 calls
printStackTrace()which can produce verbose output in logs. Since the error is already logged vialogInfo()on line 73, the stack trace printing is redundant and can clutter logs.Consider removing the
printStackTrace()call or making it conditional based on a debug flag:} catch (Exception e) { logInfo("Error processing package declaration: " + e.toString()); - e.printStackTrace(); }java-analyzer-bundle.test/src/main/java/io/konveyor/tackle/core/internal/SampleDelegateCommandHandlerTest.java (1)
34-249: LGTM! Good location type coverage, consider adding result validation.The expanded test suite provides excellent coverage of various location types (method calls, constructors, annotations, inheritance, imports, packages, fields, declarations) and analysis modes. The tests successfully verify that the command handler executes without errors for each scenario.
For enhanced validation, consider adding assertions on result content in future iterations, such as:
- Verifying expected symbol counts for known test projects
- Checking that returned symbols have expected names or kinds
- Validating that location information is properly populated
This would strengthen the test suite by verifying correctness beyond non-crashing behavior.
java-analyzer-bundle.test/src/main/java/io/konveyor/tackle/core/internal/query/AnnotationQueryTest.java (2)
79-177: Consider using constants for location values.The location values (4, 10, etc.) are used throughout the tests as magic numbers. While comments clarify their meaning, defining them as constants would improve readability and maintainability.
Consider adding constants at the class level:
+ private static final int ANNOTATION_LOCATION = 4; + private static final int TYPE_LOCATION = 10; + @Test public void testFromMapOnAnnotationLocation() { Map<String, Object> annotationQueryMap = new HashMap<>(); annotationQueryMap.put("pattern", "javax.ejb.Stateless"); annotationQueryMap.put("elements", new ArrayList<>()); - // Location 4 is annotation location - AnnotationQuery query = AnnotationQuery.fromMap("fallbackQuery", annotationQueryMap, 4); + AnnotationQuery query = AnnotationQuery.fromMap("fallbackQuery", annotationQueryMap, ANNOTATION_LOCATION);
212-231: Consider adding null-safety and edge-case test coverage.The location iteration test is comprehensive, but consider adding tests for additional edge cases that aren't currently covered:
- Null pattern (not empty, but null) in
fromMap- Null input to
matchesAnnotation- Malformed elements in the elements list (e.g., maps missing "name" or "value" keys)
Example null-safety tests:
@Test public void testMatchesAnnotationNullInput() { AnnotationQuery query = new AnnotationQuery("test.Type", new HashMap<>(), false); // Document expected behavior: should it throw NPE or return false? assertFalse(query.matchesAnnotation(null)); } @Test public void testFromMapNullPattern() { Map<String, Object> annotationQueryMap = new HashMap<>(); annotationQueryMap.put("pattern", null); annotationQueryMap.put("elements", new ArrayList<>()); AnnotationQuery query = AnnotationQuery.fromMap("fallbackQuery", annotationQueryMap, 10); // Verify behavior with null pattern assertNotNull(query); assertEquals("fallbackQuery", query.getType()); }java-analyzer-bundle.test/projects/customers-tomcat-legacy/Dockerfile (1)
4-5: Consider removing commented-out base image references.The commented lines 4 and 20 show the old Java 8 base images. Since this is a test project and the upgrade to Java 11 is intentional, these comments could be removed for cleaner code.
Apply this diff to remove the commented lines:
-# FROM maven:3.6-jdk-8-slim as build FROM maven:3.8-openjdk-11 as buildAnd similarly for line 20:
-# FROM tomcat:9-jdk8-openjdk-slim FROM tomcat:9-jdk11-openjdk-slimDockerfile.test (3)
3-6: Consider adding checksum verification for downloaded artifacts.Downloading external artifacts without checksum verification can introduce security risks if the source is compromised or serves unexpected content. While this is a test image, adding SHA256 verification would improve security posture.
Example approach:
-RUN curl -s -o jdtls.tar.gz https://download.eclipse.org/jdtls/milestones/1.50.0/jdt-language-server-1.50.0-202509041425.tar.gz &&\ +RUN curl -s -o jdtls.tar.gz https://download.eclipse.org/jdtls/milestones/1.50.0/jdt-language-server-1.50.0-202509041425.tar.gz &&\ + echo "EXPECTED_SHA256 jdtls.tar.gz" | sha256sum -c - &&\ tar -xvf jdtls.tar.gz --no-same-owner &&\
24-25: Track the TODO for periodic Maven index updates.The TODO indicates a need for a process to update the Maven index periodically. Consider creating a tracking issue for this maintenance task.
Do you want me to open a new issue to track the periodic update of the Maven search index?
49-49: Consider pinning the Go version for reproducible builds.Installing
golangwithout a version specifier may lead to different Go versions across builds as the UBI9 repository is updated. For more reproducible test environments, consider specifying a version or using a Go-specific base image stage.Example approach:
-RUN microdnf install -y golang +RUN microdnf install -y golang-1.23Or verify the available version matches your requirements in go.mod (go 1.23.9).
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/inheritance/BaseService.java (1)
35-38: Consider null-safety in compareTo for robustness.The
compareToimplementation assumes boththis.serviceNameandother.serviceNameare non-null. While the constructor ensures initial non-null values, subclasses have protected access and could setserviceNameto null. For defensive programming, consider adding null checks.Example:
@Override public int compareTo(BaseService other) { + if (this.serviceName == null && other.serviceName == null) return 0; + if (this.serviceName == null) return -1; + if (other.serviceName == null) return 1; return this.serviceName.compareTo(other.serviceName); }java-analyzer-bundle.test/projects/customers-tomcat-legacy/Makefile (2)
16-20: Use-fflag instead ofecho Yfor non-interactive pruning.The current approach using
echo Y |is fragile and non-standard. Docker'simage prunecommand supports the-f(force) flag for non-interactive execution.Apply this diff:
.PHONY: clean clean: remove $(info Removing all dangling build cache) - echo Y | docker image prune + docker image prune -f
32-36: Consider adding error handling for missing images.The
docker rmicommands will fail if the specified images don't exist, which may be unexpected during cleanup. Consider ignoring errors for more robust cleanup.Example approach:
.PHONY: remove remove: ## Removes all built images $(info Removing all built images...) - docker rmi $(REMOTE_IMAGE_NAME) - docker rmi $(LOCAL_IMAGE_NAME) + docker rmi $(REMOTE_IMAGE_NAME) || true + docker rmi $(LOCAL_IMAGE_NAME) || true.github/workflows/integration-tests.yml (1)
63-65: Consider quoting the command substitution.While generally safe in GitHub Actions, the unquoted
$(pwd)could theoretically cause word splitting. Quoting is a shell best practice.Apply this diff:
run: | podman run --rm \ - -v $(pwd)/java-analyzer-bundle.test:/tests:Z \ + -v "$(pwd)/java-analyzer-bundle.test:/tests:Z" \ -e WORKSPACE_DIR=/tests/projects \java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/SampleApplication.java (1)
66-71: Consider try-with-resources for FileWriter.Switching to a try-with-resources block ensures
FileWritercloses even ifwritethrows, keeping the sample leak-free.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
java-analyzer-bundle.test/integration/go.sumis excluded by!**/*.sum
📒 Files selected for processing (70)
.github/workflows/integration-tests.yml(1 hunks).gitignore(1 hunks)Dockerfile(4 hunks)Dockerfile.test(1 hunks)Makefile(1 hunks)java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/SampleDelegateCommandHandler.java(6 hunks)java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/SymbolInformationTypeRequestor.java(2 hunks)java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/ConstructorCallSymbolProvider.java(3 hunks)java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/CustomASTVisitor.java(7 hunks)java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/EnumConstantSymbolProvider.java(1 hunks)java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/PackageDeclarationSymbolProvider.java(1 hunks)java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/ReturnTypeSymbolProvider.java(2 hunks)java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/SymbolProviderResolver.java(1 hunks)java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/VariableDeclarationSymbolProvider.java(1 hunks)java-analyzer-bundle.test/README.md(1 hunks)java-analyzer-bundle.test/docs/README.md(1 hunks)java-analyzer-bundle.test/docs/integration-tests.md(1 hunks)java-analyzer-bundle.test/docs/query-reference.md(1 hunks)java-analyzer-bundle.test/docs/quick-reference.md(1 hunks)java-analyzer-bundle.test/docs/test-projects.md(1 hunks)java-analyzer-bundle.test/integration/client/jdtls_client.go(1 hunks)java-analyzer-bundle.test/integration/go.mod(1 hunks)java-analyzer-bundle.test/integration/integration_test.go(1 hunks)java-analyzer-bundle.test/integration/run_local.sh(1 hunks)java-analyzer-bundle.test/integration/test_helpers.go(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/.gitignore(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/Dockerfile(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/Makefile(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/pom.xml(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/OrderManagementAppInitializer.java(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/config/PersistenceConfig.java(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/config/WebConfig.java(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/controller/CustomerController.java(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/exception/ResourceNotFoundException.java(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/exception/handler/ExceptionHandlingController.java(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/model/Customer.java(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/repository/CustomerRepository.java(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/service/CustomerService.java(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/service/ICustomerService.java(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/resources/import.sql(1 hunks)java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/resources/persistence.properties(1 hunks)java-analyzer-bundle.test/projects/test-project/.classpath(1 hunks)java-analyzer-bundle.test/projects/test-project/.project(1 hunks)java-analyzer-bundle.test/projects/test-project/.settings/org.eclipse.core.resources.prefs(1 hunks)java-analyzer-bundle.test/projects/test-project/.settings/org.eclipse.jdt.apt.core.prefs(1 hunks)java-analyzer-bundle.test/projects/test-project/.settings/org.eclipse.jdt.core.prefs(1 hunks)java-analyzer-bundle.test/projects/test-project/.settings/org.eclipse.m2e.core.prefs(1 hunks)java-analyzer-bundle.test/projects/test-project/pom.xml(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/Calculator.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/EnumExample.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/SampleApplication.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/ServletExample.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/annotations/CustomAnnotation.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/annotations/DeprecatedApi.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/config/DataSourceConfig.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/config/MySQLDataSourceConfig.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/entity/Product.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/inheritance/BaseService.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/inheritance/CustomException.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/inheritance/DataService.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/jms/MessageProcessor.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/jms/TopicMessageProcessor.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/persistence/AnotherMixedService.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/persistence/JdbcOnlyService.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/persistence/PureJpaService.java(1 hunks)java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/persistence/ServiceWithEntityManager.java(1 hunks)java-analyzer-bundle.test/src/main/java/io/konveyor/tackle/core/internal/RuleEntryParamsTest.java(1 hunks)java-analyzer-bundle.test/src/main/java/io/konveyor/tackle/core/internal/SampleDelegateCommandHandlerTest.java(2 hunks)java-analyzer-bundle.test/src/main/java/io/konveyor/tackle/core/internal/query/AnnotationQueryTest.java(1 hunks)pom.xml(3 hunks)
🧰 Additional context used
🧬 Code graph analysis (10)
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/jms/TopicMessageProcessor.java (1)
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/jms/MessageProcessor.java (1)
MessageDriven(12-23)
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/config/MySQLDataSourceConfig.java (1)
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/config/DataSourceConfig.java (1)
DataSourceDefinition(9-21)
java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/SymbolProviderResolver.java (2)
java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/EnumConstantSymbolProvider.java (1)
EnumConstantSymbolProvider(19-53)java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/PackageDeclarationSymbolProvider.java (1)
PackageDeclarationSymbolProvider(16-84)
java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/exception/handler/ExceptionHandlingController.java (1)
java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/exception/ResourceNotFoundException.java (1)
ResourceNotFoundException(19-27)
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/config/DataSourceConfig.java (1)
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/config/MySQLDataSourceConfig.java (1)
DataSourceDefinition(9-21)
java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/controller/CustomerController.java (1)
java-analyzer-bundle.test/projects/customers-tomcat-legacy/src/main/java/io/konveyor/demo/ordermanagement/exception/ResourceNotFoundException.java (1)
ResourceNotFoundException(19-27)
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/jms/MessageProcessor.java (1)
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/jms/TopicMessageProcessor.java (1)
MessageDriven(12-22)
java-analyzer-bundle.test/integration/integration_test.go (1)
java-analyzer-bundle.test/integration/client/jdtls_client.go (4)
JDTLSClient(19-28)NewJDTLSClient(87-96)AnnotationQuery(252-255)AnnotationElement(246-249)
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/SampleApplication.java (1)
java-analyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/inheritance/BaseService.java (1)
BaseService(9-39)
java-analyzer-bundle.test/src/main/java/io/konveyor/tackle/core/internal/SampleDelegateCommandHandlerTest.java (1)
java-analyzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/SampleDelegateCommandHandler.java (1)
SampleDelegateCommandHandler(43-427)
🪛 actionlint (1.7.8)
.github/workflows/integration-tests.yml
63-63: shellcheck reported issue in this script: SC2046:warning:2:6: Quote this to prevent word splitting
(shellcheck)
🪛 checkmake (0.2.2)
Makefile
[warning] 25-25: Target body for "help" exceeds allowed length of 5 (24).
(maxbodylength)
[warning] 115-115: Target body for "clean" exceeds allowed length of 5 (6).
(maxbodylength)
java-analyzer-bundle.test/projects/customers-tomcat-legacy/Makefile
[warning] 38-38: Missing required phony target "all"
(minphony)
[warning] 38-38: Missing required phony target "test"
(minphony)
[warning] 9-9: Target "all" should be declared PHONY.
(phonydeclared)
🪛 LanguageTool
java-analyzer-bundle.test/docs/README.md
[style] ~73-~73: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...uick-reference.md#running-tests) ### I want to understand what's tested → [Quick Refer...
(REP_WANT_TO_VB)
[style] ~77-~77: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...erence.md#tested-search-queries) ### I want to add a new test → [Integration Tests Gui...
(REP_WANT_TO_VB)
[style] ~81-~81: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...ence.md#untested-query-patterns) ### I want to understand the architecture → [Integrat...
(REP_WANT_TO_VB)
[style] ~85-~85: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...integration-tests.md#components) ### I want to understand test projects → [Test Projec...
(REP_WANT_TO_VB)
[style] ~89-~89: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...est-projects.md#coverage-matrix) ### I want to add Java test code → [Test Projects - A...
(REP_WANT_TO_VB)
[style] ~95-~95: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...ration-tests.md#troubleshooting) ### I want to understand migration testing → [Query R...
(REP_WANT_TO_VB)
java-analyzer-bundle.test/docs/integration-tests.md
[grammar] ~384-~384: Use a hyphen to join words.
Context: ...: JDT.LS needs time to index projects (5 second wait in Initialize()) 2. **Build ...
(QB_NEW_EN_HYPHEN)
java-analyzer-bundle.test/docs/query-reference.md
[grammar] ~608-~608: Ensure spelling is correct
Context: ...**: ~5 seconds Per-Query Time: ~100-500ms depending on result count **Result Coun...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.18.1)
java-analyzer-bundle.test/README.md
213-213: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
java-analyzer-bundle.test/docs/integration-tests.md
17-17: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
311-311: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
java-analyzer-bundle.test/docs/test-projects.md
7-7: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
44-44: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
53-53: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
206-206: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🪛 OSV Scanner (2.2.3)
java-analyzer-bundle.test/projects/customers-tomcat-legacy/pom.xml
[CRITICAL] 1-1: ch.qos.logback:logback-classic 1.1.7: QOS.ch Logback vulnerable to Deserialization of Untrusted Data
[CRITICAL] 1-1: ch.qos.logback:logback-classic 1.1.7: logback serialization vulnerability
[CRITICAL] 1-1: org.postgresql:postgresql 42.2.23: org.postgresql:postgresql vulnerable to SQL Injection via line comment generation
[CRITICAL] 1-1: org.postgresql:postgresql 42.2.23: TemporaryFolder on unix-like systems does not limit access to created files
[CRITICAL] 1-1: org.postgresql:postgresql 42.2.23: pgjdbc Arbitrary File Write Vulnerability
[CRITICAL] 1-1: org.postgresql:postgresql 42.2.23: Path traversal in org.postgresql:postgresql
[CRITICAL] 1-1: org.postgresql:postgresql 42.2.23: PostgreSQL JDBC Driver SQL Injection in ResultSet.refreshRow() with malicious column names
[CRITICAL] 1-1: org.postgresql:postgresql 42.2.23: pgjdbc Does Not Check Class Instantiation when providing Plugin Classes
[CRITICAL] 1-1: org.springframework:spring-web 5.3.7: Spring Framework DoS via conditional HTTP request
[CRITICAL] 1-1: org.springframework:spring-web 5.3.7: Spring Framework URL Parsing with Host Validation
[CRITICAL] 1-1: org.springframework:spring-web 5.3.7: Spring Framework DataBinder Case Sensitive Match Exception
[CRITICAL] 1-1: org.springframework:spring-web 5.3.7: Pivotal Spring Framework contains unsafe Java deserialization methods
[CRITICAL] 1-1: org.springframework:spring-web 5.3.7: Spring Web vulnerable to Open Redirect or Server Side Request Forgery
[CRITICAL] 1-1: org.springframework:spring-web 5.3.7: Spring Framework URL Parsing with Host Validation Vulnerability
[CRITICAL] 1-1: org.springframework:spring-webmvc 5.3.7: Remote Code Execution in Spring Framework
[CRITICAL] 1-1: org.springframework:spring-webmvc 5.3.7: Spring Framework is vulnerable to security bypass via mvcRequestMatcher pattern mismatch
[CRITICAL] 1-1: org.springframework:spring-webmvc 5.3.7: Path traversal vulnerability in functional web frameworks
[CRITICAL] 1-1: org.springframework:spring-webmvc 5.3.7: Spring Framework Path Traversal vulnerability
[CRITICAL] 1-1: org.springframework:spring-webmvc 5.3.7: Spring Framework MVC Applications Path Traversal Vulnerability
[CRITICAL] 1-1: org.springframework:spring-webmvc 5.3.7: Spring MVC controller vulnerable to a DoS attack
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Unit Tests (Phase 1)
...ore/src/main/java/io/konveyor/tackle/core/internal/symbol/ConstructorCallSymbolProvider.java
Show resolved
Hide resolved
...ore/src/main/java/io/konveyor/tackle/core/internal/symbol/ConstructorCallSymbolProvider.java
Show resolved
Hide resolved
...ore/src/main/java/io/konveyor/tackle/core/internal/symbol/ConstructorCallSymbolProvider.java
Show resolved
Hide resolved
...yzer-bundle.core/src/main/java/io/konveyor/tackle/core/internal/symbol/CustomASTVisitor.java
Outdated
Show resolved
Hide resolved
...yzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/SampleApplication.java
Show resolved
Hide resolved
...yzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/SampleApplication.java
Show resolved
Hide resolved
...nalyzer-bundle.test/projects/test-project/src/main/java/io/konveyor/demo/ServletExample.java
Show resolved
Hide resolved
...er-bundle.test/src/main/java/io/konveyor/tackle/core/internal/query/AnnotationQueryTest.java
Show resolved
Hide resolved
...analyzer-bundle.test/src/main/java/io/konveyor/tackle/core/internal/RuleEntryParamsTest.java
Show resolved
Hide resolved
Signed-off-by: Shawn Hurley <[email protected]>
337aa9e to
7d05de3
Compare
|
@coderabbitai resolve |
✅ Actions performedComments resolved. |
|
Closing in favor of @pranavgaikwad work |
Updated base image and JDT.LS version in container configurations.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.