/** * Meant to be called only from do Lookup. * * @param rSession the rets session * @param hSession the hibernate session * @exception HibernateException if an error occurs */ private void doLookupTypes(Session hSession) throws HibernateException { MetadataTable tLookupTypes = getMetadataTable(MetadataTable.LOOKUP_TYPE); Iterator i = mLookups.values().iterator(); while (i.hasNext()) { Lookup lookup = (Lookup) i.next(); List lookupTypes = tLookupTypes.getDataRows(lookup.getPath()); Set hLookupTypes = new HashSet(); if (lookupTypes != null) { Iterator j = lookupTypes.iterator(); while (j.hasNext()) { Metadata md = (Metadata) j.next(); LookupType hLookupType = new LookupType(); hLookupType.setLookup(lookup); hLookupType.setLongValue(md.getAttribute("LongValue")); hLookupType.setShortValue(md.getAttribute("ShortValue")); hLookupType.setValue(md.getAttribute("Value")); hLookupType.updateLevel(); hSession.save(hLookupType); hLookupTypes.add(hLookupType); } } lookup.setLookupTypes(hLookupTypes); hSession.saveOrUpdate(lookup); } }