[midPoint-git] [Evolveum/prism] b1cfda: Decouple normalization from matching rules

mederly noreply at github.com
Mon Feb 26 22:02:46 CET 2024


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/prism
  Commit: b1cfda4dbe44bdd779284ed4864ab39fcf548e1a
      https://github.com/Evolveum/prism/commit/b1cfda4dbe44bdd779284ed4864ab39fcf548e1a
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-11-20 (Mon, 20 Nov 2023)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismConstants.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismPropertyDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/ValueBasedDefinitionLookupHelper.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PropertyDefinitionDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/match/MatchingRule.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/match/MatchingRuleRegistry.java
    A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/normalization/Normalizer.java
    A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/normalization/StringNormalizer.java
    A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/polystring/NormalizerRegistry.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/polystring/PolyStringNormalizer.java
    R infra/prism-api/src/main/java/com/evolveum/midpoint/prism/polystring/PolyStringNormalizerRegistry.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/util/PrismTestUtil.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContextImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/DefaultMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/DistinguishedNameMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/ExchangeEmailAddressesMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/MatchingRuleRegistryImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/PolyStringNormMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/PolyStringOrigMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/PolyStringStrictMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/StringIgnoreCaseMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/UuidMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/XmlMatchingRule.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/AbstractConfigurablePolyStringNormalizer.java
    R infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/AbstractPolyStringNormalizer.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/AlphanumericPolyStringNormalizer.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/Ascii7PolyStringNormalizer.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/BaseStringNormalizer.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/DefaultNormalizer.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/DistinguishedNameNormalizer.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/ExchangeEmailAddressNormalizer.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/LowercaseStringNormalizer.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/NormalizerRegistryFactory.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/NormalizerRegistryImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/PassThroughPolyStringNormalizer.java
    R infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/PolyStringNormalizerRegistryFactory.java
    R infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/PolyStringNormalizerRegistryImpl.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/UuidNormalizer.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/XmlNormalizer.java
    M infra/util/src/main/java/com/evolveum/midpoint/util/MiscUtil.java

  Log Message:
  -----------
  Decouple normalization from matching rules

For a long time, the idea of normalization was tightly coupled with
the concept of matching rule. For example, distinguishedName matching
rule involved the normalization algorithm for LDAP Distinguished names.

This was now changed. A normalizer prescribes the normalization
and matching algorithm, i.e. how a value is normalized, and how
two values are matched. This can be applied to polystring creation, by
specifying how the "norm" values should be derived from "orig" ones.
But for the actual querying that involves polystrings, two distinct
matching rules are to be used: polyStringOrig (matching original value)
and polyStringNorm (matching the normalized value).

Work in progress. This approach is not definite. The code is not
complete.

We may consider replacing the term "matchingRule" by "normalization"
for attribute definitions.


  Commit: 04edc0c7fe322b64d864783af761d0dbda15ebfa
      https://github.com/Evolveum/prism/commit/04edc0c7fe322b64d864783af761d0dbda15ebfa
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-11-23 (Thu, 23 Nov 2023)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/ComplexTypeDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/Item.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/ItemDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/MutableItemDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismContainer.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismContainerValue.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismObject.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismPropertyDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismReferenceValue.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismValue.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/ContainerDefinitionDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/ItemDefinitionDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/ItemDeltaDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/ObjectDefinitionDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/PropertyDefinitionDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ItemDelta.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ItemDeltaCollectionsUtil.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ObjectDelta.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/match/MatchingRuleRegistry.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/util/ItemDeltaItem.java
    M infra/prism-api/src/main/java/com/evolveum/prism/xml/ns/_public/types_3/RawType.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ComplexTypeDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/DefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ItemDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ItemFactoryImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ItemImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismObjectImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismReferenceImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismReferenceValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/delta/ItemDeltaImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/delta/ObjectDeltaImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/item/DummyItem.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/metadata/ValueMetadataAdapter.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/SchemaRegistryImpl.java
    M infra/util/src/main/java/com/evolveum/midpoint/util/MiscUtil.java
    M infra/util/src/main/java/com/evolveum/midpoint/util/exception/SchemaException.java

  Log Message:
  -----------
  Clarify applyDefinition contract/implementation

Related to MID-2119.


  Commit: cd75c96b3134f11e77ad795434da2cfb503f2a5a
      https://github.com/Evolveum/prism/commit/cd75c96b3134f11e77ad795434da2cfb503f2a5a
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-11-30 (Thu, 30 Nov 2023)

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

  Log Message:
  -----------
  Fix DistinguishedNameNormalizer

Due to some optimizations in underlying library, our original code
for normalizing LDAP DNs no longer works. This commit fixes that.


  Commit: 0213195e58a5c37826fd630d613c7dba57df9e5d
      https://github.com/Evolveum/prism/commit/0213195e58a5c37826fd630d613c7dba57df9e5d
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-12-11 (Mon, 11 Dec 2023)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/Item.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/ItemDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismConstants.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismContext.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismPropertyDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismValueCollectionsUtil.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/ItemDefinitionDelegator.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ItemDelta.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ObjectDeltaUtil.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/PropertyDelta.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/match/MatchingRule.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/match/MatchingRuleRegistry.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/normalization/StringNormalizer.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/polystring/NormalizerRegistry.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/polystring/PolyString.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/query/ValueFilter.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/schema/SchemaRegistry.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/util/PrismUtil.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/xml/XsdTypeMapper.java
    M infra/prism-api/src/main/java/com/evolveum/prism/xml/ns/_public/types_3/RawType.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ComplexTypeDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/DefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/DummyPrismObjectDefinition.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ItemImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContextImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismObjectImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismReferenceDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/SimpleTypeDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/delta/ItemDeltaImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/delta/ObjectDeltaFactoryImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/delta/PropertyDeltaImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/marshaller/PrismUnmarshaller.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/DefaultMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/PolyStringNormMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/PolyStringOrigMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/PolyStringStrictMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/match/StringIgnoreCaseMatchingRule.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/BaseStringNormalizer.java
    R infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/DefaultNormalizer.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/NoOpNormalizer.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/NormalizerRegistryFactory.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/PolyStringNormNormalizer.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/polystring/PolyStringOrigNormalizer.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/PropertyValueFilterImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/ValueFilterImpl.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/xnode/PrimitiveXNodeImpl.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/AbstractPrismTest.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/TestPerformance.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/TestPrismContext.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/TestPrismSchemaConstruction.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/match/TestMatchingRule.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/path/ItemPathTest.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/query/TestQueryConverters.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/query/lang/TestQueryConverters.java
    M infra/util/src/main/java/com/evolveum/midpoint/util/MiscUtil.java
    M infra/util/src/main/java/com/evolveum/midpoint/util/PrettyPrinter.java

  Log Message:
  -----------
  Support PolyString attributes in the repository

This commit brings the necessary support for the PolyString repo shadow
attributes:

- It removes the assumption that there is a single PolyString
normalization algorithm in the system. So, for example,
PolyStrings are not recomputed if there is already a norm value there.

- There are minor changes around matching rules, normalizers,
diagnostics. In particular, the real PolyStringOrig/Norm normalizers are
finally provided that comply with the definition of Normalizer<T>.

- There are minor changes in parsing algorithm needed to support
xsi:type for shadow attributes (see
SchemaRegistryImpl#locateItemDefinition).

- Application and re-application of definitions to prism
items and values was clarified a bit. (But a set of PolyString/String
hacks were introduced to PrismPropertyValueImpl, to be resolved later.)

Related to MID-2119 (shadow caching).


  Commit: 2d85325d114f85824752dd8aec0a2a7ad09d762d
      https://github.com/Evolveum/prism/commit/2d85325d114f85824752dd8aec0a2a7ad09d762d
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-12-22 (Fri, 22 Dec 2023)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismPropertyDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ObjectDelta.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ObjectDeltaCollectionsUtil.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/xml/XsdTypeMapper.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/lang/PrismQueryLanguageParserImpl.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/TestDelta.java
    M infra/util/src/main/java/com/evolveum/midpoint/util/PrettyPrinter.java

  Log Message:
  -----------
  Do various changes to make tests pass

In particular:

1. Avoiding null definition application in
   PrismContainerValueImpl.deepCloneDefinitionItem
   (as the applyDefinition now requires non-null definition reference).

2. Introducing PrismPropertyDefinition.getTypeClassLegacy, as the
   (fixed) getTypeClass breaks some things related to axiom query
   parsing.

3. Temporary introduction of PrismPropertyDefinition.adoptRealValues
   method (related to normalization-aware definitions).

4. Removed temporary mapping of ProtectedStringType in XsdTypeMapper.
   (No longer needed; and it was only a quick hack anyway.)

Related to MID-2119 (shadow caching).


  Commit: 9ed389ad6df043ad067ece62a8e0a3993418a3f5
      https://github.com/Evolveum/prism/commit/9ed389ad6df043ad067ece62a8e0a3993418a3f5
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-12-22 (Fri, 22 Dec 2023)

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

  Log Message:
  -----------
  Fix REPLACE deltas that change the type

The application of REPLACE delta on an item now
always overwrites the definition. This is necessary
to correct functioning of shadow caching (updating
String to PolyString attributes).

Related to MID-2119.


  Commit: 6c62bebb4df699100dd6a4fe9223d9daa75eb76c
      https://github.com/Evolveum/prism/commit/6c62bebb4df699100dd6a4fe9223d9daa75eb76c
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-12-23 (Sat, 23 Dec 2023)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/util/JavaTypeConverter.java

  Log Message:
  -----------
  Fix long<->int conversion

Related to "loot" change from int to long.


  Commit: 7670e747a4fe6347d4a6f0563ab871b711606e82
      https://github.com/Evolveum/prism/commit/7670e747a4fe6347d4a6f0563ab871b711606e82
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-12-28 (Thu, 28 Dec 2023)

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

  Log Message:
  -----------
  Fix determination of global item definition

The change needed for shadow caching (polystring attributes) was too
harsh, breaking TestStrings. This commit refines it a little.

Related to MID-2119 (shadow caching).


  Commit: 0a70b06b81de86dccaa30c8b2c2db8d72cb98851
      https://github.com/Evolveum/prism/commit/0a70b06b81de86dccaa30c8b2c2db8d72cb98851
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-01-08 (Mon, 08 Jan 2024)

  Changed paths:
    M infra/axiom/src/main/antlr4/com/evolveum/axiom/lang/antlr/query/AxiomQueryParser.g4
    A infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomQueryError.java
    M infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomQuerySource.java
    A infra/axiom/src/main/java/com/evolveum/axiom/lang/antlr/AxiomQuerySyntaxErrorListener.java
    M infra/axiom/src/test/resources/prism/old/common-core.axiom
    M infra/axiom/src/test/resources/prism/old/common-core.prism
    M infra/prism-api/pom.xml
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/Definition.java
    A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/DisplayHint.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/ItemDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/MutableDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/MutableItemDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismConstants.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/deleg/DefinitionDelegator.java
    A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/query/AxiomQueryLangService.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/schema/SchemaRegistry.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/DefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/DummyPrismObjectDefinition.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ItemDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismReferenceDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/marshaller/ItemPathHolder.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/lang/AxiomQueryCompletionVisitor.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/lang/AxiomQueryLangServiceImpl.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/lang/AxiomQueryValidationVisitor.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/lang/FilterNamesProvider.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/lang/PrismQueryLanguageParserImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/DomToSchemaPostProcessor.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/SchemaRegistryImpl.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/annotation/AlwaysUseForEqualsProcessor.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/annotation/Annotation.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/annotation/AnnotationProcessor.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/annotation/EnumAnnotationProcessor.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/annotation/IgnoreProcessor.java
    A infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/annotation/ItemProcessingProcessor.java
    M infra/prism-impl/src/main/resources/xml/ns/public/annotation-3.xsd
    M infra/prism-impl/src/main/resources/xml/ns/test/foo-1.xsd
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/PrismInternalTestUtil.java
    A infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/query/lang/TestQueryValidation.java
    M tools/xjc-plugin/pom.xml

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master' into feature/attributes-as-polystrings

# Conflicts:
#	infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/DefinitionImpl.java


  Commit: d734bd3c08a9993d11202a79540c1edc7fd6ca2b
      https://github.com/Evolveum/prism/commit/d734bd3c08a9993d11202a79540c1edc7fd6ca2b
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-01-08 (Mon, 08 Jan 2024)

  Changed paths:
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/query/lang/TestQueryValidation.java

  Log Message:
  -----------
  Do an after-merge fix

Related to MID-2119 (shadow caching).


  Commit: 4c4f042c14143ccc60e24208ba90a69c66c02e54
      https://github.com/Evolveum/prism/commit/4c4f042c14143ccc60e24208ba90a69c66c02e54
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-02-01 (Thu, 01 Feb 2024)

  Changed paths:
    A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/ResolvedItemPath.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/ValueFilterImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/lang/AxiomQueryCompletionVisitor.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/lang/AxiomQueryLangServiceImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/lang/FilterNamesProvider.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/query/lang/PrismQueryLanguageParserImpl.java
    A infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/query/lang/TestQueryCompletion.java
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/query/lang/TestQueryValidation.java

  Log Message:
  -----------
  Merge branch 'master' into feature/new-associations


  Commit: ee722e16b49e9470f397c4c7f16d8e928e70723e
      https://github.com/Evolveum/prism/commit/ee722e16b49e9470f397c4c7f16d8e928e70723e
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/ComplexTypeDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/Definition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/Item.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/MutableComplexTypeDefinition.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismConstants.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/PrismProperty.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ItemDelta.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/delta/ObjectDelta.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/util/PrismUtil.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ComplexTypeDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/ItemDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerDefinitionImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismContainerValueImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/PrismPropertyImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/item/DummyPropertyImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/marshaller/PrismUnmarshaller.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/DomToSchemaPostProcessor.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/schema/SchemaRegistryImpl.java
    M infra/prism-impl/src/main/resources/xml/ns/public/annotation-3.xsd
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/query/lang/TestQueryCompletion.java
    A infra/util/src/main/java/com/evolveum/midpoint/util/Checkable.java
    M infra/util/src/main/java/com/evolveum/midpoint/util/DebugUtil.java
    M infra/util/src/main/java/com/evolveum/midpoint/util/MiscUtil.java

  Log Message:
  -----------
  Support new associations

1. Added "defaultItemTypeName" annotation to support parsing
associations (items in shadow <associations> container) without
specifying the explicit xsi:type of ShadowAssociationValueType.

2. Added experimental Checkable interface.

3. Un-deprecated Definition#isIgnored method. It is quite useful
as a shortcut.

4. Added some less important auxiliary methods.


  Commit: 113bb5b5ee4baeb9f330a0679c5f999833d5575e
      https://github.com/Evolveum/prism/commit/113bb5b5ee4baeb9f330a0679c5f999833d5575e
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-02-26 (Mon, 26 Feb 2024)

  Changed paths:
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/crypto/ProtectedData.java
    A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/crypto/SecretsProvider.java
    A infra/prism-api/src/main/java/com/evolveum/midpoint/prism/crypto/SecretsResolver.java
    M infra/prism-api/src/main/java/com/evolveum/midpoint/prism/xml/DynamicNamespacePrefixMapper.java
    A infra/prism-api/src/main/java/com/evolveum/prism/xml/ns/_public/types_3/ExternalDataType.java
    M infra/prism-api/src/main/java/com/evolveum/prism/xml/ns/_public/types_3/ProtectedDataType.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/crypto/BaseProtector.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/crypto/KeyStoreBasedProtectorImpl.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/marshaller/BeanMarshaller.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/marshaller/XNodeProcessorUtil.java
    M infra/prism-impl/src/main/java/com/evolveum/midpoint/prism/impl/xml/GlobalDynamicNamespacePrefixMapper.java
    M infra/prism-impl/src/main/resources/xml/ns/public/types-3.xsd
    M infra/prism-impl/src/test/java/com/evolveum/midpoint/prism/lex/TestProtectedString.java
    A infra/util/src/main/java/com/evolveum/midpoint/util/DependencyGraph.java
    A infra/util/src/test/java/com/evolveum/midpoint/util/DependencyGraphTest.java
    M infra/util/testng-unit.xml
    M pom.xml

  Log Message:
  -----------
  Merge branch 'master' into tmp/new-associations-cleanup


Compare: https://github.com/Evolveum/prism/compare/8d39929991d4...113bb5b5ee4b

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