com.evolveum.midpoint.prism.xml.XsdTypeMapper.toXsdType()方法的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(7.6k)|赞(0)|评价(0)|浏览(92)

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

XsdTypeMapper.toXsdType介绍

暂无

代码示例

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

  1. public static QName icfTypeToXsdType(Class<?> type, boolean isConfidential) {
  2. // For arrays we are only interested in the component type
  3. if (isMultivaluedType(type)) {
  4. type = type.getComponentType();
  5. }
  6. QName propXsdType = null;
  7. if (GuardedString.class.equals(type) ||
  8. (String.class.equals(type) && isConfidential)) {
  9. // GuardedString is a special case. It is a ICF-specific
  10. // type
  11. // implementing Potemkin-like security. Use a temporary
  12. // "nonsense" type for now, so this will fail in tests and
  13. // will be fixed later
  14. // propXsdType = SchemaConstants.T_PROTECTED_STRING_TYPE;
  15. propXsdType = ProtectedStringType.COMPLEX_TYPE;
  16. } else if (GuardedByteArray.class.equals(type) ||
  17. (Byte.class.equals(type) && isConfidential)) {
  18. // GuardedString is a special case. It is a ICF-specific
  19. // type
  20. // implementing Potemkin-like security. Use a temporary
  21. // "nonsense" type for now, so this will fail in tests and
  22. // will be fixed later
  23. // propXsdType = SchemaConstants.T_PROTECTED_BYTE_ARRAY_TYPE;
  24. propXsdType = ProtectedByteArrayType.COMPLEX_TYPE;
  25. } else {
  26. propXsdType = XsdTypeMapper.toXsdType(type);
  27. }
  28. return propXsdType;
  29. }

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

  1. /**
  2. * For cases when XSD complex type has a simple content. In that case the resulting class has @XmlValue annotation.
  3. */
  4. private <T> PrimitiveXNodeImpl<T> marshallBeanToPrimitive(Object bean, SerializationContext ctx, Field valueField) throws SchemaException {
  5. if (!valueField.isAccessible()) {
  6. valueField.setAccessible(true);
  7. }
  8. T value;
  9. try {
  10. value = (T) valueField.get(bean);
  11. } catch (IllegalArgumentException | IllegalAccessException e) {
  12. throw new SchemaException("Cannot get primitive value from field " + valueField.getName() + " of bean " + bean + ": "+e.getMessage(), e);
  13. }
  14. PrimitiveXNodeImpl<T> xnode = new PrimitiveXNodeImpl<>(value);
  15. Class<?> fieldType = valueField.getType();
  16. QName xsdType = XsdTypeMapper.toXsdType(fieldType);
  17. xnode.setTypeQName(xsdType);
  18. return xnode;
  19. }

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

  1. private ItemDefinition<?> createPropertyDefinition(MutablePrismContainerDefinition<?> configurationContainerDef,
  2. PropertyDescriptor prop) {
  3. String propName = prop.getName();
  4. Class<?> propertyType = prop.getPropertyType();
  5. Class<?> baseType = propertyType;
  6. int minOccurs = 1;
  7. int maxOccurs = 1;
  8. if (propertyType.isArray()) {
  9. maxOccurs = -1;
  10. baseType = propertyType.getComponentType();
  11. }
  12. // TODO: minOccurs: define which properties are optional/mandatory
  13. // TODO: display names, ordering, help texts
  14. QName propType = XsdTypeMapper.toXsdType(baseType);
  15. return configurationContainerDef.createPropertyDefinition(new QName(configurationContainerDef.getName().getNamespaceURI(), propName),
  16. propType, minOccurs, maxOccurs);
  17. }

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

  1. @Override
  2. public QName determineTypeForClass(Class<?> clazz) {
  3. if (XmlTypeConverter.canConvert(clazz)) {
  4. return XsdTypeMapper.toXsdType(clazz);
  5. } else {
  6. return ((PrismContextImpl) prismContext).getBeanMarshaller().determineTypeForClass(clazz);
  7. }
  8. }

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

  1. private static void toXsdElement(Object val, Element element, boolean recordType) throws SchemaException {
  2. if (val instanceof Element) {
  3. return;
  4. } else if (val instanceof QName) {
  5. QName qname = (QName) val;
  6. DOMUtil.setQNameValue(element, qname);
  7. } else if (val instanceof PolyString) {
  8. polyStringToElement(element, (PolyString)val);
  9. } else {
  10. element.setTextContent(toXmlTextContent(val, DOMUtil.getQName(element)));
  11. }
  12. if (recordType) {
  13. QName xsdType = XsdTypeMapper.toXsdType(val.getClass());
  14. DOMUtil.setXsiType(element, xsdType);
  15. }
  16. }

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

  1. @SuppressWarnings("SameParameterValue")
  2. private <T> List<T> evaluateExpression(Class<T> resultClass, ExpressionType expressionType, ExpressionVariables expressionVariables,
  3. String shortDesc, Task task, OperationResult result) throws ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, SecurityViolationException {
  4. QName xsdType = XsdTypeMapper.toXsdType(resultClass);
  5. QName resultName = new QName(SchemaConstants.NS_C, "result");
  6. PrismPropertyDefinition<T> resultDef = prismContext.definitionFactory().createPropertyDefinition(resultName, xsdType);
  7. Expression<PrismPropertyValue<T>,PrismPropertyDefinition<T>> expression = expressionFactory.makeExpression(expressionType, resultDef, shortDesc, task, result);
  8. ExpressionEvaluationContext params = new ExpressionEvaluationContext(null, expressionVariables, shortDesc, task, result);
  9. PrismValueDeltaSetTriple<PrismPropertyValue<T>> exprResult = ModelExpressionThreadLocalHolder.evaluateExpressionInContext(expression, params, task, result);
  10. List<T> retval = new ArrayList<>();
  11. for (PrismPropertyValue<T> item : exprResult.getZeroSet()) {
  12. retval.add(item.getValue());
  13. }
  14. return retval;
  15. }

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

  1. Object val = ((JAXBElement) element).getValue();
  2. if (val.getClass().isPrimitive()){
  3. QName typeName = XsdTypeMapper.toXsdType(val.getClass());
  4. PrismPropertyDefinitionImpl propDef = new PrismPropertyDefinitionImpl(elementQName, typeName, prismContext);

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

  1. private <T> PrismProperty<T> createTokenProperty(T object) {
  2. QName type = XsdTypeMapper.toXsdType(object.getClass());
  3. //noinspection unchecked
  4. MutablePrismPropertyDefinition<T> propDef = prismContext.definitionFactory().createPropertyDefinition(SchemaConstants.SYNC_TOKEN, type);
  5. propDef.setDynamic(true);
  6. propDef.setMaxOccurs(1);
  7. propDef.setIndexed(false); // redundant, as dynamic extension items are not indexed by default
  8. PrismProperty<T> property = propDef.instantiate();
  9. property.addRealValue(object);
  10. return property;
  11. }

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

  1. PrimitiveXNodeImpl<T> prim = (PrimitiveXNodeImpl) xnode;
  2. if (XmlTypeConverter.canConvert(beanClass)) {
  3. QName xsdType = XsdTypeMapper.toXsdType(beanClass);
  4. Object parsedValue = prim.getParsedValue(xsdType, beanClass);
  5. return postConvertUnmarshal(parsedValue, pc);

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

  1. } else {
  2. Class<?> fieldType = valueField.getType();
  3. QName xsdType = XsdTypeMapper.toXsdType(fieldType);
  4. value = prim.getParsedValue(xsdType, (Class<T>) fieldType);

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

  1. @Test
  2. public void testXmlDateTimeType() throws Exception {
  3. assertEquals("Wrong datetime class", XMLGregorianCalendar.class, XsdTypeMapper.toJavaType(DOMUtil.XSD_DATETIME));
  4. assertEquals("Wrong datetime class", DOMUtil.XSD_DATETIME, XsdTypeMapper.toXsdType(XMLGregorianCalendar.class));
  5. }

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

  1. Object v = xprim.getValue();
  2. if (v != null) {
  3. typeQName = XsdTypeMapper.toXsdType(v.getClass());

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

  1. public <T> MapXNodeImpl marshalProtectedDataType(Object o, SerializationContext sc) throws SchemaException {
  2. ProtectedDataType<T> protectedType = (ProtectedDataType<T>) o;
  3. MapXNodeImpl xmap = new MapXNodeImpl();
  4. if (protectedType.getEncryptedDataType() != null) {
  5. EncryptedDataType encryptedDataType = protectedType.getEncryptedDataType();
  6. MapXNodeImpl xEncryptedDataType = (MapXNodeImpl) marshall(encryptedDataType);
  7. xmap.put(ProtectedDataType.F_ENCRYPTED_DATA, xEncryptedDataType);
  8. } else if (protectedType.getHashedDataType() != null) {
  9. HashedDataType hashedDataType = protectedType.getHashedDataType();
  10. MapXNodeImpl xHashedDataType = (MapXNodeImpl) marshall(hashedDataType);
  11. xmap.put(ProtectedDataType.F_HASHED_DATA, xHashedDataType);
  12. } else if (protectedType.getClearValue() != null){
  13. QName type = XsdTypeMapper.toXsdType(protectedType.getClearValue().getClass());
  14. PrimitiveXNodeImpl xClearValue = createPrimitiveXNode(protectedType.getClearValue(), type);
  15. xmap.put(ProtectedDataType.F_CLEAR_VALUE, xClearValue);
  16. }
  17. // TODO: clearValue
  18. return xmap;
  19. }

相关文章