本文整理了Java中com.evolveum.midpoint.prism.xml.XsdTypeMapper.toXsdType()
方法的一些代码示例,展示了XsdTypeMapper.toXsdType()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。XsdTypeMapper.toXsdType()
方法的具体详情如下:
包路径:com.evolveum.midpoint.prism.xml.XsdTypeMapper
类名称:XsdTypeMapper
方法名:toXsdType
暂无
代码示例来源:origin: Evolveum/midpoint
public static QName icfTypeToXsdType(Class<?> type, boolean isConfidential) {
// For arrays we are only interested in the component type
if (isMultivaluedType(type)) {
type = type.getComponentType();
}
QName propXsdType = null;
if (GuardedString.class.equals(type) ||
(String.class.equals(type) && isConfidential)) {
// GuardedString is a special case. It is a ICF-specific
// type
// implementing Potemkin-like security. Use a temporary
// "nonsense" type for now, so this will fail in tests and
// will be fixed later
// propXsdType = SchemaConstants.T_PROTECTED_STRING_TYPE;
propXsdType = ProtectedStringType.COMPLEX_TYPE;
} else if (GuardedByteArray.class.equals(type) ||
(Byte.class.equals(type) && isConfidential)) {
// GuardedString is a special case. It is a ICF-specific
// type
// implementing Potemkin-like security. Use a temporary
// "nonsense" type for now, so this will fail in tests and
// will be fixed later
// propXsdType = SchemaConstants.T_PROTECTED_BYTE_ARRAY_TYPE;
propXsdType = ProtectedByteArrayType.COMPLEX_TYPE;
} else {
propXsdType = XsdTypeMapper.toXsdType(type);
}
return propXsdType;
}
代码示例来源:origin: Evolveum/midpoint
/**
* For cases when XSD complex type has a simple content. In that case the resulting class has @XmlValue annotation.
*/
private <T> PrimitiveXNodeImpl<T> marshallBeanToPrimitive(Object bean, SerializationContext ctx, Field valueField) throws SchemaException {
if (!valueField.isAccessible()) {
valueField.setAccessible(true);
}
T value;
try {
value = (T) valueField.get(bean);
} catch (IllegalArgumentException | IllegalAccessException e) {
throw new SchemaException("Cannot get primitive value from field " + valueField.getName() + " of bean " + bean + ": "+e.getMessage(), e);
}
PrimitiveXNodeImpl<T> xnode = new PrimitiveXNodeImpl<>(value);
Class<?> fieldType = valueField.getType();
QName xsdType = XsdTypeMapper.toXsdType(fieldType);
xnode.setTypeQName(xsdType);
return xnode;
}
代码示例来源:origin: Evolveum/midpoint
private ItemDefinition<?> createPropertyDefinition(MutablePrismContainerDefinition<?> configurationContainerDef,
PropertyDescriptor prop) {
String propName = prop.getName();
Class<?> propertyType = prop.getPropertyType();
Class<?> baseType = propertyType;
int minOccurs = 1;
int maxOccurs = 1;
if (propertyType.isArray()) {
maxOccurs = -1;
baseType = propertyType.getComponentType();
}
// TODO: minOccurs: define which properties are optional/mandatory
// TODO: display names, ordering, help texts
QName propType = XsdTypeMapper.toXsdType(baseType);
return configurationContainerDef.createPropertyDefinition(new QName(configurationContainerDef.getName().getNamespaceURI(), propName),
propType, minOccurs, maxOccurs);
}
代码示例来源:origin: Evolveum/midpoint
@Override
public QName determineTypeForClass(Class<?> clazz) {
if (XmlTypeConverter.canConvert(clazz)) {
return XsdTypeMapper.toXsdType(clazz);
} else {
return ((PrismContextImpl) prismContext).getBeanMarshaller().determineTypeForClass(clazz);
}
}
代码示例来源:origin: Evolveum/midpoint
private static void toXsdElement(Object val, Element element, boolean recordType) throws SchemaException {
if (val instanceof Element) {
return;
} else if (val instanceof QName) {
QName qname = (QName) val;
DOMUtil.setQNameValue(element, qname);
} else if (val instanceof PolyString) {
polyStringToElement(element, (PolyString)val);
} else {
element.setTextContent(toXmlTextContent(val, DOMUtil.getQName(element)));
}
if (recordType) {
QName xsdType = XsdTypeMapper.toXsdType(val.getClass());
DOMUtil.setXsiType(element, xsdType);
}
}
代码示例来源:origin: Evolveum/midpoint
@SuppressWarnings("SameParameterValue")
private <T> List<T> evaluateExpression(Class<T> resultClass, ExpressionType expressionType, ExpressionVariables expressionVariables,
String shortDesc, Task task, OperationResult result) throws ObjectNotFoundException, SchemaException, ExpressionEvaluationException, CommunicationException, ConfigurationException, SecurityViolationException {
QName xsdType = XsdTypeMapper.toXsdType(resultClass);
QName resultName = new QName(SchemaConstants.NS_C, "result");
PrismPropertyDefinition<T> resultDef = prismContext.definitionFactory().createPropertyDefinition(resultName, xsdType);
Expression<PrismPropertyValue<T>,PrismPropertyDefinition<T>> expression = expressionFactory.makeExpression(expressionType, resultDef, shortDesc, task, result);
ExpressionEvaluationContext params = new ExpressionEvaluationContext(null, expressionVariables, shortDesc, task, result);
PrismValueDeltaSetTriple<PrismPropertyValue<T>> exprResult = ModelExpressionThreadLocalHolder.evaluateExpressionInContext(expression, params, task, result);
List<T> retval = new ArrayList<>();
for (PrismPropertyValue<T> item : exprResult.getZeroSet()) {
retval.add(item.getValue());
}
return retval;
}
代码示例来源:origin: Evolveum/midpoint
Object val = ((JAXBElement) element).getValue();
if (val.getClass().isPrimitive()){
QName typeName = XsdTypeMapper.toXsdType(val.getClass());
PrismPropertyDefinitionImpl propDef = new PrismPropertyDefinitionImpl(elementQName, typeName, prismContext);
代码示例来源:origin: Evolveum/midpoint
private <T> PrismProperty<T> createTokenProperty(T object) {
QName type = XsdTypeMapper.toXsdType(object.getClass());
//noinspection unchecked
MutablePrismPropertyDefinition<T> propDef = prismContext.definitionFactory().createPropertyDefinition(SchemaConstants.SYNC_TOKEN, type);
propDef.setDynamic(true);
propDef.setMaxOccurs(1);
propDef.setIndexed(false); // redundant, as dynamic extension items are not indexed by default
PrismProperty<T> property = propDef.instantiate();
property.addRealValue(object);
return property;
}
代码示例来源:origin: Evolveum/midpoint
PrimitiveXNodeImpl<T> prim = (PrimitiveXNodeImpl) xnode;
if (XmlTypeConverter.canConvert(beanClass)) {
QName xsdType = XsdTypeMapper.toXsdType(beanClass);
Object parsedValue = prim.getParsedValue(xsdType, beanClass);
return postConvertUnmarshal(parsedValue, pc);
代码示例来源:origin: Evolveum/midpoint
} else {
Class<?> fieldType = valueField.getType();
QName xsdType = XsdTypeMapper.toXsdType(fieldType);
value = prim.getParsedValue(xsdType, (Class<T>) fieldType);
代码示例来源:origin: Evolveum/midpoint
@Test
public void testXmlDateTimeType() throws Exception {
assertEquals("Wrong datetime class", XMLGregorianCalendar.class, XsdTypeMapper.toJavaType(DOMUtil.XSD_DATETIME));
assertEquals("Wrong datetime class", DOMUtil.XSD_DATETIME, XsdTypeMapper.toXsdType(XMLGregorianCalendar.class));
}
代码示例来源:origin: Evolveum/midpoint
Object v = xprim.getValue();
if (v != null) {
typeQName = XsdTypeMapper.toXsdType(v.getClass());
代码示例来源:origin: Evolveum/midpoint
public <T> MapXNodeImpl marshalProtectedDataType(Object o, SerializationContext sc) throws SchemaException {
ProtectedDataType<T> protectedType = (ProtectedDataType<T>) o;
MapXNodeImpl xmap = new MapXNodeImpl();
if (protectedType.getEncryptedDataType() != null) {
EncryptedDataType encryptedDataType = protectedType.getEncryptedDataType();
MapXNodeImpl xEncryptedDataType = (MapXNodeImpl) marshall(encryptedDataType);
xmap.put(ProtectedDataType.F_ENCRYPTED_DATA, xEncryptedDataType);
} else if (protectedType.getHashedDataType() != null) {
HashedDataType hashedDataType = protectedType.getHashedDataType();
MapXNodeImpl xHashedDataType = (MapXNodeImpl) marshall(hashedDataType);
xmap.put(ProtectedDataType.F_HASHED_DATA, xHashedDataType);
} else if (protectedType.getClearValue() != null){
QName type = XsdTypeMapper.toXsdType(protectedType.getClearValue().getClass());
PrimitiveXNodeImpl xClearValue = createPrimitiveXNode(protectedType.getClearValue(), type);
xmap.put(ProtectedDataType.F_CLEAR_VALUE, xClearValue);
}
// TODO: clearValue
return xmap;
}
内容来源于网络,如有侵权,请联系作者删除!