From 9b91b6616b9cfd6b04b44531acb5607fbca0b51c Mon Sep 17 00:00:00 2001 From: Juan Manuel Leflet Estrada Date: Mon, 25 Nov 2024 11:51:03 +0100 Subject: [PATCH] Improve rule Signed-off-by: Juan Manuel Leflet Estrada --- ...framework-5.x-to-6.0-web-applications.yaml | 29 ++++++++++++------- .../src/main/java/org/konveyor/Main.java | 10 +++++-- .../controller/XmlRestController.java | 25 ++++++++++++++++ ...work-5.x-to-6.0-web-applications.test.yaml | 2 +- 4 files changed, 53 insertions(+), 13 deletions(-) create mode 100644 default/generated/spring-framework/tests/data/web-applications/src/main/java/org/konveyor/controller/XmlRestController.java diff --git a/default/generated/spring-framework/spring-framework-5.x-to-6.0-web-applications.yaml b/default/generated/spring-framework/spring-framework-5.x-to-6.0-web-applications.yaml index 00152c5b..49f1adf9 100644 --- a/default/generated/spring-framework/spring-framework-5.x-to-6.0-web-applications.yaml +++ b/default/generated/spring-framework/spring-framework-5.x-to-6.0-web-applications.yaml @@ -58,16 +58,25 @@ - konveyor.io/target=spring6+ when: or: - - java.referenced: - pattern: org.springframework.stereotype.Controller - location: ANNOTATION - as: class - ignore: true - - java.referenced: - pattern: '* javax.xml.transform.Source' - location: METHOD - filepaths: "{{class.Filepaths}}" - from: class + - and: + - or: + - java.referenced: + pattern: org.springframework.stereotype.Controller + location: ANNOTATION + - java.referenced: + pattern: org.springframework.web.bind.annotation.RestController + location: ANNOTATION + as: class + ignore: true + - java.referenced: + pattern: '* javax.xml.transform.Source' + location: METHOD + filepaths: "{{class.Filepaths}}" + from: class + # TODO: not working atm - fix test cases when working + - java.referenced: + pattern: 'getForObject()' + location: METHOD_CALL description: "SourceHttpMessageConverter is not configured by default anymore in Spring MVC and RestTemplate" message: | `SourceHttpMessageConverter` is not configured by default anymore in Spring MVC and `RestTemplate`. diff --git a/default/generated/spring-framework/tests/data/web-applications/src/main/java/org/konveyor/Main.java b/default/generated/spring-framework/tests/data/web-applications/src/main/java/org/konveyor/Main.java index 5224b76e..22f7ee92 100644 --- a/default/generated/spring-framework/tests/data/web-applications/src/main/java/org/konveyor/Main.java +++ b/default/generated/spring-framework/tests/data/web-applications/src/main/java/org/konveyor/Main.java @@ -1,11 +1,17 @@ package org.konveyor; +import org.springframework.web.client.RestTemplate; + +import javax.xml.transform.Source; import java.beans.IntrospectionException; +import java.net.URI; +import java.net.URISyntaxException; public class Main { - public static void main(String[] args) throws IntrospectionException { - + public static void main(String[] args) throws IntrospectionException, URISyntaxException { + RestTemplate rest = new RestTemplate(); + rest.getForObject(new URI("http://www.example.com/"), Source.class); } } diff --git a/default/generated/spring-framework/tests/data/web-applications/src/main/java/org/konveyor/controller/XmlRestController.java b/default/generated/spring-framework/tests/data/web-applications/src/main/java/org/konveyor/controller/XmlRestController.java new file mode 100644 index 00000000..92907494 --- /dev/null +++ b/default/generated/spring-framework/tests/data/web-applications/src/main/java/org/konveyor/controller/XmlRestController.java @@ -0,0 +1,25 @@ +package org.konveyor.controller; + +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.xml.transform.Source; +import javax.xml.transform.stream.StreamSource; +import java.io.StringReader; + +@RestController +public class XmlRestController { + + public Source method(@RequestBody String xmlInput) { + // For example, log the input or perform some processing here + System.out.println("Received XML: " + xmlInput); + + // Assuming we want to respond with a modified version of the XML + String responseXml = "Success%s"; + + // Return the new XML wrapped in a StreamSource + return new StreamSource(new StringReader(responseXml)); + } + + +} diff --git a/default/generated/spring-framework/tests/spring-framework-5.x-to-6.0-web-applications.test.yaml b/default/generated/spring-framework/tests/spring-framework-5.x-to-6.0-web-applications.test.yaml index fbbaf1d1..9bec10ee 100644 --- a/default/generated/spring-framework/tests/spring-framework-5.x-to-6.0-web-applications.test.yaml +++ b/default/generated/spring-framework/tests/spring-framework-5.x-to-6.0-web-applications.test.yaml @@ -17,4 +17,4 @@ tests: analysisParams: mode: "source-only" hasIncidents: - exactly: 2 + exactly: 3