/** * PUBLIC: Register the session under its name. All of the session's descriptors must have already * been registered. The session should not be connected and descriptors should not be initialized. */ public void registerSession(String name, AbstractSession session) { session.setIsInBroker(true); getSessionsByName().put(name, session); session.setBroker(this); session.setName(name); // The keys/classes must also be used as some descriptors may be under multiple classes. Iterator descriptors = session.getDescriptors().values().iterator(); Iterator classes = session.getDescriptors().keySet().iterator(); while (descriptors.hasNext()) { ClassDescriptor descriptor = (ClassDescriptor) descriptors.next(); Class descriptorClass = (Class) classes.next(); getSessionNamesByClass().put(descriptorClass, name); getDescriptors().put(descriptorClass, descriptor); } }