Last active
January 30, 2025 18:14
-
-
Save djzager/2b83e980a553faae7e36c91c0ae042e5 to your computer and use it in GitHub Desktop.
Enhanced Incident Refactor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"file_path": "", | |
"incidents": [ | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"message": "Replace the `javax.persistence` import statement with `jakarta.persistence`", | |
"codeSnip": " 1 package com.redhat.coolstore.model;\n 2 \n 3 import java.io.Serializable;\n 4 \n 5 import javax.persistence.Column;\n 6 import javax.persistence.Entity;\n 7 import javax.persistence.Id;\n 8 import javax.persistence.Table;\n 9 import javax.persistence.UniqueConstraint;\n10 import javax.xml.bind.annotation.XmlRootElement;\n11 \n12 @Entity\n13 @XmlRootElement\n14 @Table(name = \"INVENTORY\", uniqueConstraints = @UniqueConstraint(columnNames = \"itemId\"))\n15 public class InventoryEntity implements Serializable {\n16 \n17 \tprivate static final long serialVersionUID = 7526472295622776147L; \n18 ", | |
"lineNumber": 8, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"kind": "Module", | |
"name": "javax.persistence.Table", | |
"package": "com.redhat.coolstore.model", | |
"renamed": "persistence" | |
}, | |
"ruleset_name": "eap8/eap7", | |
"ruleset_description": "This ruleset provides analysis of Java EE applications that need to change certain CDI-related method calls.", | |
"violation_name": "javax-to-jakarta-import-00001", | |
"violation_description": "The package 'javax' has been replaced by 'jakarta'.", | |
"violation_category": "mandatory", | |
"violation_labels": [ | |
"konveyor.io/target=jakarta-ee9+", | |
"konveyor.io/target=jakarta-ee", | |
"konveyor.io/target=eap8", | |
"konveyor.io/target=eap", | |
"konveyor.io/target=jws6+", | |
"konveyor.io/target=jws", | |
"konveyor.io/source" | |
], | |
"violationId": "javax-to-jakarta-import-00001" | |
}, | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"message": "Replace the `javax.persistence` import statement with `jakarta.persistence`", | |
"codeSnip": " 1 package com.redhat.coolstore.model;\n 2 \n 3 import java.io.Serializable;\n 4 \n 5 import javax.persistence.Column;\n 6 import javax.persistence.Entity;\n 7 import javax.persistence.Id;\n 8 import javax.persistence.Table;\n 9 import javax.persistence.UniqueConstraint;\n10 import javax.xml.bind.annotation.XmlRootElement;\n11 \n12 @Entity\n13 @XmlRootElement\n14 @Table(name = \"INVENTORY\", uniqueConstraints = @UniqueConstraint(columnNames = \"itemId\"))\n15 public class InventoryEntity implements Serializable {\n16 \n17 \tprivate static final long serialVersionUID = 7526472295622776147L; ", | |
"lineNumber": 7, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"kind": "Module", | |
"name": "javax.persistence.Id", | |
"package": "com.redhat.coolstore.model", | |
"renamed": "persistence" | |
}, | |
"ruleset_name": "eap8/eap7", | |
"ruleset_description": "This ruleset provides analysis of Java EE applications that need to change certain CDI-related method calls.", | |
"violation_name": "javax-to-jakarta-import-00001", | |
"violation_description": "The package 'javax' has been replaced by 'jakarta'.", | |
"violation_category": "mandatory", | |
"violation_labels": [ | |
"konveyor.io/target=jakarta-ee9+", | |
"konveyor.io/target=jakarta-ee", | |
"konveyor.io/target=eap8", | |
"konveyor.io/target=eap", | |
"konveyor.io/target=jws6+", | |
"konveyor.io/target=jws", | |
"konveyor.io/source" | |
], | |
"violationId": "javax-to-jakarta-import-00001" | |
}, | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"message": "Replace the `javax.persistence` import statement with `jakarta.persistence`", | |
"codeSnip": " 1 package com.redhat.coolstore.model;\n 2 \n 3 import java.io.Serializable;\n 4 \n 5 import javax.persistence.Column;\n 6 import javax.persistence.Entity;\n 7 import javax.persistence.Id;\n 8 import javax.persistence.Table;\n 9 import javax.persistence.UniqueConstraint;\n10 import javax.xml.bind.annotation.XmlRootElement;\n11 \n12 @Entity\n13 @XmlRootElement\n14 @Table(name = \"INVENTORY\", uniqueConstraints = @UniqueConstraint(columnNames = \"itemId\"))\n15 public class InventoryEntity implements Serializable {\n16 ", | |
"lineNumber": 6, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"kind": "Module", | |
"name": "javax.persistence.Entity", | |
"package": "com.redhat.coolstore.model", | |
"renamed": "persistence" | |
}, | |
"ruleset_name": "eap8/eap7", | |
"ruleset_description": "This ruleset provides analysis of Java EE applications that need to change certain CDI-related method calls.", | |
"violation_name": "javax-to-jakarta-import-00001", | |
"violation_description": "The package 'javax' has been replaced by 'jakarta'.", | |
"violation_category": "mandatory", | |
"violation_labels": [ | |
"konveyor.io/target=jakarta-ee9+", | |
"konveyor.io/target=jakarta-ee", | |
"konveyor.io/target=eap8", | |
"konveyor.io/target=eap", | |
"konveyor.io/target=jws6+", | |
"konveyor.io/target=jws", | |
"konveyor.io/source" | |
], | |
"violationId": "javax-to-jakarta-import-00001" | |
}, | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"message": "Replace the `javax.xml` import statement with `jakarta.xml`", | |
"codeSnip": " 1 package com.redhat.coolstore.model;\n 2 \n 3 import java.io.Serializable;\n 4 \n 5 import javax.persistence.Column;\n 6 import javax.persistence.Entity;\n 7 import javax.persistence.Id;\n 8 import javax.persistence.Table;\n 9 import javax.persistence.UniqueConstraint;\n10 import javax.xml.bind.annotation.XmlRootElement;\n11 \n12 @Entity\n13 @XmlRootElement\n14 @Table(name = \"INVENTORY\", uniqueConstraints = @UniqueConstraint(columnNames = \"itemId\"))\n15 public class InventoryEntity implements Serializable {\n16 \n17 \tprivate static final long serialVersionUID = 7526472295622776147L; \n18 \n19 @Id\n20 private String itemId;", | |
"lineNumber": 10, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"kind": "Module", | |
"name": "javax.xml.bind.annotation.XmlRootElement", | |
"package": "com.redhat.coolstore.model", | |
"renamed": "xml" | |
}, | |
"ruleset_name": "eap8/eap7", | |
"ruleset_description": "This ruleset provides analysis of Java EE applications that need to change certain CDI-related method calls.", | |
"violation_name": "javax-to-jakarta-import-00001", | |
"violation_description": "The package 'javax' has been replaced by 'jakarta'.", | |
"violation_category": "mandatory", | |
"violation_labels": [ | |
"konveyor.io/target=jakarta-ee9+", | |
"konveyor.io/target=jakarta-ee", | |
"konveyor.io/target=eap8", | |
"konveyor.io/target=eap", | |
"konveyor.io/target=jws6+", | |
"konveyor.io/target=jws", | |
"konveyor.io/source" | |
], | |
"violationId": "javax-to-jakarta-import-00001" | |
}, | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"message": "Replace the `javax.persistence` import statement with `jakarta.persistence`", | |
"codeSnip": " 1 package com.redhat.coolstore.model;\n 2 \n 3 import java.io.Serializable;\n 4 \n 5 import javax.persistence.Column;\n 6 import javax.persistence.Entity;\n 7 import javax.persistence.Id;\n 8 import javax.persistence.Table;\n 9 import javax.persistence.UniqueConstraint;\n10 import javax.xml.bind.annotation.XmlRootElement;\n11 \n12 @Entity\n13 @XmlRootElement\n14 @Table(name = \"INVENTORY\", uniqueConstraints = @UniqueConstraint(columnNames = \"itemId\"))\n15 public class InventoryEntity implements Serializable {\n16 \n17 \tprivate static final long serialVersionUID = 7526472295622776147L; \n18 \n19 @Id", | |
"lineNumber": 9, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"kind": "Module", | |
"name": "javax.persistence.UniqueConstraint", | |
"package": "com.redhat.coolstore.model", | |
"renamed": "persistence" | |
}, | |
"ruleset_name": "eap8/eap7", | |
"ruleset_description": "This ruleset provides analysis of Java EE applications that need to change certain CDI-related method calls.", | |
"violation_name": "javax-to-jakarta-import-00001", | |
"violation_description": "The package 'javax' has been replaced by 'jakarta'.", | |
"violation_category": "mandatory", | |
"violation_labels": [ | |
"konveyor.io/target=jakarta-ee9+", | |
"konveyor.io/target=jakarta-ee", | |
"konveyor.io/target=eap8", | |
"konveyor.io/target=eap", | |
"konveyor.io/target=jws6+", | |
"konveyor.io/target=jws", | |
"konveyor.io/source" | |
], | |
"violationId": "javax-to-jakarta-import-00001" | |
}, | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"message": "Replace the `javax.persistence` import statement with `jakarta.persistence`", | |
"codeSnip": " 1 package com.redhat.coolstore.model;\n 2 \n 3 import java.io.Serializable;\n 4 \n 5 import javax.persistence.Column;\n 6 import javax.persistence.Entity;\n 7 import javax.persistence.Id;\n 8 import javax.persistence.Table;\n 9 import javax.persistence.UniqueConstraint;\n10 import javax.xml.bind.annotation.XmlRootElement;\n11 \n12 @Entity\n13 @XmlRootElement\n14 @Table(name = \"INVENTORY\", uniqueConstraints = @UniqueConstraint(columnNames = \"itemId\"))\n15 public class InventoryEntity implements Serializable {", | |
"lineNumber": 5, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/model/InventoryEntity.java", | |
"kind": "Module", | |
"name": "javax.persistence.Column", | |
"package": "com.redhat.coolstore.model", | |
"renamed": "persistence" | |
}, | |
"ruleset_name": "eap8/eap7", | |
"ruleset_description": "This ruleset provides analysis of Java EE applications that need to change certain CDI-related method calls.", | |
"violation_name": "javax-to-jakarta-import-00001", | |
"violation_description": "The package 'javax' has been replaced by 'jakarta'.", | |
"violation_category": "mandatory", | |
"violation_labels": [ | |
"konveyor.io/target=jakarta-ee9+", | |
"konveyor.io/target=jakarta-ee", | |
"konveyor.io/target=eap8", | |
"konveyor.io/target=eap", | |
"konveyor.io/target=jws6+", | |
"konveyor.io/target=jws", | |
"konveyor.io/source" | |
], | |
"violationId": "javax-to-jakarta-import-00001" | |
} | |
], | |
"max_priority": 0, | |
"max_depth": 1 | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"file_path": "", | |
"incidents": [ | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/service/ShippingService.java", | |
"message": "Stateless EJBs can be converted to a CDI bean by replacing the `@Stateless` annotation with a scope eg `@ApplicationScoped`", | |
"codeSnip": " 1 package com.redhat.coolstore.service;\n 2 \n 3 import java.math.BigDecimal;\n 4 import java.math.RoundingMode;\n 5 \n 6 import javax.ejb.Remote;\n 7 import javax.ejb.Stateless;\n 8 \n 9 import com.redhat.coolstore.model.ShoppingCart;\n10 \n11 @Stateless\n12 @Remote\n13 public class ShippingService implements ShippingServiceRemote {\n14 \n15 @Override\n16 public double calculateShipping(ShoppingCart sc) {\n17 \n18 if (sc != null) {\n19 \n20 if (sc.getCartItemTotal() >= 0 && sc.getCartItemTotal() < 25) {\n21 ", | |
"lineNumber": 11, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/service/ShippingService.java", | |
"kind": "Class", | |
"name": "Stateless", | |
"package": "com.redhat.coolstore.service" | |
}, | |
"ruleset_name": "quarkus/springboot", | |
"ruleset_description": "This ruleset gives hints to migrate from SpringBoot devtools to Quarkus", | |
"violation_name": "ee-to-quarkus-00000", | |
"violation_description": "@Stateless annotation must be replaced", | |
"violation_category": "potential", | |
"violation_labels": [ | |
"konveyor.io/source=java-ee", | |
"konveyor.io/source=jakarta-ee", | |
"konveyor.io/target=quarkus" | |
], | |
"violationId": "ee-to-quarkus-00000" | |
}, | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/service/ShippingService.java", | |
"message": "The Stateless EJBs can be converted to a cdi bean by replacing the `@Stateless` annotation with a scope eg `@ApplicationScoped`", | |
"codeSnip": " 1 package com.redhat.coolstore.service;\n 2 \n 3 import java.math.BigDecimal;\n 4 import java.math.RoundingMode;\n 5 \n 6 import javax.ejb.Remote;\n 7 import javax.ejb.Stateless;\n 8 \n 9 import com.redhat.coolstore.model.ShoppingCart;\n10 \n11 @Stateless\n12 @Remote\n13 public class ShippingService implements ShippingServiceRemote {\n14 \n15 @Override\n16 public double calculateShipping(ShoppingCart sc) {\n17 \n18 if (sc != null) {\n19 \n20 if (sc.getCartItemTotal() >= 0 && sc.getCartItemTotal() < 25) {\n21 ", | |
"lineNumber": 11, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/service/ShippingService.java", | |
"kind": "Class", | |
"name": "Stateless", | |
"package": "com.redhat.coolstore.service" | |
}, | |
"ruleset_name": "quarkus/springboot", | |
"ruleset_description": "This ruleset gives hints to migrate from SpringBoot devtools to Quarkus", | |
"violation_name": "jakarta-cdi-to-quarkus-00050", | |
"violation_description": "Stateless annotation can be replaced with scope", | |
"violation_category": "potential", | |
"violation_labels": [ | |
"konveyor.io/source=java-ee", | |
"konveyor.io/target=quarkus" | |
], | |
"violationId": "jakarta-cdi-to-quarkus-00050" | |
}, | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/service/ShippingService.java", | |
"message": "Remote EJBs are not supported in Quarkus, and therefore its use must be removed and replaced with REST functionality. In order to do this:\n 1. Replace the `@Remote` annotation on the class with a `@jakarta.ws.rs.Path(\"<endpoint>\")` annotation. An endpoint must be added to the annotation in place of `<endpoint>` to specify the actual path to the REST service.\n 2. Remove `@Stateless` annotations if present. Given that REST services are stateless by nature, it makes it unnecessary.\n 3. For every public method on the EJB being converted, do the following:\n - In case the method has no input parameters, annotate the method with `@jakarta.ws.rs.GET`; otherwise annotate it with `@jakarta.ws.rs.POST` instead.\n - Annotate the method with `@jakarta.ws.rs.Path(\"<endpoint>\")` and give it a proper endpoint path. As a rule of thumb, the method name can be used as endpoint, for instance:\n ```\n @Path(\"/increment\")\n public void increment() \n ```\n - Add `@jakarta.ws.rs.QueryParam(\"<param-name>\")` to any method parameters if needed, where `<param-name>` is a name for the parameter.", | |
"codeSnip": " 2 \n 3 import java.math.BigDecimal;\n 4 import java.math.RoundingMode;\n 5 \n 6 import javax.ejb.Remote;\n 7 import javax.ejb.Stateless;\n 8 \n 9 import com.redhat.coolstore.model.ShoppingCart;\n10 \n11 @Stateless\n12 @Remote\n13 public class ShippingService implements ShippingServiceRemote {\n14 \n15 @Override\n16 public double calculateShipping(ShoppingCart sc) {\n17 \n18 if (sc != null) {\n19 \n20 if (sc.getCartItemTotal() >= 0 && sc.getCartItemTotal() < 25) {\n21 \n22 return 2.99;", | |
"lineNumber": 12, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/service/ShippingService.java", | |
"kind": "Class", | |
"name": "Stateless", | |
"package": "com.redhat.coolstore.service" | |
}, | |
"ruleset_name": "quarkus/springboot", | |
"ruleset_description": "This ruleset gives hints to migrate from SpringBoot devtools to Quarkus", | |
"violation_name": "remote-ejb-to-quarkus-00000", | |
"violation_description": "Remote EJBs are not supported in Quarkus", | |
"violation_category": "mandatory", | |
"violation_labels": [ | |
"konveyor.io/source=java-ee", | |
"konveyor.io/source=jakarta-ee", | |
"konveyor.io/target=quarkus" | |
], | |
"violationId": "remote-ejb-to-quarkus-00000" | |
}, | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/service/ShippingService.java", | |
"message": "Replace the `javax.ejb` import statement with `jakarta.ejb`", | |
"codeSnip": " 1 package com.redhat.coolstore.service;\n 2 \n 3 import java.math.BigDecimal;\n 4 import java.math.RoundingMode;\n 5 \n 6 import javax.ejb.Remote;\n 7 import javax.ejb.Stateless;\n 8 \n 9 import com.redhat.coolstore.model.ShoppingCart;\n10 \n11 @Stateless\n12 @Remote\n13 public class ShippingService implements ShippingServiceRemote {\n14 \n15 @Override\n16 public double calculateShipping(ShoppingCart sc) {\n17 ", | |
"lineNumber": 7, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/service/ShippingService.java", | |
"kind": "Module", | |
"name": "javax.ejb.Stateless", | |
"package": "com.redhat.coolstore.service", | |
"renamed": "ejb" | |
}, | |
"ruleset_name": "eap8/eap7", | |
"ruleset_description": "This ruleset provides analysis of Java EE applications that need to change certain CDI-related method calls.", | |
"violation_name": "javax-to-jakarta-import-00001", | |
"violation_description": "The package 'javax' has been replaced by 'jakarta'.", | |
"violation_category": "mandatory", | |
"violation_labels": [ | |
"konveyor.io/target=jakarta-ee9+", | |
"konveyor.io/target=jakarta-ee", | |
"konveyor.io/target=eap8", | |
"konveyor.io/target=eap", | |
"konveyor.io/target=jws6+", | |
"konveyor.io/target=jws", | |
"konveyor.io/source" | |
], | |
"violationId": "javax-to-jakarta-import-00001" | |
}, | |
{ | |
"uri": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/service/ShippingService.java", | |
"message": "Replace the `javax.ejb` import statement with `jakarta.ejb`", | |
"codeSnip": " 1 package com.redhat.coolstore.service;\n 2 \n 3 import java.math.BigDecimal;\n 4 import java.math.RoundingMode;\n 5 \n 6 import javax.ejb.Remote;\n 7 import javax.ejb.Stateless;\n 8 \n 9 import com.redhat.coolstore.model.ShoppingCart;\n10 \n11 @Stateless\n12 @Remote\n13 public class ShippingService implements ShippingServiceRemote {\n14 \n15 @Override\n16 public double calculateShipping(ShoppingCart sc) {", | |
"lineNumber": 6, | |
"variables": { | |
"file": "file:///Users/dzager/Workspace/coolstore/src/main/java/com/redhat/coolstore/service/ShippingService.java", | |
"kind": "Module", | |
"name": "javax.ejb.Remote", | |
"package": "com.redhat.coolstore.service", | |
"renamed": "ejb" | |
}, | |
"ruleset_name": "eap8/eap7", | |
"ruleset_description": "This ruleset provides analysis of Java EE applications that need to change certain CDI-related method calls.", | |
"violation_name": "javax-to-jakarta-import-00001", | |
"violation_description": "The package 'javax' has been replaced by 'jakarta'.", | |
"violation_category": "mandatory", | |
"violation_labels": [ | |
"konveyor.io/target=jakarta-ee9+", | |
"konveyor.io/target=jakarta-ee", | |
"konveyor.io/target=eap8", | |
"konveyor.io/target=eap", | |
"konveyor.io/target=jws6+", | |
"konveyor.io/target=jws", | |
"konveyor.io/source" | |
], | |
"violationId": "javax-to-jakarta-import-00001" | |
} | |
], | |
"max_priority": 0, | |
"max_depth": 1 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment