src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/unmarshaller/StructureLoader.java

changeset 1103
face9bd6bac2
parent 650
121e938cb9c3
equal deleted inserted replaced
1102:43833fcf4701 1103:face9bd6bac2
229 } 229 }
230 230
231 @Override 231 @Override
232 public void childElement(UnmarshallingContext.State state, TagName arg) throws SAXException { 232 public void childElement(UnmarshallingContext.State state, TagName arg) throws SAXException {
233 ChildLoader child = childUnmarshallers.get(arg.uri,arg.local); 233 ChildLoader child = childUnmarshallers.get(arg.uri,arg.local);
234 if(child==null) { 234 if (child == null) {
235 if ((beanInfo != null) && (beanInfo.getTypeNames() != null)) { 235 child = catchAll;
236 Iterator typeNamesIt = beanInfo.getTypeNames().iterator(); 236 if (child==null) {
237 QName parentQName = null; 237 super.childElement(state,arg);
238 if ((typeNamesIt != null) && (typeNamesIt.hasNext()) && (catchAll == null)) { 238 return;
239 parentQName = (QName) typeNamesIt.next();
240 String parentUri = parentQName.getNamespaceURI();
241 child = childUnmarshallers.get(parentUri, arg.local);
242 }
243 }
244 if (child == null) {
245 child = catchAll;
246 if(child==null) {
247 super.childElement(state,arg);
248 return;
249 }
250 } 239 }
251 } 240 }
252 241
253 state.setLoader(child.loader); 242 state.setLoader(child.loader);
254 state.setReceiver(child.receiver); 243 state.setReceiver(child.receiver);

mercurial