Files
pi_mcps/java/mss-failsafe/.github/refresh_fake_id.instructions.md
Patrick Plate 1a0a56a626 chore(java): consolidate mss-failsafe to single canonical copy
Replace the stale multi-module java/mss-failsafe skeleton (old user-management
prototype) with the active single-module machine-safety inspection app that was
living in its own standalone repo at the repo root.

- Remove old java/mss-failsafe/ multi-module tree (mss, userdata, userManagement,
  mssfailsafe.datalayer, mssfailsafeWeblayer) incl. committed build artifacts
- Add the active app (PrimeFaces 11 / JSF 2.3 / Hibernate 5.6 / iText / POI)
  flattened into java/mss-failsafe/ as the only mss-failsafe in git
- Working tree captured = master tip 2a142b5 + in-progress uncommitted work
  (incl. .github/*.instructions.md AI-context files)
- Archive the standalone repo's 33-commit history in GIT_HISTORY_ARCHIVE.md
  since its .git was not migrated

This is the source of truth / base for the upcoming upgraded rewrite.
2026-06-13 19:55:28 +02:00

740 B
Executable File

Refresh & Fake ID Instructions

Fake ID

  • Negative Long Werte (<0) = temporär
  • Sequenz: -1, -2, -3 ... (kleinste negative - 1)
  • Erzeugung: AbstractController.createFakeID(Collection)

Persist

  • Vor Speichern: if id < 0 -> setId(null)
  • save/saveAll: id == null => persist, sonst merge

Refresh

  • AbstractController.refrehSelected() (Tippfehler) -> getManager().refresh(selected)
  • AbstractManager.refresh(entity): if id == null -> save(entity); merge + Hibernate.initialize(entity)

Best Practices

  • Nach Add/Remove Child Collections refresh
  • Beim Klonen zuerst Quelle laden

Verbesserungen

  • Methode umbenennen zu refreshSelected()
  • JavaDoc für createFakeID

Aktualisiert: 2025-10-20