private void doClasses(Session hSession) throws HibernateException { MetadataTable tClass = getMetadataTable(MetadataTable.CLASS); Iterator i = mResources.values().iterator(); while (i.hasNext()) { Resource resource = (Resource) i.next(); Set hClasses = new HashSet(); List classes = tClass.getDataRows(resource.getPath()); Iterator j = classes.iterator(); while (j.hasNext()) { Metadata md = (Metadata) j.next(); MClass hClass = new MClass(); hClass.setResource(resource); String className = md.getAttribute("ClassName"); hClass.setClassName(className); hClass.setStandardName(ClassStandardNameEnum.fromString(md.getAttribute("StandardName"))); hClass.setVisibleName(md.getAttribute("VisibleName")); hClass.setDescription(md.getAttribute("Description")); StringBuffer tmp = new StringBuffer("rets_"); tmp.append(resource.getResourceID()).append("_"); tmp.append(hClass.getClassName()); hClass.setDbTable(tmp.toString()); hClass.updateLevel(); hSession.save(hClass); hClasses.add(hClass); mClasses.put(hClass.getPath(), hClass); } resource.setClasses(hClasses); hSession.saveOrUpdate(resource); } }