private void initializeIORTemplateList() { // Maps ObjectKeyTemplate to IORTemplate Map<ObjectKeyTemplate, IORTemplate> oktempToIORTemplate = new HashMap<ObjectKeyTemplate, IORTemplate>(); iortemps = IORFactories.makeIORTemplateList(); Iterator<Object> iter = iterator(); ObjectId oid = null; // used to check that all profiles have the same oid. while (iter.hasNext()) { TaggedProfile prof = (TaggedProfile) (iter.next()); TaggedProfileTemplate ptemp = prof.getTaggedProfileTemplate(); ObjectKeyTemplate oktemp = prof.getObjectKeyTemplate(); // Check that all oids for all profiles are the same: if they are not, // throw exception. if (oid == null) oid = prof.getObjectId(); else if (!oid.equals(prof.getObjectId())) throw wrapper.badOidInIorTemplateList(); // Find or create the IORTemplate for oktemp. IORTemplate iortemp = oktempToIORTemplate.get(oktemp); if (iortemp == null) { iortemp = IORFactories.makeIORTemplate(oktemp); oktempToIORTemplate.put(oktemp, iortemp); iortemps.add(iortemp); } iortemp.add(ptemp); } iortemps.makeImmutable(); }
private void initializeIORTemplateList() { // Maps ObjectKeyTemplate to IORTemplate Map<ObjectKeyTemplate, IORTemplate> oktempToIORTemplate = new HashMap<ObjectKeyTemplate, IORTemplate>(); iortemps = IORFactories.makeIORTemplateList(); Iterator<Object> iter = iterator(); ObjectId oid = null; // used to check that all profiles have the same oid. while (iter.hasNext()) { TaggedProfile prof = (TaggedProfile) (iter.next()); TaggedProfileTemplate ptemp = prof.getTaggedProfileTemplate(); ObjectKeyTemplate oktemp = prof.getObjectKeyTemplate(); // Check that all oids for all profiles are the same: if they are not, // throw exception. if (oid == null) oid = prof.getObjectId(); else if (!oid.equals(prof.getObjectId())) throw wrapper.badOidInIorTemplateList(); // Find or create the IORTemplate for oktemp. IORTemplate iortemp = oktempToIORTemplate.get(oktemp); if (iortemp == null) { iortemp = IORFactories.makeIORTemplate(oktemp); oktempToIORTemplate.put(oktemp, iortemp); iortemps.add(iortemp); } iortemp.add(ptemp); } iortemps.makeImmutable(); }
private byte[] internalReferenceToId(org.omg.CORBA.Object reference) throws WrongAdapter { IOR ior = ORBUtility.getIOR(reference); IORTemplateList thisTemplate = ior.getIORTemplates(); ObjectReferenceFactory orf = getCurrentFactory(); IORTemplateList poaTemplate = IORFactories.getIORTemplateList(orf); if (!poaTemplate.isEquivalent(thisTemplate)) throw new WrongAdapter(); // Extract the ObjectId from the first TaggedProfile in the IOR. If ior was created in this POA, the same ID was // used for every profile through the profile templates in the currentFactory, so we will get the same result // from any profile. Iterator<Object> iter = ior.iterator(); if (!iter.hasNext()) throw iorWrapper().noProfilesInIor(); TaggedProfile prof = (TaggedProfile) (iter.next()); ObjectId oid = prof.getObjectId(); return oid.getId(); }
private byte[] internalReferenceToId(org.omg.CORBA.Object reference) throws WrongAdapter { IOR ior = ORBUtility.getIOR(reference); IORTemplateList thisTemplate = ior.getIORTemplates(); ObjectReferenceFactory orf = getCurrentFactory(); IORTemplateList poaTemplate = IORFactories.getIORTemplateList(orf); if (!poaTemplate.isEquivalent(thisTemplate)) throw new WrongAdapter(); // Extract the ObjectId from the first TaggedProfile in the IOR. If ior was created in this POA, the same ID was // used for every profile through the profile templates in the currentFactory, so we will get the same result // from any profile. Iterator<Object> iter = ior.iterator(); if (!iter.hasNext()) throw iorWrapper().noProfilesInIor(); TaggedProfile prof = (TaggedProfile) (iter.next()); ObjectId oid = prof.getObjectId(); return oid.getId(); }