Some checks failed
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Docs CI / lint-and-preview (push) Has been cancelled
Export Center CI / export-ci (push) Has been cancelled
Findings Ledger CI / build-test (push) Has been cancelled
Findings Ledger CI / migration-validation (push) Has been cancelled
Findings Ledger CI / generate-manifest (push) Has been cancelled
Lighthouse CI / Lighthouse Audit (push) Has been cancelled
Lighthouse CI / Axe Accessibility Audit (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Reachability Corpus Validation / validate-corpus (push) Has been cancelled
Reachability Corpus Validation / validate-ground-truths (push) Has been cancelled
Scanner Analyzers / Discover Analyzers (push) Has been cancelled
Scanner Analyzers / Validate Test Fixtures (push) Has been cancelled
Signals CI & Image / signals-ci (push) Has been cancelled
Signals Reachability Scoring & Events / reachability-smoke (push) Has been cancelled
Reachability Corpus Validation / determinism-check (push) Has been cancelled
Scanner Analyzers / Build Analyzers (push) Has been cancelled
Scanner Analyzers / Test Language Analyzers (push) Has been cancelled
Scanner Analyzers / Verify Deterministic Output (push) Has been cancelled
Signals Reachability Scoring & Events / sign-and-upload (push) Has been cancelled
- Introduced `all-edge-reasons.json` to test edge resolution reasons in .NET. - Added `all-visibility-levels.json` to validate method visibility levels in .NET. - Created `dotnet-aspnetcore-minimal.json` for a minimal ASP.NET Core application. - Included `go-gin-api.json` for a Go Gin API application structure. - Added `java-spring-boot.json` for the Spring PetClinic application in Java. - Introduced `legacy-no-schema.json` for legacy application structure without schema. - Created `node-express-api.json` for an Express.js API application structure.
156 lines
4.1 KiB
JSON
156 lines
4.1 KiB
JSON
{
|
|
"schema": "stella.callgraph.v1",
|
|
"scanKey": "scan:spring-petclinic:3.2.0",
|
|
"language": "Java",
|
|
"artifacts": [
|
|
{
|
|
"artifactKey": "spring-petclinic-3.2.0.jar",
|
|
"kind": "jar",
|
|
"sha256": "f4d3c2b1a0987654321fedcba0987654321fedcba0987654321fedcba098765",
|
|
"purl": "pkg:maven/org.springframework.samples/spring-petclinic@3.2.0",
|
|
"filePath": "/app/spring-petclinic-3.2.0.jar",
|
|
"sizeBytes": 54321000
|
|
}
|
|
],
|
|
"nodes": [
|
|
{
|
|
"id": "j001",
|
|
"nodeId": "j001",
|
|
"name": "main",
|
|
"kind": "method",
|
|
"namespace": "org.springframework.samples.petclinic",
|
|
"file": "PetClinicApplication.java",
|
|
"line": 25,
|
|
"symbolKey": "org.springframework.samples.petclinic.PetClinicApplication::main(String[])",
|
|
"artifactKey": "spring-petclinic-3.2.0.jar",
|
|
"visibility": "Public",
|
|
"isEntrypointCandidate": true,
|
|
"attributes": {
|
|
"returnType": "void",
|
|
"modifiers": "public static"
|
|
},
|
|
"flags": 1
|
|
},
|
|
{
|
|
"id": "j002",
|
|
"nodeId": "j002",
|
|
"name": "showOwner",
|
|
"kind": "method",
|
|
"namespace": "org.springframework.samples.petclinic.owner",
|
|
"file": "OwnerController.java",
|
|
"line": 87,
|
|
"symbolKey": "org.springframework.samples.petclinic.owner.OwnerController::showOwner(int)",
|
|
"artifactKey": "spring-petclinic-3.2.0.jar",
|
|
"visibility": "Public",
|
|
"isEntrypointCandidate": true,
|
|
"attributes": {
|
|
"returnType": "ModelAndView",
|
|
"httpMethod": "GET",
|
|
"route": "/owners/{ownerId}"
|
|
},
|
|
"flags": 3
|
|
},
|
|
{
|
|
"id": "j003",
|
|
"nodeId": "j003",
|
|
"name": "findById",
|
|
"kind": "method",
|
|
"namespace": "org.springframework.samples.petclinic.owner",
|
|
"file": "OwnerRepository.java",
|
|
"line": 42,
|
|
"symbolKey": "org.springframework.samples.petclinic.owner.OwnerRepository::findById(Integer)",
|
|
"artifactKey": "spring-petclinic-3.2.0.jar",
|
|
"visibility": "Public",
|
|
"isEntrypointCandidate": false,
|
|
"attributes": {
|
|
"returnType": "Owner"
|
|
},
|
|
"flags": 0
|
|
},
|
|
{
|
|
"id": "j004",
|
|
"nodeId": "j004",
|
|
"name": "validateOwner",
|
|
"kind": "method",
|
|
"namespace": "org.springframework.samples.petclinic.owner",
|
|
"file": "OwnerValidator.java",
|
|
"line": 30,
|
|
"symbolKey": "org.springframework.samples.petclinic.owner.OwnerValidator::validateOwner(Owner)",
|
|
"artifactKey": "spring-petclinic-3.2.0.jar",
|
|
"visibility": "Protected",
|
|
"isEntrypointCandidate": false,
|
|
"flags": 0
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"sourceId": "j001",
|
|
"targetId": "j002",
|
|
"from": "j001",
|
|
"to": "j002",
|
|
"type": "spring-bean",
|
|
"kind": "Heuristic",
|
|
"reason": "DiBinding",
|
|
"weight": 0.85,
|
|
"isResolved": true,
|
|
"provenance": "SpringBoot"
|
|
},
|
|
{
|
|
"sourceId": "j002",
|
|
"targetId": "j003",
|
|
"from": "j002",
|
|
"to": "j003",
|
|
"type": "virtual",
|
|
"kind": "Static",
|
|
"reason": "VirtualCall",
|
|
"weight": 1.0,
|
|
"isResolved": true
|
|
},
|
|
{
|
|
"sourceId": "j002",
|
|
"targetId": "j004",
|
|
"from": "j002",
|
|
"to": "j004",
|
|
"type": "call",
|
|
"kind": "Static",
|
|
"reason": "DirectCall",
|
|
"weight": 1.0,
|
|
"offset": 156,
|
|
"isResolved": true
|
|
}
|
|
],
|
|
"entrypoints": [
|
|
{
|
|
"nodeId": "j001",
|
|
"kind": "Main",
|
|
"framework": "SpringBoot",
|
|
"source": "annotation",
|
|
"phase": "AppStart",
|
|
"order": 0
|
|
},
|
|
{
|
|
"nodeId": "j002",
|
|
"kind": "Http",
|
|
"route": "/owners/{ownerId}",
|
|
"httpMethod": "GET",
|
|
"framework": "Spring",
|
|
"source": "annotation",
|
|
"phase": "Runtime",
|
|
"order": 1
|
|
}
|
|
],
|
|
"metadata": {
|
|
"toolId": "stellaops.scanner.java",
|
|
"toolVersion": "1.0.0",
|
|
"analysisTimestamp": "2025-01-15T11:00:00Z",
|
|
"sourceCommit": "def789abc012",
|
|
"buildId": "build-002"
|
|
},
|
|
"id": "cg-java-spring-petclinic-001",
|
|
"languageString": "java",
|
|
"component": "spring-petclinic",
|
|
"version": "3.2.0",
|
|
"ingestedAt": "2025-01-15T11:00:00Z",
|
|
"graphHash": "sha256:b2c3d4e5f6a7"
|
|
}
|