[
https://issues.apache.org/jira/browse/CAY-2942?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrus Adamchik closed CAY-2942.
--------------------------------
Resolution: Fixed
> CayenneModeler MCP: cgen_run tool
> ---------------------------------
>
> Key: CAY-2942
> URL: https://issues.apache.org/jira/browse/CAY-2942
> Project: Cayenne
> Issue Type: Task
> Reporter: Andrus Adamchik
> Assignee: Andrus Adamchik
> Priority: Major
> Fix For: 5.0-M2
>
>
> Add a new {{cgen_run}} tool to the CayenneModeler MCP server (on top of
> CAY-2936 scaffolding) that runs Cayenne's class generator for a single
> DataMap, using the {{cgen}} config already stored in the DataMap XML. Inputs
> are an absolute {{projectPath}} to the top-level {{cayenne-*.xml}} and a
> {{dataMap}} symbolic name. The tool reports only the runtime delta — what
> cgen did on disk — since the agent can read config from XML on its own.
> Validation runs in fixed order and short-circuits: project readable, parses,
> DataMap present, cgen config present, destDir specified, destDir writable.
> The response envelope is always the same shape: {{status}}
> ({{{}generated{}}}, {{{}up_to_date{}}}, {{{}validation_failed{}}},
> {{{}error{}}}), {{summary}} with filesConsidered/filesWritten, a {{files}}
> array of written files (each with server-classified {{kind}} and
> {{sourceEntity}}), {{{}resolved.destDir{}}}, captured warnings, a per-step
> {{validation}} block, and an {{error}} object with a stable code enum.
> Tool response structure:
> {noformat}
> {
> "status": "generated" | "up_to_date" | "validation_failed" | "error",
> "summary": {
> "filesConsidered": 0,
> "filesWritten": 0
> },
> "files": [
> {
> "path": "/abs/path/Foo.java",
> "kind": "datamap" | "entity-super" | "entity-sub" | "embeddable-super"
> | "embeddable-sub",
> "sourceEntity" : "Foo"
> }
> ],
> "resolved": {
> "destDir": "/abs/path/src/main/java"
> },
> "warnings": ["..."],
> "validation": {
> "projectFound": true,
> "dataMapFound": true,
> "cgenConfigPresent": true,
> "destDirSpecified": true,
> "destDirWritable": true
> },
> "error": {"code" : ..., "message" : "..."}
> }
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)