[midPoint-git] [Evolveum/prism] 021319: Support PolyString attributes in the repository
mederly
noreply at github.com
Mon Dec 11 19:16:26 CET 2023
Branch: refs/heads/feature/attributes-as-polystrings
Home: https://github.com/Evolveum/prism
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).
More information about the midPoint-svn
mailing list