@Override protected String[] transformInternal(Attribute attr) throws Exception { String attrId = attr.getId(); return (this.binaryAttrDetector.isBinary(attrId) ? ArrayUtils.toArray(getBinaryAttributeId(attrId), attrId) : ArrayUtils.toArray(attrId)); }
@Override @SuppressWarnings({CompilerWarnings.UNCHECKED}) protected void buildQuantityResourceParam( String type, Map<MultiKey<Serializable>, ResourceParam<?>> resourceParams, String name, ResourceParamMetadata resourceParamMetadata, XdmItem item, FhirResource entity) throws Exception { Object itemValue = this.decodeNode(((XdmNode) item)); Quantity quantity = null; String units = null; URI codeSystemUri = null; BigDecimal value = null; if (itemValue instanceof Age) { quantity = ((Age) itemValue); } else if (itemValue instanceof Count) { quantity = ((Count) itemValue); } else if (itemValue instanceof Distance) { quantity = ((Distance) itemValue); } else if (itemValue instanceof Duration) { quantity = ((Duration) itemValue); } else if (itemValue instanceof Money) { quantity = ((Money) itemValue); } else if (itemValue instanceof Quantity) { quantity = ((Quantity) itemValue); } if (quantity != null) { codeSystemUri = (quantity.hasSystem() ? URI.create(quantity.getSystem().getValue()) : null); units = (quantity.hasCode() ? quantity.getCode().getValue() : null); value = quantity.getValue().getValue(); } else { super.buildReferenceResourceParam( type, resourceParams, name, resourceParamMetadata, item, entity); } resourceParams.put( new MultiKey<>(ArrayUtils.toArray(name, codeSystemUri, null, units, null, value)), new QuantityResourceParamImpl(entity, name, codeSystemUri, null, units, null, value)); }
@Test public void fromStrings() { GlobalConverter converter = new CharacterConverter(new MockConfiguration()); Character cw = (Character) converter.convertFromStrings( Character.class, null, "testExpr", ArrayUtils.toArray((String) null)); assertNull(cw); char c = (Character) converter.convertFromStrings( Character.TYPE, null, "testExpr", ArrayUtils.toArray((String) null)); assertEquals(c, '\u0000'); cw = (Character) converter.convertFromStrings( Character.class, null, "testExpr", ArrayUtils.toArray("c")); assertEquals((char) cw, 'c'); c = (Character) converter.convertFromStrings(Character.TYPE, null, "testExpr", ArrayUtils.toArray("c")); assertEquals(c, 'c'); cw = (Character) converter.convertFromStrings( Character.class, null, "testExpr", ArrayUtils.toArray(" ")); assertNull(cw); c = (Character) converter.convertFromStrings(Character.TYPE, null, "testExpr", ArrayUtils.toArray(" ")); assertEquals(c, 0); Character[] ca = (Character[]) converter.convertFromStrings( Character[].class, null, "testExpr", ArrayUtils.toArray("c", "d")); assertEquals(ca[0], (Character) 'c'); assertEquals(ca[1], (Character) 'd'); char[] cpa = (char[]) converter.convertFromStrings( char[].class, null, "testExpr", ArrayUtils.toArray("c", "d")); assertEquals(cpa[0], 'c'); assertEquals(cpa[1], 'd'); try { converter.convertFromStrings(Character.class, null, "testExpr", ArrayUtils.toArray("bad")); fail("Should have failed"); } catch (ConversionException ce) { // Expected } try { converter.convertFromStrings(Character.TYPE, null, "testExpr", ArrayUtils.toArray("bad")); fail("Should have failed"); } catch (ConversionException ce) { // Expected } }