com.evolveum.midpoint.prism.Item.getClonedValues()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(5.5k)|赞(0)|评价(0)|浏览(90)

本文整理了Java中com.evolveum.midpoint.prism.Item.getClonedValues()方法的一些代码示例,展示了Item.getClonedValues()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Item.getClonedValues()方法的具体详情如下:
包路径:com.evolveum.midpoint.prism.Item
类名称:Item
方法名:getClonedValues

Item.getClonedValues介绍

暂无

代码示例

代码示例来源:origin: Evolveum/midpoint

public static <V extends PrismValue, D extends ItemDefinition> ItemDelta<V, D> createAddDeltaFor(Item<V, D> item) {
  ItemDelta<V, D> rv = item.createDelta(item.getPath());
  rv.addValuesToAdd(item.getClonedValues());
  return rv;
}

代码示例来源:origin: Evolveum/midpoint

public static <IV extends PrismValue,ID extends ItemDefinition> Item<IV,ID> parseValueElements(Collection<?> valueElements,
    ID outputDefinition, String contextDescription) throws SchemaException {
  Item<IV,ID> output = null;
  for (Object valueElement: valueElements) {
    RawType rawType = getRawType(valueElement, contextDescription);
    Item<IV,ID> elementItem = rawType.getParsedItem(outputDefinition);
    if (output == null) {
      output = elementItem;
    } else {
      output.addAll(elementItem.getClonedValues());
    }
  }
  return output;
}

代码示例来源:origin: Evolveum/midpoint

private <O extends ObjectType, I extends Item> Collection<PrismValue> getValuesToTake(PrismObject<O> objectLeft, PrismObject<O> objectRight,
    String side, I origItem, MergeStrategyType strategy, Expression<PrismValue, ItemDefinition> valueExpression, Task task, OperationResult result)
        throws ConfigurationException, SchemaException, ExpressionEvaluationException, ObjectNotFoundException, CommunicationException, SecurityViolationException {
  if (origItem == null) {
    return new ArrayList<>(0);
  }
  if (strategy == MergeStrategyType.TAKE) {
    return cleanContainerIds(origItem.getClonedValues());
  } else if (strategy == MergeStrategyType.EXPRESSION) {
    if (valueExpression == null) {
      throw new ConfigurationException("Expression strategy specified but no expression present");
    }
    List<PrismValue> origValues = origItem.getValues();
    Collection<PrismValue> valuesToTake = new ArrayList<>(origValues.size());
    for (PrismValue origValue: origValues) {
      Collection<PrismValue> expressionOutput = evaluateValueExpression(objectLeft, objectRight, side, origValue, valueExpression, task, result);
      if (expressionOutput != null) {
        valuesToTake.addAll(expressionOutput);
      }
    }
    return cleanContainerIds(valuesToTake);
  } else {
    throw new ConfigurationException("Unknown strategy "+strategy);
  }
}

代码示例来源: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

itemDelta.addValuesToAdd(item.getClonedValues());
Collection<PartiallyResolvedDelta<IV,ID>> deltas = new ArrayList<>(1);
deltas.add(new PartiallyResolvedDelta<>(itemDelta, partialValue.getResidualPath()));

代码示例来源:origin: Evolveum/midpoint

private <D extends ItemDelta> D findModification(ItemPath propertyPath, Class<D> deltaType, boolean strict) {
  if (isModify()) {
    return ItemDeltaCollectionsUtil.findItemDelta(modifications, propertyPath, deltaType, strict);
  } else if (isAdd()) {
    Item<PrismValue, ItemDefinition> item = getObjectToAdd().findItem(propertyPath);
    if (item == null) {
      return null;
    }
    D itemDelta = (D) item.createDelta();
    itemDelta.addValuesToAdd(item.getClonedValues());
    return itemDelta;
  } else {
    return null;
  }
}

代码示例来源:origin: Evolveum/midpoint

private void handleObjectExtensionWholeContainer(RObject object, ItemDelta delta, PrismIdentifierGenerator idGenerator) {
  RObjectExtensionType extType = computeObjectExtensionType(delta);
  if (!delta.isAdd()) {
    clearExtension(object, extType);
  }
  if (delta.isDelete()) {
    return;
  }
  PrismContainerValue extension = (PrismContainerValue) delta.getAnyValue();
  for (Item item : (List<Item>) extension.getItems()) {
    ItemDelta itemDelta = item.createDelta();
    itemDelta.setValuesToReplace(item.getClonedValues());
    processAnyExtensionDeltaValues(itemDelta, object, extType, null, null, idGenerator);
  }
}

代码示例来源:origin: Evolveum/midpoint

private void handleAssignmentExtensionWholeContainer(RAssignment assignment, ItemDelta delta, PrismIdentifierGenerator idGenerator) {
  RAssignmentExtension ext = assignment.getExtension();
  if (!delta.isAdd()) {
    if (ext != null) {
      clearExtension(ext);
    }
  }
  if (delta.isDelete()) {
    return;
  }
  if (ext == null) {
    ext = new RAssignmentExtension();
    ext.setOwner(assignment);
    assignment.setExtension(ext);
  }
  PrismContainerValue extension = (PrismContainerValue) delta.getAnyValue();
  for (Item item : (List<Item>) extension.getItems()) {
    ItemDelta itemDelta = item.createDelta();
    itemDelta.setValuesToReplace(item.getClonedValues());
    processAnyExtensionDeltaValues(itemDelta, null, null, ext,
        RAssignmentExtensionType.EXTENSION, idGenerator);
  }
}

代码示例来源:origin: Evolveum/midpoint

Item<IV,ID> item = partialValue.getItem();
  itemDelta = item.createDelta();
  itemDelta.addValuesToAdd(item.getClonedValues());
} else {
    Item<IV,ID> item = partialValue.getItem();
    itemDelta = item.createDelta();
    itemDelta.addValuesToDelete(item.getClonedValues());
  } else {

代码示例来源:origin: Evolveum/midpoint

itemDelta.addValuesToAdd(otherItem.getClonedValues());
if (!itemDelta.isEmpty()) {
  ((Collection)deltas).add(itemDelta);

代码示例来源:origin: Evolveum/midpoint

outputFocusItemDelta.addValuesToAdd(shouldBeItem.getClonedValues());

相关文章