private static String[] buildDependencyTree() { // ensure, that the class loader has all relevant classes loaded BasicAromaticityTyper.instance(); BasicArrayHelper.instance(); AtomPairTypeHolder.instance(); BasicAtomTypeConversionHolder.instance(); BasicAtomTyper.instance(); BasicBatchScriptReplacer.instance(); BibitemHolder.instance(); // DatabaseConnection.instance(); DecimalFormatHelper.instance(); BasicElementHolder.instance(); ExternalFactory.instance(); FeatureFactory.instance(); FeatureHelper.instance(); BasicBatchFileUtilities.instance(); FilterFactory.instance(); // try // { // GhemicalInterface.instance(); // } // catch(Exception e){ // // } BasicGroupContributionHolder.instance(); BasicIOTypeHolder.instance(); BasicIsotopeHolder.instance(); HelperMethods.instance(); BasicLineArrayHelper.instance(); BasicLineMatrixHelper.instance(); BasicMatrixHelper.instance(); // Avoid an instance, because this will add a X-server dependency for linux systems // Mol2Image.instance(); // Avoid an instance, because this will add a X-server dependency for linux systems // MolFileChooser.instance(); try { BasicMoleculeCacheHolder.instance(); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } ProcessFactory.instance(); BasicPropertyHolder.instance(); BasicProtonationModel.instance(); BasicResidueData.instance(); BasicResourceLoader.instance(); ResultFactory.instance(); BasicRotorRulesHolder.instance(); // Viewer.instance(); // show all loaded classes in the class loader final ClassLoader[] loaders = ClassScope.getCallerClassLoaderTree(); final Class[] classes = ClassScope.getLoadedClasses(loaders); String[] cnames = new String[classes.length]; Vector<String> results = new Vector<String>(classes.length); StringBuffer buffer; dependencyVersionHash = new Hashtable<String, int[]>(classes.length); for (int c = 0; c < classes.length; c++) { buffer = new StringBuffer(300); cnames[c] = classes[c].getName(); // System.out.println ("[" + classes[c].getName () + "]:"); // System.out.println (" loaded by [" + classes[c].getClassLoader // ().getClass ().getName () + "]"); // System.out.println (" from [" + ClassScope.getClassLocation // (classes[c]) // + "]"); recurseInto(classes[c], buffer, 0, results); } String[] resultsArr = new String[results.size()]; for (int i = 0; i < resultsArr.length; i++) { resultsArr[i] = results.get(i); } return resultsArr; }
public String[] getKernelTitles() { if (titles == null) { // guarantee that all chemistry kernels are initialized IdentifierSoftDefaultSystem hybTyper = BasicHybridisationTyper.instance(); hybTyper.init(); IdentifierSoftDefaultSystem impValTyper = BasicImplicitValenceTyper.instance(); impValTyper.init(); IdentifierSoftDefaultSystem aromaticTyper = BasicAromaticityTyper.instance(); aromaticTyper.init(); IdentifierSoftDefaultSystem atomTyper = BasicAtomTyper.instance(); atomTyper.init(); IdentifierSoftDefaultSystem element = BasicElementHolder.instance(); element.init(); IdentifierSoftDefaultSystem gc = BasicGroupContributionHolder.instance(); gc.init(); IdentifierSoftDefaultSystem isotope = BasicIsotopeHolder.instance(); isotope.init(); IdentifierSoftDefaultSystem phModel = BasicProtonationModel.instance(); phModel.init(); IdentifierSoftDefaultSystem residue = BasicResidueData.instance(); residue.init(); IdentifierSoftDefaultSystem typeTable = BasicAtomTypeConversionHolder.instance(); typeTable.init(); titles = new String[20]; String kernelType = CML_SOFT_KERNEL + ":"; titles[0] = kernelType + aromaticTyper.getClass().getName(); titles[1] = kernelType + atomTyper.getClass().getName(); titles[2] = kernelType + element.getClass().getName(); titles[3] = kernelType + gc.getClass().getName(); titles[4] = kernelType + isotope.getClass().getName(); titles[5] = kernelType + phModel.getClass().getName(); titles[6] = kernelType + typeTable.getClass().getName(); titles[7] = kernelType + residue.getClass().getName(); titles[8] = kernelType + impValTyper.getClass().getName(); titles[9] = kernelType + hybTyper.getClass().getName(); kernelType = CML_HARD_KERNEL + ":"; titles[10] = kernelType + aromaticTyper.getClass().getName(); titles[11] = kernelType + atomTyper.getClass().getName(); titles[12] = kernelType + element.getClass().getName(); titles[13] = kernelType + gc.getClass().getName(); titles[14] = kernelType + isotope.getClass().getName(); titles[15] = kernelType + phModel.getClass().getName(); titles[16] = kernelType + typeTable.getClass().getName(); titles[17] = kernelType + residue.getClass().getName(); titles[18] = kernelType + impValTyper.getClass().getName(); titles[19] = kernelType + hybTyper.getClass().getName(); } return titles; }