[ZEPPELIN-6427] Convert interpreter setting form to typed reactive forms

### What is this PR for?

Numeric interpreter properties edited in the Angular UI are sent as JSON numbers, which Gson deserializes as `Double` (`60000` → `"60000.0"`), breaking `Long`/`Integer` parsing in interpreters such as JDBC (ZEPPELIN-6395). The server-side workaround from ZEPPELIN-6131 only covers the update path, not create.

This PR fixes it on the client by converting `InterpreterItemComponent` from `UntypedFormBuilder` to typed reactive forms:

- Non-checkbox values are sent as strings (like the classic UI); checkbox values stay real booleans, and `"true"`/`"false"` strings from corrupted data are normalized back on save.
- New request DTOs mirror the fields `InterpreterOption.java` actually reads; the UI-only `session`/`process` fields (dead since ZEPPELIN-1210) are no longer sent.
- Fixes wrong `Properties.value`/`type` interface types; response option fields that Gson omits when null are now optional.

Alternative to #5147, which stringifies checkbox booleans too — persisting `"false"` makes an unchecked checkbox render as checked on reload. Credit to <at>kevinjmh for the original diagnosis.

### What type of PR is it?
Improvement

### What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-6427 (fixes ZEPPELIN-6395)

### How should this be tested?

No unit test infra exists in `zeppelin-web-angular` (Playwright e2e only), so verified by `ng build` (strict, 0 errors), lint/prettier, and manually: numeric property saves as `"60000"` in `interpreter.json` (create and update), JDBC paragraph runs without `NumberFormatException`, unchecked checkbox stays unchecked after reload, and a regression pass over create/edit/cancel, property and dependency CRUD, and interpreter binding mode options.

### Screenshots (if appropriate)
N/A

### Questions:
* Does the license files need to update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No


Closes #5265 from tbonelee/ZEPPELIN-6427-typed-interpreter-forms.

Signed-off-by: ChanHo Lee <chanholee@apache.org>
5 files changed
tree: 4b8813a929a28d54ce0bf50d6fd4fdeadc134777
  1. .github/
  2. .husky/
  3. .mvn/
  4. angular/
  5. bigquery/
  6. bin/
  7. build-tools/
  8. cassandra/
  9. conf/
  10. dev/
  11. docs/
  12. elasticsearch/
  13. examples/
  14. file/
  15. flink/
  16. flink-cmd/
  17. groovy/
  18. hbase/
  19. helium-dev/
  20. influxdb/
  21. java/
  22. jdbc/
  23. k8s/
  24. licenses/
  25. livy/
  26. markdown/
  27. mongodb/
  28. neo4j/
  29. notebook/
  30. python/
  31. rlang/
  32. scripts/
  33. shell/
  34. spark/
  35. spark-submit/
  36. sparql/
  37. testing/
  38. zeppelin-client/
  39. zeppelin-client-examples/
  40. zeppelin-common/
  41. zeppelin-distribution/
  42. zeppelin-examples/
  43. zeppelin-integration/
  44. zeppelin-interpreter/
  45. zeppelin-interpreter-integration/
  46. zeppelin-interpreter-parent/
  47. zeppelin-interpreter-shaded/
  48. zeppelin-jupyter/
  49. zeppelin-jupyter-interpreter/
  50. zeppelin-jupyter-interpreter-shaded/
  51. zeppelin-plugins/
  52. zeppelin-server/
  53. zeppelin-test/
  54. zeppelin-web/
  55. zeppelin-web-angular/
  56. .asf.yaml
  57. .gitattributes
  58. .gitignore
  59. AGENTS.md
  60. Dockerfile
  61. LICENSE
  62. mvnw
  63. mvnw.cmd
  64. NOTICE
  65. pom.xml
  66. README.md
  67. Roadmap.md
  68. SECURITY-README.md
  69. SECURITY.md
  70. STYLE.md
  71. THREAT_MODEL.md
README.md

Apache Zeppelin

Documentation: User Guide
Mailing Lists: User and Dev mailing list
Continuous Integration: core frontend rat
Contributing: Contribution Guide
Issue Tracker: Jira
License: Apache 2.0

Zeppelin, a web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.

Core features:

  • Web based notebook style editor.
  • Built-in Apache Spark support

To know more about Zeppelin, visit our web site https://zeppelin.apache.org

Getting Started

Install binary package

Please go to install to install Apache Zeppelin from binary package.

Build from source

Please check Build from source to build Zeppelin from source.