# Capital ⇄ Teamcenter Integration — Demo Package

A plugin suite for **Siemens Capital Systems Architect (2512)** that connects the
Capital **Platform Schematic** to a Teamcenter Logical Data Model. Three actions
ship in one JAR:

| Action | Where | What it shows |
|---|---|---|
| **Import from Teamcenter…** | Custom menu, platform design | Syncs Teamcenter component/carrier data (`TC_ID`, `TC_DOMAIN`, `TC_PARAM_*`) onto the design and audits functions / signals / allocations, reporting every gap. |
| **Teamcenter Browser** | Design Inspector tab | A live tree of the Teamcenter elements feeding the design — components with ports & parameters, functions, allocations, carriers, signals, messages, connections, requirements. |
| **Publish to Teamcenter…** | Custom menu, platform design | Walks the open design → a neutral **Logical BOM v1.1 JSON** written to the outbox (the "save to Teamcenter behind the scenes" payload). |

**This package is self-contained.** The default config runs everything against a
bundled multi-domain sample (`bundle.json` — a Body Control Module, a fuel boost
pump, CAN network, functions and requirement links). **No Teamcenter server, no
network, no credentials required** to demo Import, Browser, and Publish.

## 60-second start

1. **Install** — copy `plugins\XceleratorTcImport\` and
   `plugins\CustomMenuConfiguration.xml` into your `<CapitalHome>\plugins\`
   folder. Full steps + the menu-merge case: [INSTALL.md](INSTALL.md).
2. **Load** — start Capital Systems Architect (or **System ▸ Plugin ▸ Reload All**
   if it's already open) and open a **platform design**.
3. **Run the demo** — [DEMO-SCRIPT.md](DEMO-SCRIPT.md) is a click-by-click talk
   track for all three actions.

## Preview the data without Capital (optional)

The JAR is also a CLI, so you can show the pipeline on any machine with Java:

```
java -jar plugins\XceleratorTcImport\capital-tc-import.jar validate --file plugins\XceleratorTcImport\bundle.json
java -jar plugins\XceleratorTcImport\capital-tc-import.jar dry-run  --file plugins\XceleratorTcImport\bundle.json
```

`dry-run` prints every operation a real import would perform (parse →
referential-integrity validation → ordered import against a dry-run gateway).

## What's in the box

```
README.md                         ← you are here
INSTALL.md                        ← Capital install, step by step
DEMO-SCRIPT.md                    ← the demo talk track
plugins\
  XceleratorTcImport\
    capital-tc-import.jar         ← the plugin (3 actions) + CLI
    bundle.json                   ← the bundled demo dataset (multi-domain)
    tc-connection.properties      ← config (file-mode demo default)
    extras\jackson-*.jar          ← runtime deps (Capital 2512's own copies)
    tc-outbox\                    ← Publish writes Logical BOM JSON here
  CustomMenuConfiguration.xml     ← registers the 3 custom-menu actions
docs\
  exchange-format.md              ← the neutral JSON contract (v1.2)
  tc-connection.sample.properties ← fully annotated config template
```

## Notes

- **Prerequisite:** Capital Systems Architect **2512** (the plugin is compiled
  against 2512's `capitalapi.jar`).
- **Keep the `extras\jackson-*.jar` as shipped** — they are Capital 2512's own
  Jackson copies; substituting a different version causes classloader conflicts.
- The neutral JSON contract in [docs/exchange-format.md](docs/exchange-format.md)
  is the complete interface between the Capital side and the Teamcenter side — it
  is what any Teamcenter extraction must produce.
- **Live round-trip** (a running Teamcenter-side service instead of the bundled
  sample) is available but not included here — ask Chris for the `tc-service`
  build and a service URL. Switching is a two-line change in
  `tc-connection.properties` (see INSTALL.md).
