[midPoint-git] [Evolveum/prism] 5a4f65: JSON Parser: Use provided item definition to skip ...

Tony Tkáčik noreply at github.com
Wed May 22 11:09:15 CEST 2024


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/prism
  Commit: 5a4f650d9ecc1578d976bc64929420966eb31d67
      https://github.com/Evolveum/prism/commit/5a4f650d9ecc1578d976bc64929420966eb31d67
  Author: Tony Tkáčik <tonydamage at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/LexicalProcessor.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/dom/DomLexicalProcessor.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/json/DelegatingLexicalProcessor.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/json/NullLexicalProcessor.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/json/reader/AbstractReader.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/lex/json/reader/JsonReadingContext.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/marshaller/PrismParserImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/xnode/XNodeDefinition.java

  Log Message:
  -----------
  JSON Parser: Use provided item definition to skip registry lookup

JSON parser (and other lexical processors) did not used provided
Item Definition during their parsing.

Updated lexer API to allow for item definition to be passed.
Updated XNodeDefinition with new type, root expecting concrete item.
If item name matches uses provided item definition, otherwise fallback
to original behaviour.

This reduces lookups into schema registry if parser is constructed correctly
in repository code (Where we known item definition beforehand).


  Commit: cf84baf9d0e44d3534382cf63767b2bd2e463c34
      https://github.com/Evolveum/prism/commit/cf84baf9d0e44d3534382cf63767b2bd2e463c34
  Author: Tony Tkáčik <tonydamage at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/schema/SchemaRegistryState.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/SchemaRegistryImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/SchemaRegistryStateImpl.java

  Log Message:
  -----------
  Schema Registry State: Introduced caching od derived items.

Sometimes other components needs to retrieve information from schema
registry and cache it. Usually it was done by caching the result in
private field, which does work, but will not react to schema changes.

Introduced cache API into schema state which uses derivation key
(component specific key) and provided function to compute and cache
this types of values.

Users of the API should not cache returned values, but rather always
call this method on schema state (value will be cached there).


  Commit: 1d5ca76a51266cce1c27d5155d0349dd0e9f8e70
      https://github.com/Evolveum/prism/commit/1d5ca76a51266cce1c27d5155d0349dd0e9f8e70
  Author: Tony Tkáčik <tonydamage at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/xnode/XNodeDefinition.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/TestPrismParsingJson.java

  Log Message:
  -----------
  Fixed JSON tests


  Commit: 1618920e8a9f6ef8350df288d4f32ec8f8b62749
      https://github.com/Evolveum/prism/commit/1618920e8a9f6ef8350df288d4f32ec8f8b62749
  Author: Tony Tkáčik <tonydamage at gmail.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/xnode/XNodeDefinition.java

  Log Message:
  -----------
  Json Fixed QName parsing: Do not return ItemName when parser asks for QName explicitly


Compare: https://github.com/Evolveum/prism/compare/b101328ac045...1618920e8a9f

To unsubscribe from these emails, change your notification settings at https://github.com/Evolveum/prism/settings/notifications


More information about the midPoint-svn mailing list