Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


PoC Code

Findings

  • Antlr4 can replace regex with less and more readable code
  • Replacement of regex for CpsPathQuery fully replaced by fully compatible object generated using Antlr4 this commit: https://gerrit.onap.org/r/c/cps/+/121503
  • Needed to add explicit error rule for handling unexpected tokens (otherwise Antlr would ignore them):  ErrorCharacter : . ;
  • Current CPS code using regex is inconsistent and needless limited for single leave condition
  • Current CPS code was lac re. @ lacking @ token for attribute names in some test cases (fixed in https://gerrit.onap.org/r/c/cps/+/121503)
  • CpsPathQuerySpec did not cover all necessary possibilities (as used in some DB integration tests) This has now been addressed 
  • CpsDataPersistenceQueryDataNodeSpec contains some grammar tests that should be (are already) in  CpsPathQuerySpec
  • IntelliJ plugin very useful for quick testing and troubleshooting of grammar
  • Not sure of best way to refresh generated code (in IntelliJ) mvn clean install in cps-path-parser seems the surest way

...