🔍 Duplicate Code Detected: Response Map Building Pattern
Analysis of commit b16c75a
Assignee: @copilot
Summary
Los tres métodos de SecurityDependencyDemoController repiten la misma lógica de construcción de un LinkedHashMap de respuesta: crear el mapa, insertar "mode" y "dependency", añadir datos extra y devolver el mapa.
Duplication Details
Pattern: LinkedHashMap Response Builder
- Severity: Medium
- Occurrences: 3
- Locations:
src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java (lines 24–29)
src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java (lines 38–43)
src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java (lines 48–53)
- Code Sample:
// Repeated in all three methods:
Map<String, Object> response = new LinkedHashMap<>();
response.put("mode", "...");
response.put("dependency", "...");
response.put("entries", data); // or "input"/"resolved"
return response;
Impact Analysis
- Maintainability: Añadir o renombrar un campo común requiere modificar tres métodos por separado.
- Bug Risk: Una corrección en el formato de respuesta podría aplicarse de forma inconsistente en los tres métodos.
- Code Bloat: ~15 líneas de código duplicado.
Refactoring Recommendations
-
Extraer método helper privado
- Crear
buildResponse(String mode, String dependency, Map<String, Object> extras) dentro del mismo controlador.
- Cada método existente llama al helper y sólo define sus datos específicos.
- Estimated effort: 30 minutos
- Benefits: Un único punto de cambio para la estructura de respuesta.
-
DTO de respuesta tipado
- Crear una clase
SecurityDemoResponse con los campos mode, dependency y un mapa de extras.
- Mejora la legibilidad y la serialización.
- Estimated effort: 1 hora
Implementation Checklist
Analysis Metadata
- Analyzed Files: 9 (source Java files, excluding tests and workflows)
- Detection Method: Semantic code analysis
- Commit: b16c75a
- Analysis Date: 2026-06-12T13:27:47Z
Generated by Duplicate Code Detector · sonnet46 708.3K · ◷
Add this agentic workflows to your repo
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/duplicate-code-detector.md@298f992955146a6731d380a9de808e17861708e5
🔍 Duplicate Code Detected: Response Map Building Pattern
Analysis of commit b16c75a
Assignee:
@copilotSummary
Los tres métodos de
SecurityDependencyDemoControllerrepiten la misma lógica de construcción de unLinkedHashMapde respuesta: crear el mapa, insertar"mode"y"dependency", añadir datos extra y devolver el mapa.Duplication Details
Pattern: LinkedHashMap Response Builder
src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java(lines 24–29)src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java(lines 38–43)src/main/java/com/example/demo/controller/SecurityDependencyDemoController.java(lines 48–53)Impact Analysis
Refactoring Recommendations
Extraer método helper privado
buildResponse(String mode, String dependency, Map<String, Object> extras)dentro del mismo controlador.DTO de respuesta tipado
SecurityDemoResponsecon los camposmode,dependencyy un mapa de extras.Implementation Checklist
Analysis Metadata
Add this agentic workflows to your repo
To install this agentic workflow, run