public void init()

in server/src/main/java/com/epam/indigoeln/core/chemistry/sdf/SdUnit.java [237:277]


    public void init(String molecule, boolean allKeysToUpperCase, boolean molFilePortionOnly) {
        try {
            if (molecule == null) {
                valid = false;
                validString = "Input molecule was NULL";
                return;
            }
            upperCase = allKeysToUpperCase;
            String mol = molecule;
            if (mol.contains("\r")) {
                mol = createConsistentLineTermination(mol);
            }
            if (molFilePortionOnly) {
                mol = mol.substring(0, mol.indexOf(MOLECULE_PATTERN) + 6);
                mol = mol + "\n\n$$$$";
            }
            if (!mol.contains(MOLECULE_PATTERN) || !mol.contains("$$$$")) {
                valid = false;
                validString = "Does not contain \"M  END\" or \"$$$$\"";
                molPortion = "Not a valid molecule!";
            }
            if (mol.contains(MOLECULE_PATTERN)) {
                setMol(mol.substring(0, mol.indexOf(MOLECULE_PATTERN) + 6) + "\n");
            }
            validString = validateDetail(molPortion);
            if (!validString.startsWith(OK)) {
                valid = false;
            }
            infoPortion = parseInfo(mol, keyList);
        } catch (IllegalArgumentException e) {
            LOGGER.error("SDUnit init error", e);
            valid = false;
            if (validString.startsWith(OK)) {
                validString = e.getMessage();
            } else {
                validString = validString + " AND " + e.getMessage();
            }
        } catch (Exception e) {
            LOGGER.error("SDUnit init error", e);
        }
    }