コード例 #1
0
        /// <summary> Read a Reaction from a file in MACiE RDF format.
        ///
        /// </summary>
        /// <returns>  The Reaction that was read from the MDL file.
        /// </returns>
        private IChemObject readReactions(bool selectEntry)
        {
            ChemSequence entries = new ChemSequence();

            currentEntry = null;
            int entryCounter = 0;

            currentReactionStepSet = null;

            while (input.Peek() != -1)
            {
                //UPGRADE_WARNING: Method 'java.io.LineNumberReader.readLine' was converted to 'System.IO.StreamReader.ReadLine' which may throw an exception. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1101'"
                System.String line = input.ReadLine();
                if (line.StartsWith("$RDFILE"))
                {
                    entries = new ChemSequence();
                }
                else if (line.StartsWith("$DATM"))
                {
                    entries.setProperty(CreationDate, line.Substring(7));
                }
                else if (line.StartsWith("$RIREG"))
                {
                    // new entry, store previous entry if any
                    if (currentEntry != null)
                    {
                        // store previous entry
                        currentEntry.SetOfReactions = currentReactionStepSet;
                        createNiceMACiETitle(currentEntry);
                        entries.addChemModel(currentEntry);
                        fireFrameRead();
                        if (selectEntry && (entryCounter == selectedEntry.SettingValue))
                        {
                            //logger.info("Starting reading wanted frame: ", selectedEntry);
                            return(currentEntry);
                        }
                        else
                        {
                            //logger.debug("Not reading unwanted frame: " + entryCounter);
                        }
                    }
                    currentEntry = new ChemModel();
                    entryCounter++;
                    if (!selectEntry || entryCounter == selectedEntry.SettingValue)
                    {
                        readThisEntry = true;
                    }
                    else
                    {
                        readThisEntry = false;
                    }
                    currentReactionStepSet = new SetOfReactions();
                }
                else if (line.StartsWith("$DTYPE"))
                {
                    System.String[] tuple    = readDtypeDatumTuple(line);
                    System.String   dataType = tuple[0];
                    System.String   datum    = tuple[1];

                    // now some regular expression wizardry
                    Match subLevelMatcher = subLevelDatum.Match(dataType);
                    if (subLevelMatcher.Success)
                    {
                        // sub level field found
                        System.String field       = subLevelMatcher.Groups[2].Value;
                        System.String fieldNumber = subLevelMatcher.Groups[3].Value;
                        System.String subfield    = subLevelMatcher.Groups[4].Value;
                        processSubLevelField(field, fieldNumber, subfield, datum);
                    }
                    else
                    {
                        Match topLevelMatcher = topLevelDatum.Match(dataType);
                        if (topLevelMatcher.Success)
                        {
                            // top level field found
                            System.String field = topLevelMatcher.Groups[2].Value;
                            processTopLevelField(field, datum);
                        }
                        else
                        {
                            //UPGRADE_ISSUE: Method 'java.io.LineNumberReader.getLineNumber' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javaioLineNumberReadergetLineNumber'"
                            //logger.error("Could not parse datum tuple of type ", dataType, " around line " + input.getLineNumber());
                        }
                    }
                }
                else
                {
                    //UPGRADE_ISSUE: Method 'java.io.LineNumberReader.getLineNumber' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javaioLineNumberReadergetLineNumber'"
                    //logger.warn("Unrecognized command on line " + input.getLineNumber(), ": ", line);
                }
            }

            if (currentEntry != null)
            {
                createNiceMACiETitle(currentEntry);
                // store last entry
                currentEntry.SetOfReactions = currentReactionStepSet;
                entries.addChemModel(currentEntry);
                fireFrameRead();
            }

            if (selectEntry)
            {
                // apparently selected last one, other already returned
                return(currentEntry);
            }
            return(entries);
        }
コード例 #2
0
        /// <summary> Read a Reaction from a file in MACiE RDF format.
        /// 
        /// </summary>
        /// <returns>  The Reaction that was read from the MDL file.
        /// </returns>
        private IChemObject readReactions(bool selectEntry)
        {
            ChemSequence entries = new ChemSequence();
            currentEntry = null;
            int entryCounter = 0;
            currentReactionStepSet = null;

            while (input.Peek() != -1)
            {
                //UPGRADE_WARNING: Method 'java.io.LineNumberReader.readLine' was converted to 'System.IO.StreamReader.ReadLine' which may throw an exception. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1101'"
                System.String line = input.ReadLine();
                if (line.StartsWith("$RDFILE"))
                {
                    entries = new ChemSequence();
                }
                else if (line.StartsWith("$DATM"))
                {
                    entries.setProperty(CreationDate, line.Substring(7));
                }
                else if (line.StartsWith("$RIREG"))
                {
                    // new entry, store previous entry if any
                    if (currentEntry != null)
                    {
                        // store previous entry
                        currentEntry.SetOfReactions = currentReactionStepSet;
                        createNiceMACiETitle(currentEntry);
                        entries.addChemModel(currentEntry);
                        fireFrameRead();
                        if (selectEntry && (entryCounter == selectedEntry.SettingValue))
                        {
                            //logger.info("Starting reading wanted frame: ", selectedEntry);
                            return currentEntry;
                        }
                        else
                        {
                            //logger.debug("Not reading unwanted frame: " + entryCounter);
                        }
                    }
                    currentEntry = new ChemModel();
                    entryCounter++;
                    if (!selectEntry || entryCounter == selectedEntry.SettingValue)
                    {
                        readThisEntry = true;
                    }
                    else
                    {
                        readThisEntry = false;
                    }
                    currentReactionStepSet = new SetOfReactions();
                }
                else if (line.StartsWith("$DTYPE"))
                {
                    System.String[] tuple = readDtypeDatumTuple(line);
                    System.String dataType = tuple[0];
                    System.String datum = tuple[1];

                    // now some regular expression wizardry
                    Match subLevelMatcher = subLevelDatum.Match(dataType);
                    if (subLevelMatcher.Success)
                    {
                        // sub level field found
                        System.String field = subLevelMatcher.Groups[2].Value;
                        System.String fieldNumber = subLevelMatcher.Groups[3].Value;
                        System.String subfield = subLevelMatcher.Groups[4].Value;
                        processSubLevelField(field, fieldNumber, subfield, datum);
                    }
                    else
                    {
                        Match topLevelMatcher = topLevelDatum.Match(dataType);
                        if (topLevelMatcher.Success)
                        {
                            // top level field found
                            System.String field = topLevelMatcher.Groups[2].Value;
                            processTopLevelField(field, datum);
                        }
                        else
                        {
                            //UPGRADE_ISSUE: Method 'java.io.LineNumberReader.getLineNumber' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javaioLineNumberReadergetLineNumber'"
                            //logger.error("Could not parse datum tuple of type ", dataType, " around line " + input.getLineNumber());
                        }
                    }
                }
                else
                {
                    //UPGRADE_ISSUE: Method 'java.io.LineNumberReader.getLineNumber' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javaioLineNumberReadergetLineNumber'"
                    //logger.warn("Unrecognized command on line " + input.getLineNumber(), ": ", line);
                }
            }

            if (currentEntry != null)
            {
                createNiceMACiETitle(currentEntry);
                // store last entry
                currentEntry.SetOfReactions = currentReactionStepSet;
                entries.addChemModel(currentEntry);
                fireFrameRead();
            }

            if (selectEntry)
            {
                // apparently selected last one, other already returned
                return currentEntry;
            }
            return entries;
        }