|
15 | 15 | import org.jvnet.jaxb2_commons.util.CustomizationUtils; |
16 | 16 | import org.xml.sax.ErrorHandler; |
17 | 17 |
|
| 18 | +import com.sun.tools.xjc.model.CAdapter; |
18 | 19 | import com.sun.tools.xjc.model.CAttributePropertyInfo; |
19 | 20 | import com.sun.tools.xjc.model.CClassInfo; |
20 | 21 | import com.sun.tools.xjc.model.CClassRef; |
@@ -240,11 +241,20 @@ private CElementPropertyInfo createElementPropertyInfo(final Model model, |
240 | 241 | final CElementInfo elementInfo) { |
241 | 242 | final CElementPropertyInfo elementPropertyInfo; |
242 | 243 | final String propertyName = createPropertyName(model, element); |
| 244 | + |
| 245 | + final CElementPropertyInfo originalPropertyInfo = elementInfo |
| 246 | + .getProperty(); |
243 | 247 | elementPropertyInfo = new CElementPropertyInfo(propertyName, |
244 | 248 | property.isCollection() ? CollectionMode.REPEATED_ELEMENT |
245 | 249 | : CollectionMode.NOT_REPEATED, ID.NONE, null, |
246 | 250 | element.getSchemaComponent(), element.getCustomizations(), |
247 | 251 | element.getLocator(), false); |
| 252 | + |
| 253 | + final CAdapter adapter = originalPropertyInfo.getAdapter(); |
| 254 | + if (adapter != null) { |
| 255 | + elementPropertyInfo.setAdapter(adapter); |
| 256 | + } |
| 257 | + |
248 | 258 | elementPropertyInfo.getTypes().add( |
249 | 259 | new CTypeRef(elementInfo.getContentType(), element |
250 | 260 | .getElementName(), elementInfo.getContentType() |
@@ -319,6 +329,10 @@ private CElementPropertyInfo createElementPropertyInfo(final Model model, |
319 | 329 | .idUse(), typeRef.getTarget().getExpectedMimeType(), |
320 | 330 | property.getSchemaComponent(), property.getCustomizations(), |
321 | 331 | property.getLocator(), required); |
| 332 | + final CAdapter adapter = property.getAdapter(); |
| 333 | + if (adapter != null) { |
| 334 | + elementPropertyInfo.setAdapter(adapter); |
| 335 | + } |
322 | 336 | elementPropertyInfo.getTypes().add(typeRef); |
323 | 337 | return elementPropertyInfo; |
324 | 338 | } |
|
0 commit comments