chore: rename cameleer3 to cameleer
Rename Java packages from com.cameleer3 to com.cameleer, module directories from cameleer3-* to cameleer-*, and all references throughout workflows, Dockerfiles, docs, migrations, and pom.xml. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,16 +5,16 @@ type: execute
|
||||
wave: 1
|
||||
depends_on: []
|
||||
files_modified:
|
||||
- cameleer3-server-app/pom.xml
|
||||
- cameleer3-server-core/src/main/java/com/cameleer3/server/core/diagram/DiagramRenderer.java
|
||||
- cameleer3-server-core/src/main/java/com/cameleer3/server/core/diagram/DiagramLayout.java
|
||||
- cameleer3-server-core/src/main/java/com/cameleer3/server/core/diagram/PositionedNode.java
|
||||
- cameleer3-server-core/src/main/java/com/cameleer3/server/core/diagram/PositionedEdge.java
|
||||
- cameleer3-server-app/src/main/java/com/cameleer3/server/app/diagram/ElkDiagramRenderer.java
|
||||
- cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/DiagramRenderController.java
|
||||
- cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/DiagramBeanConfig.java
|
||||
- cameleer3-server-app/src/test/java/com/cameleer3/server/app/controller/DiagramRenderControllerIT.java
|
||||
- cameleer3-server-app/src/test/java/com/cameleer3/server/app/diagram/ElkDiagramRendererTest.java
|
||||
- cameleer-server-app/pom.xml
|
||||
- cameleer-server-core/src/main/java/com/cameleer/server/core/diagram/DiagramRenderer.java
|
||||
- cameleer-server-core/src/main/java/com/cameleer/server/core/diagram/DiagramLayout.java
|
||||
- cameleer-server-core/src/main/java/com/cameleer/server/core/diagram/PositionedNode.java
|
||||
- cameleer-server-core/src/main/java/com/cameleer/server/core/diagram/PositionedEdge.java
|
||||
- cameleer-server-app/src/main/java/com/cameleer/server/app/diagram/ElkDiagramRenderer.java
|
||||
- cameleer-server-app/src/main/java/com/cameleer/server/app/controller/DiagramRenderController.java
|
||||
- cameleer-server-app/src/main/java/com/cameleer/server/app/config/DiagramBeanConfig.java
|
||||
- cameleer-server-app/src/test/java/com/cameleer/server/app/controller/DiagramRenderControllerIT.java
|
||||
- cameleer-server-app/src/test/java/com/cameleer/server/app/diagram/ElkDiagramRendererTest.java
|
||||
autonomous: true
|
||||
requirements:
|
||||
- DIAG-03
|
||||
@@ -27,13 +27,13 @@ must_haves:
|
||||
- "Node colors match the route-diagram-example.html style: blue endpoints, green processors, red error handlers, purple EIPs"
|
||||
- "Nested processors (inside split, choice, try-catch) are rendered in compound/swimlane groups"
|
||||
artifacts:
|
||||
- path: "cameleer3-server-core/src/main/java/com/cameleer3/server/core/diagram/DiagramRenderer.java"
|
||||
- path: "cameleer-server-core/src/main/java/com/cameleer/server/core/diagram/DiagramRenderer.java"
|
||||
provides: "Renderer interface for SVG and JSON layout output"
|
||||
exports: ["DiagramRenderer"]
|
||||
- path: "cameleer3-server-app/src/main/java/com/cameleer3/server/app/diagram/ElkDiagramRenderer.java"
|
||||
- path: "cameleer-server-app/src/main/java/com/cameleer/server/app/diagram/ElkDiagramRenderer.java"
|
||||
provides: "ELK + JFreeSVG implementation of DiagramRenderer"
|
||||
min_lines: 100
|
||||
- path: "cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/DiagramRenderController.java"
|
||||
- path: "cameleer-server-app/src/main/java/com/cameleer/server/app/controller/DiagramRenderController.java"
|
||||
provides: "GET /api/v1/diagrams/{hash} with content negotiation"
|
||||
exports: ["DiagramRenderController"]
|
||||
key_links:
|
||||
@@ -70,14 +70,14 @@ Output: DiagramRenderer interface in core, ElkDiagramRenderer implementation in
|
||||
@.planning/phases/02-transaction-search-diagrams/02-CONTEXT.md
|
||||
@.planning/phases/02-transaction-search-diagrams/02-RESEARCH.md
|
||||
|
||||
@cameleer3-server-core/src/main/java/com/cameleer3/server/core/storage/DiagramRepository.java
|
||||
@cameleer3-server-app/src/main/java/com/cameleer3/server/app/storage/ClickHouseDiagramRepository.java
|
||||
@cameleer3-server-app/pom.xml
|
||||
@cameleer-server-core/src/main/java/com/cameleer/server/core/storage/DiagramRepository.java
|
||||
@cameleer-server-app/src/main/java/com/cameleer/server/app/storage/ClickHouseDiagramRepository.java
|
||||
@cameleer-server-app/pom.xml
|
||||
|
||||
<interfaces>
|
||||
<!-- Existing interfaces needed -->
|
||||
|
||||
From cameleer3-server-core/.../storage/DiagramRepository.java:
|
||||
From cameleer-server-core/.../storage/DiagramRepository.java:
|
||||
```java
|
||||
public interface DiagramRepository {
|
||||
void store(RouteGraph graph);
|
||||
@@ -86,7 +86,7 @@ public interface DiagramRepository {
|
||||
}
|
||||
```
|
||||
|
||||
From cameleer3-common (decompiled — diagram models):
|
||||
From cameleer-common (decompiled — diagram models):
|
||||
```java
|
||||
// RouteGraph: routeId (String), nodes (List<RouteNode>), edges (List<RouteEdge>),
|
||||
// processorNodeMapping (Map<String,String>)
|
||||
@@ -114,14 +114,14 @@ NodeType color mapping (from CONTEXT.md, matching route-diagram-example.html):
|
||||
<task type="auto">
|
||||
<name>Task 1: Add ELK/JFreeSVG dependencies and create core diagram rendering interfaces</name>
|
||||
<files>
|
||||
cameleer3-server-app/pom.xml,
|
||||
cameleer3-server-core/src/main/java/com/cameleer3/server/core/diagram/DiagramRenderer.java,
|
||||
cameleer3-server-core/src/main/java/com/cameleer3/server/core/diagram/DiagramLayout.java,
|
||||
cameleer3-server-core/src/main/java/com/cameleer3/server/core/diagram/PositionedNode.java,
|
||||
cameleer3-server-core/src/main/java/com/cameleer3/server/core/diagram/PositionedEdge.java
|
||||
cameleer-server-app/pom.xml,
|
||||
cameleer-server-core/src/main/java/com/cameleer/server/core/diagram/DiagramRenderer.java,
|
||||
cameleer-server-core/src/main/java/com/cameleer/server/core/diagram/DiagramLayout.java,
|
||||
cameleer-server-core/src/main/java/com/cameleer/server/core/diagram/PositionedNode.java,
|
||||
cameleer-server-core/src/main/java/com/cameleer/server/core/diagram/PositionedEdge.java
|
||||
</files>
|
||||
<action>
|
||||
1. Add Maven dependencies to `cameleer3-server-app/pom.xml`:
|
||||
1. Add Maven dependencies to `cameleer-server-app/pom.xml`:
|
||||
```xml
|
||||
<dependency>
|
||||
<groupId>org.eclipse.elk</groupId>
|
||||
@@ -140,7 +140,7 @@ NodeType color mapping (from CONTEXT.md, matching route-diagram-example.html):
|
||||
</dependency>
|
||||
```
|
||||
|
||||
2. Create core diagram rendering interfaces in `com.cameleer3.server.core.diagram`:
|
||||
2. Create core diagram rendering interfaces in `com.cameleer.server.core.diagram`:
|
||||
|
||||
- `PositionedNode` record: id (String), label (String), type (String — NodeType name), x (double), y (double), width (double), height (double), children (List<PositionedNode> — for compound/swimlane groups). JSON-serializable for the JSON layout response.
|
||||
|
||||
@@ -154,7 +154,7 @@ NodeType color mapping (from CONTEXT.md, matching route-diagram-example.html):
|
||||
Both methods take a RouteGraph and produce output. The interface lives in core so it can be swapped (e.g., for a different renderer).
|
||||
</action>
|
||||
<verify>
|
||||
<automated>cd C:/Users/Hendrik/Documents/projects/cameleer3-server && mvn compile -pl cameleer3-server-core && mvn dependency:resolve -pl cameleer3-server-app -q</automated>
|
||||
<automated>cd C:/Users/Hendrik/Documents/projects/cameleer-server && mvn compile -pl cameleer-server-core && mvn dependency:resolve -pl cameleer-server-app -q</automated>
|
||||
</verify>
|
||||
<done>ELK and JFreeSVG dependencies resolve, DiagramRenderer interface and layout DTOs compile in core module</done>
|
||||
</task>
|
||||
@@ -162,11 +162,11 @@ NodeType color mapping (from CONTEXT.md, matching route-diagram-example.html):
|
||||
<task type="auto" tdd="true">
|
||||
<name>Task 2: Implement ElkDiagramRenderer, DiagramRenderController, and integration tests</name>
|
||||
<files>
|
||||
cameleer3-server-app/src/main/java/com/cameleer3/server/app/diagram/ElkDiagramRenderer.java,
|
||||
cameleer3-server-app/src/main/java/com/cameleer3/server/app/controller/DiagramRenderController.java,
|
||||
cameleer3-server-app/src/main/java/com/cameleer3/server/app/config/DiagramBeanConfig.java,
|
||||
cameleer3-server-app/src/test/java/com/cameleer3/server/app/diagram/ElkDiagramRendererTest.java,
|
||||
cameleer3-server-app/src/test/java/com/cameleer3/server/app/controller/DiagramRenderControllerIT.java
|
||||
cameleer-server-app/src/main/java/com/cameleer/server/app/diagram/ElkDiagramRenderer.java,
|
||||
cameleer-server-app/src/main/java/com/cameleer/server/app/controller/DiagramRenderController.java,
|
||||
cameleer-server-app/src/main/java/com/cameleer/server/app/config/DiagramBeanConfig.java,
|
||||
cameleer-server-app/src/test/java/com/cameleer/server/app/diagram/ElkDiagramRendererTest.java,
|
||||
cameleer-server-app/src/test/java/com/cameleer/server/app/controller/DiagramRenderControllerIT.java
|
||||
</files>
|
||||
<behavior>
|
||||
- Unit test: ElkDiagramRenderer.renderSvg with a simple 3-node graph (from->process->to) produces valid SVG containing svg element, rect elements for nodes, line/path elements for edges
|
||||
@@ -179,7 +179,7 @@ NodeType color mapping (from CONTEXT.md, matching route-diagram-example.html):
|
||||
- Integration test: GET /api/v1/diagrams/{hash} with no Accept preference defaults to SVG
|
||||
</behavior>
|
||||
<action>
|
||||
1. Create `ElkDiagramRenderer` implementing `DiagramRenderer` in `com.cameleer3.server.app.diagram`:
|
||||
1. Create `ElkDiagramRenderer` implementing `DiagramRenderer` in `com.cameleer.server.app.diagram`:
|
||||
|
||||
**Layout phase (shared by both SVG and JSON):**
|
||||
- Convert RouteGraph to ELK graph: create ElkNode root, set properties for LayeredOptions.ALGORITHM_ID, Direction.DOWN (top-to-bottom per user decision), spacing 40px node-node, 20px edge-node.
|
||||
@@ -206,10 +206,10 @@ NodeType color mapping (from CONTEXT.md, matching route-diagram-example.html):
|
||||
**JSON layout (layoutJson):**
|
||||
- Run layout phase, return DiagramLayout directly. Jackson will serialize it to JSON.
|
||||
|
||||
2. Create `DiagramBeanConfig` in `com.cameleer3.server.app.config`:
|
||||
2. Create `DiagramBeanConfig` in `com.cameleer.server.app.config`:
|
||||
- @Configuration class that creates DiagramRenderer bean (ElkDiagramRenderer) and SearchService bean wiring (prepare for Plan 03).
|
||||
|
||||
3. Create `DiagramRenderController` in `com.cameleer3.server.app.controller`:
|
||||
3. Create `DiagramRenderController` in `com.cameleer.server.app.controller`:
|
||||
- `GET /api/v1/diagrams/{contentHash}/render` — renders the diagram
|
||||
- Inject DiagramRepository and DiagramRenderer.
|
||||
- Look up RouteGraph via `diagramRepository.findByContentHash(contentHash)`. If empty, return 404.
|
||||
@@ -233,7 +233,7 @@ NodeType color mapping (from CONTEXT.md, matching route-diagram-example.html):
|
||||
- GET /api/v1/diagrams/{hash}/render with no Accept header -> assert SVG response (default).
|
||||
</action>
|
||||
<verify>
|
||||
<automated>cd C:/Users/Hendrik/Documents/projects/cameleer3-server && mvn test -pl cameleer3-server-app -Dtest="ElkDiagramRendererTest,DiagramRenderControllerIT"</automated>
|
||||
<automated>cd C:/Users/Hendrik/Documents/projects/cameleer-server && mvn test -pl cameleer-server-app -Dtest="ElkDiagramRendererTest,DiagramRenderControllerIT"</automated>
|
||||
</verify>
|
||||
<done>Diagram rendering produces color-coded top-to-bottom SVG and JSON layout, content negotiation works via Accept header, compound nodes group nested processors, all tests pass</done>
|
||||
</task>
|
||||
@@ -241,8 +241,8 @@ NodeType color mapping (from CONTEXT.md, matching route-diagram-example.html):
|
||||
</tasks>
|
||||
|
||||
<verification>
|
||||
- `mvn test -pl cameleer3-server-app -Dtest=ElkDiagramRendererTest` passes (unit tests for layout and SVG)
|
||||
- `mvn test -pl cameleer3-server-app -Dtest=DiagramRenderControllerIT` passes (integration tests for REST endpoint)
|
||||
- `mvn test -pl cameleer-server-app -Dtest=ElkDiagramRendererTest` passes (unit tests for layout and SVG)
|
||||
- `mvn test -pl cameleer-server-app -Dtest=DiagramRenderControllerIT` passes (integration tests for REST endpoint)
|
||||
- `mvn clean verify` passes (all existing tests still green)
|
||||
- SVG output contains color-coded nodes matching the NodeType color scheme
|
||||
</verification>
|
||||
|
||||
Reference in New Issue
Block a user