com.evolveum.prism.xml.ns._public.types_3.RawType类的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(11.3k)|赞(0)|评价(0)|浏览(89)

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

RawType介绍

暂无

代码示例

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

/**
 * Create an instance of {@link RawType }
 * 
 */
public RawType createRawType() {
  return new RawType();
}

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

/**
 * Convenience method for shadow values that are read directly from repo (post-3.8).
 * This may ruin the "rawness" of the value. But it is OK for test asserts.
 */
protected <T> T getAttributeValue(PrismObject<? extends ShadowType> shadow, QName attrName, Class<T> expectedClass) throws SchemaException {
  Object value = ShadowUtil.getAttributeValue(shadow, attrName);
  if (value == null) {
    return (T) value;
  }
  if (expectedClass.isAssignableFrom(value.getClass())) {
    return (T)value;
  }
  if (value instanceof RawType) {
    T parsedRealValue = ((RawType)value).getParsedRealValue(expectedClass);
    return parsedRealValue;
  }
  fail("Expected that attribute "+attrName+" is "+expectedClass+", but it was "+value.getClass()+": "+value);
  return null; // not reached
}

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

public <IV extends PrismValue,ID extends ItemDefinition> Item<IV,ID> getParsedItem(ID itemDefinition, QName itemName) throws SchemaException {
  Validate.notNull(itemDefinition);
  Validate.notNull(itemName);
  Item<IV,ID> item = itemDefinition.instantiate();
  IV newValue = getParsedValue(itemDefinition, itemName);
  if (newValue != null) {
    item.add((IV) newValue.clone());
  }
  return item;
}

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

public static String prettyPrint(RawType raw) {
  if (raw.getAlreadyParsedValue() != null) {
    return PrettyPrinter.prettyPrint(raw.getAlreadyParsedValue());
  }
  if (raw.getXnode() != null && raw.getPrismContext() != null) {
    try {
      String jsonText = raw.getPrismContext().jsonSerializer().serialize(raw.getRootXNode(new QName("value")));
      return CRLF_PATTERN.matcher(jsonText).replaceAll("");
    } catch (Throwable t) {
      LoggingUtils.logException(LOGGER, "Couldn't serialize raw value for pretty printing, using 'toString' instead: {}", t, raw.getXnode());
    }
  }
  return PrettyPrinter.prettyPrint(raw.getXnode());
}

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

public static Map<String, Serializable> fromParamsType(ParamsType paramsType, PrismContext prismContext) throws SchemaException {
  if (paramsType != null) {
    Map<String, Serializable> params = new HashMap<>();
    for (EntryType entry : paramsType.getEntry()) {
      Serializable realValue;
      if (entry.getEntryValue() != null) {
        Serializable value = (Serializable) entry.getEntryValue().getValue();
        if (value instanceof RawType) {
          RawType raw = (RawType) value;
          if (raw.isParsed()) {
            realValue = raw.getAlreadyParsedValue().getRealValue();
          } else {
            realValue = raw.guessFormattedValue();
          }
        } else {
          realValue = value;
        }
      } else {
        realValue = null;
      }
      params.put(entry.getKey(), realValue);
    }
    return params;
  }
  return null;
}

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

@Test
public void testRawTypeClone() throws Exception {
  System.out.println("\n\n===[ testRawTypeClone ]===\n");
  // GIVEN
  QName typeQName = new QName("abcdef");
  MapXNodeImpl mapXNode = new MapXNodeImpl();
  mapXNode.setTypeQName(typeQName);
  RawType rawType = new RawType(mapXNode, PrismTestUtil.getPrismContext());
  // WHEN
  RawType rawTypeClone = rawType.clone();
  // THEN
  assertEquals("Wrong or missing type QName", typeQName, rawTypeClone.getXnode().getTypeQName());
}

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

AccountConstructionType accountConstructionType = (AccountConstructionType) a2Property.getRealValue();
assertEquals("Wrong number of values in accountConstruction", 2, accountConstructionType.getValue().size());
RawType value1 = accountConstructionType.getValue().get(0).clone();
if (expectRawInConstructions) {
  assertNotNull("Value #1 has no XNode present", value1.getXnode());
  PrismPropertyDefinition value1def = user.getPrismContext().definitionFactory().createPropertyDefinition(
      new QName(NS_FOO, "dummy"),           // element name
  PrismPropertyValue<String> prismValue1 = value1.getParsedValue(value1def, value1def.getName());
  assertEquals("Wrong value #1", "ABC", prismValue1.getValue());
} else {
  assertNull("Value #1 has XNode present", value1.getXnode());
  assertEquals("Wrong value #1", "ABC", value1.getParsedRealValue(String.class));
RawType value2 = accountConstructionType.getValue().get(1).clone();
assertNotNull("Value #2 has no XNode present", value2.getXnode());
PrismValue prismValue2 = value2.getParsedValue(user.getDefinition(), user.getDefinition().getName());
PrismContainerValue<UserType> prismUserValue2 = (PrismContainerValue<UserType>) prismValue2;
assertEquals("Wrong value #2", "Nobody", prismUserValue2.findProperty(new ItemName(NS_FOO, "fullName")).getRealValue());

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

public PipelineData evaluateConstantExpression(@NotNull RawType constant, @Nullable Class<?> expectedClass, ExecutionContext context, String desc, OperationResult result) throws ScriptExecutionException {
  try {
    // TODO fix this brutal hacking
    PrismValue value;
    if (expectedClass == null) {
      value = constant.getParsedValue(null, null);
    } else {
      Object object = constant.getParsedRealValue(expectedClass);
      if (object instanceof Referencable) {
        value = ((Referencable) object).asReferenceValue();
      } else if (object instanceof Containerable) {
        value = ((Containerable) object).asPrismContainerValue();
      } else {
        value = prismContext.itemFactory().createPropertyValue(object);
      }
    }
    if (value.isRaw()) {
      throw new IllegalStateException("Raw value while " + desc + ": " + value + ". Please specify type of the value.");
    }
    return PipelineData.createItem(value, context.getInitialVariables());
  } catch (SchemaException e) {
    throw new ScriptExecutionException(e.getMessage(), e);
  }
}

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

new RawType(itemFactory().createPropertyValue(USER_WILL_NAME), ATTR_USERNAME_QNAME, prismContext));
assertAttributeFromCache(shadowRepo, ATTR_FULLNAME_QNAME,
    RawType.fromPropertyRealValue(USER_WILL_FULL_NAME_PIRATE, ATTR_FULLNAME_QNAME, prismContext));

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

for (RawType rawValue : values){
  if (itemDefinition == null && containerDef != null){
    itemDefinition = (ID) ((PrismContextImpl) containerDef.getPrismContext()).getPrismUnmarshaller().locateItemDefinition(containerDef, elementQName, rawValue.getXnode());
  IV parsed = rawValue.getParsedValue(itemDefinition, elementQName);
  if (parsed != null) {
    parsedValues.add(parsed);

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

assertEquals("Wrong number of value elements", 1, valueElements.size());
RawType val = valueElements.get(0);
MapXNode valXNode = (MapXNode) val.serializeToXNode();
PrimitiveXNode clearValueNode = (PrimitiveXNode) valXNode.get(ProtectedStringType.F_CLEAR_VALUE);
val.getParsedValue(null, null);

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

private XNodeImpl marshalRawType(Object value, SerializationContext sc) throws SchemaException {
  return (XNodeImpl) ((RawType) value).serializeToXNode();
}

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

static PipelineData parseFrom(ValueListType input, Map<String, Object> frozenInitialVariables, PrismContext prismContext) {
  PipelineData rv = new PipelineData();
  if (input != null) {
    for (Object o : input.getValue()) {
      if (o instanceof RawType) {
        // a bit of hack: this should have been solved by the parser (we'll fix this later)
        RawType raw = (RawType) o;
        PrismValue prismValue = raw.getAlreadyParsedValue();
        if (prismValue != null) {
          rv.addValue(prismValue, frozenInitialVariables);
        } else {
          throw new IllegalArgumentException("Raw value in the input data: " + DebugUtil.debugDump(raw.getXnode()));
          // TODO attempt to parse it somehow (e.g. by passing to the pipeline and then parsing based on expected type)
        }
      } else {
        if (o instanceof Containerable) {
          rv.addValue(((Containerable) o).asPrismContainerValue(), frozenInitialVariables);
        } else if (o instanceof Referencable) {
          rv.addValue(((Referencable) o).asReferenceValue(), frozenInitialVariables);
        } else {
          rv.addValue(prismContext.itemFactory().createPropertyValue(o), frozenInitialVariables);
        }
      }
    }
  }
  return rv;
}

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

protected PrismObject<ShadowType> getParsedShadowBefore(PrismContext prismContext) throws SchemaException, IOException {
  PrismObject<ShadowType> oldObject = getRawShadowBefore(prismContext);
  // resolve rawtypes
  ObjectDeltaType objectChange = oldObject.asObjectable().getObjectChange();
  for (ItemDeltaType itemDeltaType : objectChange.getItemDelta()) {
    for (RawType rawType : itemDeltaType.getValue()) {
      rawType.getParsedItem(
          prismContext.definitionFactory().createPropertyDefinition(itemDeltaType.getPath().getItemPath().lastName(),
              rawType.getXnode().getTypeQName()));
    }
  }
  return oldObject;
}

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

/**
 * Extracts a "real value" from a potential RawType object without expecting any specific type beforehand.
 * (Useful e.g. for determining value of xsd:anyType XML property.)
 */
public static Object getValue(Object value) throws SchemaException {
  if (value instanceof RawType) {
    return ((RawType) value).getValue();
  } else {
    return value;
  }
}

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

public <IV extends PrismValue,ID extends ItemDefinition> Item<IV,ID> getParsedItem(ID itemDefinition) throws SchemaException {
  Validate.notNull(itemDefinition);
  return getParsedItem(itemDefinition, itemDefinition.getName());
}

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

private void assertModificationPolyStringValue(RawType value, PolyStringType... expectedValues) throws SchemaException {
  XNode xnode = value.serializeToXNode();
  assertFalse(xnode.isEmpty());
  PrismContext pc = value.getPrismContext();
  RootXNode rootNode = pc.xnodeFactory().root(new ItemName("dummy"), xnode);
  PolyStringType valueAsPoly = pc.parserFor(rootNode).parseRealValue(PolyStringType.class);
  boolean found = false;
  for (PolyStringType expectedValue: expectedValues) {
    if (expectedValue.getOrig().equals(valueAsPoly.getOrig()) && expectedValue.getNorm().equals(valueAsPoly.getNorm())) {
      found = true;
    }
  }
  assertTrue(found);
}

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

@Test
public void testParseTaskFile() throws Exception {
  System.out.println("===[ testParseTaskFile ]===");
  // GIVEN
  PrismContext prismContext = PrismTestUtil.getPrismContext();
  // WHEN
  PrismObject<TaskType> task = prismContext.parserFor(TASK_FILE).xml().parse();
  // THEN
  System.out.println("Parsed task:");
  System.out.println(task.debugDump());
  assertTask(task);
  Item executeScriptItem = task.findExtensionItem(new QName("executeScript"));
  ExecuteScriptType executeScript = (ExecuteScriptType) executeScriptItem.getRealValue();
  Object o = executeScript.getInput().getValue().get(0);
  System.out.println(o);
  assertTrue("Raw value is not parsed", o instanceof RawType && ((RawType) o).getAlreadyParsedValue() != null);
}

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

private boolean xnodeSerializationsAreEqual(RawType other) {
  try {
    return Objects.equals(serializeToXNode(), other.serializeToXNode());
  } catch (SchemaException e) {
    // or should we silently return false?
    throw new SystemException("Couldn't serialize RawType to XNode when comparing them", e);
  }
}

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

private void assertAttachmentContent(NotificationMessageAttachmentType attachment, Object expected) throws SchemaException {
  Object real = RawType.getValue(attachment.getContent());
  System.out.println("Expected: " + expected + " (" + expected.getClass() + ")");
  System.out.println("Real: " + real + " (" + real.getClass() + ")");
  if (expected instanceof byte[]) {
    System.out.println("Expected (unwrapped): " + toString(expected));
    System.out.println("Real (unwrapped): " + toString(real));
    assertEquals("Wrong value", toString(expected), toString(real));
  } else {
    assertEquals("Wrong value", expected, real);
  }
}

相关文章