solist.add(new SubobjectInfo((AccessInfo) soaccessmappings[i])); solist.add(new SubobjectInfo(new AccessInfo(ignoreso[i], null, AccessInfo.IGNORE_READ)));
/** * Create subobject infos for each tag sorted by specificity. * @param subobjectinfos The subobject infos. * @return Map of subobject infos. */ protected Map createSubobjectInfosWrite(SubobjectInfo[] subobjectinfos) { Map ret = new LinkedHashMap(); for(int i=0; i<subobjectinfos.length; i++) { ret.put(subobjectinfos[i].getAccessInfo(), subobjectinfos[i]); } return ret; }
linked = setElementValue(sinfo.getAccessInfo(), tag, parent, object, sinfo.getConverter(), null, context);
/** * Find a subobject info. */ protected SubobjectInfo findSubobjectInfo(Set soinfos, QName[] fullpath, Map rawattributes) { SubobjectInfo ret = null; if(soinfos!=null) { for(Iterator it=soinfos.iterator(); ret==null && it.hasNext(); ) { SubobjectInfo si = (SubobjectInfo)it.next(); QName[] tmp = si.getXMLPathElementsWithoutElement(); boolean ok = (si.getFilter()==null || si.getFilter().filter(rawattributes)) && (tmp==null || tmp.length<=fullpath.length); for(int i=1; ok && tmp!=null && i<=tmp.length; i++) { ok = tmp[tmp.length-i].equals(fullpath[fullpath.length-i-1]); } if(ok) { ret = si; } // if(fullpath.endsWith(tmp.getXMLPathWithoutElement())) // && (tmp.getFilter()==null || tmp.getFilter().filter(rawattributes))) } } return ret; }
AccessInfo ai = soinfo.getAccessInfo(); ObjectInfo obinfo = soinfo.getObjectInfo(); Object property = getProperty(soinfo); if(property!=null) if(value!=null) QName[] xmlpath = soinfo.getXMLPathElements(); if(xmlpath==null) xmlpath = new QName[]{QName.valueOf(propname)}; if(soinfo.isMulti()) boolean flat = soinfo.getFlattening()!=null? soinfo.getFlattening().booleanValue(): flattening; while(it2.hasNext()) boolean flat = soinfo.getFlattening()!=null? soinfo.getFlattening().booleanValue(): flattening; wi.addSubobject(path, value, flat);
new ObjectInfo(ProxyReference.class, new RMIPostProcessor(rrm)), new MappingInfo(null, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("proxyInfo")), new SubobjectInfo(new AccessInfo("remoteReference")), new SubobjectInfo(new AccessInfo("cache"))})); typeinfosread.add(ti_rr);
/** * Get the property. */ protected Object getProperty(Object info) { Object ret = null; if(info instanceof AttributeInfo) { info = ((AttributeInfo)info).getAccessInfo(); } else if(info instanceof SubobjectInfo) { info = ((SubobjectInfo)info).getAccessInfo(); } if(info instanceof AccessInfo) { ret = ((AccessInfo)info).getObjectIdentifier(); } else if(info instanceof String) { ret = info; } return ret; }
info instanceof SubobjectInfo? ((SubobjectInfo)info).getAccessInfo(): null; BeanAccessInfo bai = ai!=null && (ai.getExtraInfo() instanceof BeanAccessInfo)? (BeanAccessInfo)ai.getExtraInfo(): null; ISubObjectConverter conv = ((SubobjectInfo)info).getConverter(); if(conv!=null)
new ObjectInfo(ProxyReference.class, new RMIPostProcessor(rrm)), new MappingInfo(null, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("proxyInfo")), new SubobjectInfo(new AccessInfo("remoteReference")), new SubobjectInfo(new AccessInfo("cache"))})); typeinfosread.add(ti_rr);
SubobjectInfo linkinfo = getSubobjectInfoRead(localname, fullpath, patypeinfo, readcontext.getTopStackElement()!=null? readcontext.getTopStackElement().getRawAttributes(): null); if(linkinfo!=null && linkinfo.getAccessInfo().isIgnoreRead())
new ObjectInfo(ProxyReference.class, new RMIPostProcessor(rrm)), new MappingInfo(null, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("proxyInfo")), new SubobjectInfo(new AccessInfo("remoteReference")), new SubobjectInfo(new AccessInfo("cache"))})); typeinfosread.add(ti_rr);
attrtype = (OAVAttributeType)info.getAccessInfo().getObjectIdentifier();
}, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("pools", "pool")), new SubobjectInfo(new AccessInfo("artifacts", "artifact")), new SubobjectInfo(new AccessInfo("messages", "messagingEdge")), new SubobjectInfo(new AccessInfo("eAnnotations", "annotation")) })); diatype.setReaderHandler(new BeanObjectReaderHandler()); }, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("details", "detail")), }))); }, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("vertices", "activity")), new SubobjectInfo(new AccessInfo("lanes", "lane")), new SubobjectInfo(new AccessInfo("eAnnotations", "annotation")) }))); }, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("associations", "association")), new SubobjectInfo(new AccessInfo("eAnnotations", "annotation")) }))); },
attrtype = (OAVAttributeType)info.getAccessInfo().getObjectIdentifier();
}, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("pools", "pool")), new SubobjectInfo(new AccessInfo("artifacts", "artifact")), new SubobjectInfo(new AccessInfo("messages", "messagingEdge")), new SubobjectInfo(new AccessInfo("eAnnotations", "annotation")) })); diatype.setReaderHandler(new BeanObjectReaderHandler()); }, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("details", "detail")), }))); }, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("vertices", "activity")), new SubobjectInfo(new AccessInfo("lanes", "lane")), new SubobjectInfo(new AccessInfo("eAnnotations", "annotation")) }))); }, new SubobjectInfo[]{ new SubobjectInfo(new AccessInfo("associations", "association")), new SubobjectInfo(new AccessInfo("eAnnotations", "annotation")) }))); },
TypeInfo ti_cids = new TypeInfo(new XMLInfo(ppr, cidpp), new ObjectInfo(IComponentIdentifier.class), new MappingInfo(null, new AttributeInfo[]{new AttributeInfo(new AccessInfo("name"))}, new SubobjectInfo[]{new SubobjectInfo(new AccessInfo("addresses"))})); typeinfoswrite.add(ti_cids);
TypeInfo ti_cids = new TypeInfo(new XMLInfo(ppr, cidpp), new ObjectInfo(IComponentIdentifier.class), new MappingInfo(null, new AttributeInfo[]{new AttributeInfo(new AccessInfo("name"))}, new SubobjectInfo[]{new SubobjectInfo(new AccessInfo("addresses"))})); typeinfoswrite.add(ti_cids);
TypeInfo ti_cids = new TypeInfo(new XMLInfo(ppr, cidpp), new ObjectInfo(IComponentIdentifier.class), new MappingInfo(null, new AttributeInfo[]{new AttributeInfo(new AccessInfo("name"))}, new SubobjectInfo[]{new SubobjectInfo(new AccessInfo("addresses"))})); typeinfoswrite.add(ti_cids);
new SubobjectInfo(new AccessInfo("entries", null, null, null, new BeanAccessInfo(null, Map.class.getMethod("entrySet", new Class[0]))), null, true) })); new SubobjectInfo(new AccessInfo("key", null, null, null, new BeanAccessInfo(null, Map.Entry.class.getMethod("getKey", new Class[0])))), new SubobjectInfo(new AccessInfo("value", null, null, null, new BeanAccessInfo(null, Map.Entry.class.getMethod("getValue", new Class[0])))) })); new SubobjectInfo(new AccessInfo("entries", null, null, null, new BeanAccessInfo(null, Map.class.getMethod("entrySet", new Class[0]))), null, true) })); new SubobjectInfo(new AccessInfo("entries", AccessInfo.THIS), null, true) })); typeinfos.add(ti_list); new SubobjectInfo(new AccessInfo("entries", AccessInfo.THIS), null, true) })); typeinfos.add(ti_set); new SubobjectInfo(new AccessInfo("parameterTypes", "parameterTypes"), null, false), new SubobjectInfo(new AccessInfo("parameterTypeInfos", "parameterTypeInfos"), null, false) })); new SubobjectInfo(new AccessInfo("entries", AccessInfo.THIS), null, true) })); typeinfos.add(ti_array);
}, new SubobjectInfo[]{ new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "arguments"), new QName(uri, "argument")}), new AccessInfo(new QName(uri, "argument"), "argument")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "arguments"), new QName(uri, "result")}), new AccessInfo(new QName(uri, "result"), "result")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "services"), new QName(uri, "container")}), new AccessInfo(new QName(uri, "container"), "container")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "services"), new QName(uri, "providedservice")}), new AccessInfo(new QName(uri, "providedservice"), "providedService")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "services"), new QName(uri, "requiredservice")}), new AccessInfo(new QName(uri, "requiredservice"), "requiredService")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "componenttype")}), new AccessInfo(new QName(uri, "componenttype"), "subcomponentType")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "property")}), new AccessInfo(new QName(uri, "property"), "property", null, null)),//, new BeanAccessInfo(putprop, null, "map", getname))), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "nfproperties"), new QName(uri, "nfproperty")}), new AccessInfo(new QName(uri, "nfproperty"), "NFProperty")), }), null, new BeanObjectReaderHandler())); new AttributeInfo(new AccessInfo("autoshutdown", "autoShutdown"))}, new SubobjectInfo[]{ new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "component")}), new AccessInfo(new QName(uri, "component"), "componentInstance")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "arguments"), new QName(uri, "result")}), new AccessInfo(new QName(uri, "result"), "result")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "services"), new QName(uri, "providedservice")}), new AccessInfo(new QName(uri, "providedservice"), "providedService")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "services"), new QName(uri, "requiredservice")}), new AccessInfo(new QName(uri, "requiredservice"), "requiredService")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "steps"), new QName(uri, "initialstep")}), new AccessInfo(new QName(uri, "initialstep"), "initialStep")), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "steps"), new QName(uri, "endstep")}), new AccessInfo(new QName(uri, "endstep"), "endStep")), new AttributeInfo(new AccessInfo("class", "type"), new AttributeConverter(classconv, reclassconv)) }, new SubobjectInfo[]{ new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "binding")}), new AccessInfo(new QName(uri, "binding"), "defaultBinding")), }), null, new BeanObjectReaderHandler())); types.add(new TypeInfo(new XMLInfo(new QName(uri, "binding")), new ObjectInfo(RequiredServiceBinding.class), new SubobjectInfo(new XMLInfo(new QName[]{new QName(uri, "creationinfo")}), new AccessInfo(new QName(uri, "creationinfo"), "creationInfo"))} )));