本文整理了Java中com.evolveum.midpoint.prism.Item.getDefinition()
方法的一些代码示例,展示了Item.getDefinition()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Item.getDefinition()
方法的具体详情如下:
包路径:com.evolveum.midpoint.prism.Item
类名称:Item
方法名:getDefinition
[英]Returns applicable definition.
May return null if no definition is applicable or the definition is not known.
[中]返回适用的定义。
如果没有适用的定义或该定义未知,则可能返回null。
代码示例来源:origin: Evolveum/midpoint
public ItemDefinition<?> getSourceDefinition() {
return sourceItem != null ? sourceItem.getDefinition() : null;
}
代码示例来源:origin: Evolveum/midpoint
private Comparator<Item<?, ?>> getItemDisplayOrderComparator() {
return (o1, o2) -> compareDefinitions(o1.getDefinition(), o2.getDefinition());
}
代码示例来源:origin: Evolveum/midpoint
private <C extends Containerable> ItemDefinition getItemDefinition(PrismContainerValue<C> cval, Item<?, ?> item) {
if (item.getDefinition() != null) {
return item.getDefinition();
}
ComplexTypeDefinition ctd = cval.getComplexTypeDefinition();
if (ctd == null) {
return null;
}
return ctd.findLocalItemDefinition(item.getElementName());
}
代码示例来源:origin: Evolveum/midpoint
@NotNull
protected StringBuilder debugDumpCommon(int indent) {
StringBuilder sb = new StringBuilder();
DebugUtil.indentDebugDump(sb, indent);
sb.append("Item: ").append(name).append(" [rel-path: ").append(sourceRelPath).append("]");
if (sourceItem != null) {
sb.append(" ITEM");
final ItemDefinition def = sourceItem.getDefinition();
if (def != null) {
sb.append(" DEF(").append(def.getName().getLocalPart()).append("/").append(def.getDisplayName()).append(":").append(def.getDisplayOrder()).append(")");
}
}
if (operational) {
sb.append(" OPER");
}
return sb;
}
代码示例来源:origin: Evolveum/midpoint
@NotNull
MatchingRule getMatchingRuleFromRegistry(MatchingRuleRegistry matchingRuleRegistry, Item filterItem) {
try {
return matchingRuleRegistry.getMatchingRule(matchingRule, filterItem.getDefinition().getTypeName());
} catch (SchemaException ex){
throw new IllegalArgumentException(ex.getMessage(), ex);
}
}
代码示例来源:origin: Evolveum/midpoint
public static void assertDefinition(Item item, QName type, int minOccurs, int maxOccurs) {
ItemDefinition definition = item.getDefinition();
assertDefinition(definition, item.getElementName(), type, minOccurs, maxOccurs);
}
代码示例来源:origin: Evolveum/midpoint
public ItemDefinition getDefinition() {
Item<V,D> anyItem = getAnyItem();
if (anyItem != null) {
return anyItem.getDefinition();
}
if (delta != null) {
return delta.getDefinition();
}
return null;
}
代码示例来源:origin: Evolveum/midpoint
public void removeOperationalItems() {
accept(visitable -> {
if (visitable instanceof Item) {
Item item = ((Item) visitable);
if (item.getDefinition() != null && item.getDefinition().isOperational()) {
PrismValue parent = item.getParent();
if (parent instanceof PrismContainerValue) { // should be the case
((PrismContainerValue) parent).remove(item);
}
}
}
});
}
}
代码示例来源:origin: Evolveum/midpoint
private String getItemLabel(Item item) {
return item.getDefinition().getDisplayName() != null ?
resolve(item.getDefinition().getDisplayName()) : item.getElementName().getLocalPart();
}
代码示例来源:origin: Evolveum/midpoint
/**
* Marshals a given prism item (object, container, reference, property).
*
* @param item Item to be marshaled.
* @param itemName Name to give to the item in the marshaled form. Usually null (i.e. taken from the item itself).
* @param itemDefinition Definition to be used when parsing. Usually null (i.e. taken from the item itself).
* @param context Serialization context.
* @return Marshaled item.
*/
@NotNull
RootXNodeImpl marshalItemAsRoot(@NotNull Item<?, ?> item, QName itemName,
ItemDefinition itemDefinition, SerializationContext context) throws SchemaException {
@NotNull QName realItemName = itemName != null ? itemName : item.getElementName();
ItemDefinition realItemDefinition = itemDefinition != null ? itemDefinition : item.getDefinition();
XNodeImpl content = marshalItemContent(item, realItemDefinition, context);
if (realItemDefinition != null) {
addTypeDefinitionIfNeeded(realItemName, realItemDefinition.getTypeName(), content);
}
return new RootXNodeImpl(realItemName, content);
}
代码示例来源:origin: Evolveum/midpoint
@Override
public boolean canBeDefinitionOf(I item) {
if (item == null) {
return false;
}
ItemDefinition<?> itemDefinition = item.getDefinition();
if (itemDefinition != null) {
if (!QNameUtil.match(getTypeName(), itemDefinition.getTypeName())) {
return false;
}
// TODO: compare entire definition? Probably not.
return true;
}
return true;
}
代码示例来源:origin: Evolveum/midpoint
public Set<RAnyValue<?>> convertToRValue(Item item, boolean assignment,
RObjectExtensionType ownerType) throws SchemaException, DtoTranslationException {
Validate.notNull(item, "Object for converting must not be null.");
Validate.notNull(item.getDefinition(), "Item '" + item.getElementName() + "' without definition can't be saved.");
ItemDefinition definition = item.getDefinition();
Set<RAnyValue<?>> rValues = new HashSet<>();
if (!isIndexed(definition, item.getElementName(), areDynamicsOfThisKindIndexed(ownerType), prismContext)) {
return rValues;
}
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Converting any values of item {}; definition: {}", item, definition);
}
try {
RAnyValue rValue;
List<PrismValue> values = item.getValues();
for (PrismValue value : values) {
rValue = convertToRValue(value, assignment, ownerType);
rValues.add(rValue);
}
} catch (Exception ex) {
throw new DtoTranslationException("Exception when translating " + item + ": " + ex.getMessage(), ex);
}
return rValues;
}
代码示例来源:origin: Evolveum/midpoint
public <IV extends PrismValue,ID extends ItemDefinition, I extends Item<IV,ID>,DD extends ItemDelta<IV,ID>>
DD findItemDelta(ItemPath propertyPath, Class<DD> deltaType, Class<I> itemType, boolean strict) {
if (changeType == ChangeType.ADD) {
I item = objectToAdd.findItem(propertyPath, itemType);
if (item == null) {
return null;
}
DD itemDelta = createEmptyDelta(propertyPath, item.getDefinition(), deltaType, item.getClass());
itemDelta.addValuesToAdd(item.getClonedValues());
return itemDelta;
} else if (changeType == ChangeType.MODIFY) {
return findModification(propertyPath, deltaType, strict);
} else {
return null;
}
}
代码示例来源:origin: Evolveum/midpoint
private <V extends PrismValue, D extends ItemDefinition> void visitItem(Item<V,D> item, ValidationResult result) {
if (item.isRaw()) {
return;
}
D definition = item.getDefinition();
if (definition == null) {
return;
}
if (warnDeprecated && definition.isDeprecated()) {
warn(result, item, "deprecated");
}
if (warnPlannedRemoval) {
String plannedRemoval = definition.getPlannedRemoval();
if (plannedRemoval != null) {
if (warnPlannedRemovalVersion == null || plannedRemoval.equals(warnPlannedRemovalVersion)) {
warn(result, item, "planned for removal in version " + plannedRemoval);
}
}
}
}
代码示例来源:origin: Evolveum/midpoint
private SceneItemImpl createSceneItemCommon(Item<?,?> item) {
SceneItemImpl si = new SceneItemImpl(createSceneItemName(item));
ItemDefinition<?> def = item.getDefinition();
if (def != null) {
si.setOperational(def.isOperational());
}
si.setSourceItem(item);
si.setSourceRelPath(item.getElementName());
return si;
}
代码示例来源:origin: Evolveum/midpoint
private <IV extends PrismValue,ID extends ItemDefinition, I extends Item<IV,ID>> void deepCloneDefinitionItem(I item, boolean ultraDeep, PrismContainerDefinition<C> clonedContainerDef, Consumer<ItemDefinition> postCloneAction) {
PrismContainerDefinition<C> oldContainerDef = getDefinition();
ItemName itemName = item.getElementName();
ID oldItemDefFromContainer = oldContainerDef.findItemDefinition(itemName);
ID oldItemDef = item.getDefinition();
ID clonedItemDef;
if (oldItemDefFromContainer == oldItemDef) {
clonedItemDef = clonedContainerDef.findItemDefinition(itemName);
} else {
clonedItemDef = (ID) oldItemDef.deepClone(ultraDeep, postCloneAction);
}
((ItemImpl) item).propagateDeepCloneDefinition(ultraDeep, clonedItemDef, postCloneAction); // propagate to items in values
item.setDefinition(clonedItemDef); // sets CTD in values only if null!
}
代码示例来源:origin: Evolveum/midpoint
private NameImpl createSceneItemName(Item<?,?> item) {
NameImpl name = new NameImpl(item.getElementName().getLocalPart());
ItemDefinition<?> def = item.getDefinition();
if (def != null) {
name.setDisplayName(def.getDisplayName());
name.setDescription(def.getDocumentation());
}
name.setId(name.getSimpleName()); // todo reconsider
name.setNamesAreResourceKeys(true);
return name;
}
代码示例来源:origin: Evolveum/midpoint
protected void assertDefinitions(Visitable value) {
value.accept(v -> {
if (v instanceof Item) {
Item item = (Item) v;
String label = item.getPath() + ": " + v;
//System.out.println("Checking " + label);
if (item.getDefinition() == null) {
assertTrue("No definition in " + label, isDynamic(item.getPath()));
} else {
assertNotNull("No prism context in definition of " + label, item.getDefinition().getPrismContext());
}
} else if (v instanceof PrismContainerValue) {
PrismContainerValue pcv = (PrismContainerValue) v;
String label = pcv.getPath() + ": " + v;
//System.out.println("Checking " + label);
if (pcv.getComplexTypeDefinition() == null) {
fail("No complex type definition in " + label);
} else {
assertNotNull("No prism context in definition of " + label, pcv.getComplexTypeDefinition().getPrismContext());
}
}
});
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void testComplexMatch() throws Exception {
PrismObject<UserType> user = PrismTestUtil.parseObject(PrismInternalTestUtil.USER_JACK_FILE_XML);
// System.out.println("user given name" + user.asObjectable().getGivenName());
System.out.println("definition: " +user.findItem(UserType.F_FAMILY_NAME).getDefinition().debugDump());
ObjectFilter filter =
getPrismContext().queryFor(UserType.class)
.item(UserType.F_FAMILY_NAME).eq("Sparrow")
.and().item(UserType.F_FULL_NAME).contains("arr")
.and()
.block()
.item(UserType.F_GIVEN_NAME).eq("Jack")
.or().item(UserType.F_GIVEN_NAME).eq("Jackie")
.endBlock()
.buildFilter();
boolean match = ObjectQuery.match(user, filter, matchingRuleRegistry);
AssertJUnit.assertTrue("filter does not match object", match);
}
代码示例来源:origin: Evolveum/midpoint
@Test
public void testInboundMapping() throws Exception{
final String TEST_NAME = "testInboundMapping";
TestUtil.displayTestTitle(TEST_NAME);
PrismContext prismContext = evaluator.getPrismContext();
PrismObject<ShadowType> account = PrismTestUtil.parseObject(new File(MappingTestEvaluator.TEST_DIR + "/account-inbound-mapping.xml"));
Item oldItem = account.findItem(ItemPath.create(ShadowType.F_ATTRIBUTES, SchemaTestConstants.ICFS_NAME));
ItemDelta delta = prismContext.deltaFactory().property().createModificationAddProperty(SchemaTestConstants.ICFS_NAME_PATH_PARTS, (PrismPropertyDefinition) oldItem.getDefinition(), ((PrismPropertyValue) oldItem.getAnyValue()).getValue());
PrismObject<UserType> user = evaluator.getUserDefinition().instantiate();
MappingImpl<PrismPropertyValue<PolyString>,PrismPropertyDefinition<PolyString>> mapping = evaluator.createInboudMapping("mapping-inbound.xml", TEST_NAME, delta, user.asObjectable(), account.asObjectable(), null, null);
OperationResult opResult = new OperationResult(TEST_NAME);
mapping.evaluate(null, opResult);
PrismValueDeltaSetTriple<PrismPropertyValue<PolyString>> outputTriple = mapping.getOutputTriple();
outputTriple.checkConsistence();
assertTripleZero(outputTriple, PrismTestUtil.createPolyString("pavolr"));
PrismAsserts.assertTripleNoPlus(outputTriple);
assertTripleNoMinus(outputTriple);
}
内容来源于网络,如有侵权,请联系作者删除!