⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extractor.html

📁 a a a a a a a a a a a a a a a a a a a a a a
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<FONT color="green">397</FONT>                // extractLinks(documents, document, topics, pending, false);<a name="line.397"></a>
<FONT color="green">398</FONT>            } else if (subject.endsWith(" method") &amp;&amp; countOf(subject, ' ') == 1) {<a name="line.398"></a>
<FONT color="green">399</FONT>                if (parent.length() != 0) {<a name="line.399"></a>
<FONT color="green">400</FONT>                    topic = (Topic) topics.get(parent);<a name="line.400"></a>
<FONT color="green">401</FONT>                    if (topic == null) {<a name="line.401"></a>
<FONT color="green">402</FONT>                        extractByIdOrContext(documents, topics, pending, parent, true);<a name="line.402"></a>
<FONT color="green">403</FONT>                        topic = (Topic) topics.get(parent);<a name="line.403"></a>
<FONT color="green">404</FONT>                    }<a name="line.404"></a>
<FONT color="green">405</FONT>                }<a name="line.405"></a>
<FONT color="green">406</FONT>                if (topic == null) {<a name="line.406"></a>
<FONT color="green">407</FONT>                    if (!quiet)<a name="line.407"></a>
<FONT color="green">408</FONT>                        System.err.println("Skipping a non-existing parent with subject '"<a name="line.408"></a>
<FONT color="green">409</FONT>                                + subject + "' and context '" + context + "'.");<a name="line.409"></a>
<FONT color="green">410</FONT>                    return;<a name="line.410"></a>
<FONT color="green">411</FONT>                }<a name="line.411"></a>
<FONT color="green">412</FONT>                String name = getFirstWord(subject);<a name="line.412"></a>
<FONT color="green">413</FONT>                topics.put(context, new Topic(document.getUniversalID(), "method", name,<a name="line.413"></a>
<FONT color="green">414</FONT>                        topic));<a name="line.414"></a>
<FONT color="green">415</FONT>                extractMethod(name, topic.type.equals("class") ? topic.name : "*", documents,<a name="line.415"></a>
<FONT color="green">416</FONT>                        document, topics, pending);<a name="line.416"></a>
<FONT color="green">417</FONT>                // extractLinks(documents, document, topics, pending, false);<a name="line.417"></a>
<FONT color="green">418</FONT>            } else if ((subject.startsWith("Examples: ") || subject.startsWith("Example: "))<a name="line.418"></a>
<FONT color="green">419</FONT>                    &amp;&amp; (subject.endsWith(" class") || subject.endsWith(" property") || subject<a name="line.419"></a>
<FONT color="green">420</FONT>                            .endsWith(" method")) &amp;&amp; countOf(subject, ' ') == 2) {<a name="line.420"></a>
<FONT color="green">421</FONT>                if (parent.length() != 0) {<a name="line.421"></a>
<FONT color="green">422</FONT>                    topic = (Topic) topics.get(parent);<a name="line.422"></a>
<FONT color="green">423</FONT>                    if (topic == null) {<a name="line.423"></a>
<FONT color="green">424</FONT>                        extractByIdOrContext(documents, topics, pending, parent, true);<a name="line.424"></a>
<FONT color="green">425</FONT>                        topic = (Topic) topics.get(parent);<a name="line.425"></a>
<FONT color="green">426</FONT>                    }<a name="line.426"></a>
<FONT color="green">427</FONT>                }<a name="line.427"></a>
<FONT color="green">428</FONT>                if (topic == null) {<a name="line.428"></a>
<FONT color="green">429</FONT>                    if (!quiet)<a name="line.429"></a>
<FONT color="green">430</FONT>                        System.err.println("Skipping a non-existing parent with subject '"<a name="line.430"></a>
<FONT color="green">431</FONT>                                + subject + "' and context '" + context + "'.");<a name="line.431"></a>
<FONT color="green">432</FONT>                    return;<a name="line.432"></a>
<FONT color="green">433</FONT>                }<a name="line.433"></a>
<FONT color="green">434</FONT>                String type = getLastWord(subject);<a name="line.434"></a>
<FONT color="green">435</FONT>                boolean member = !type.equals("class");<a name="line.435"></a>
<FONT color="green">436</FONT>                if (member) {<a name="line.436"></a>
<FONT color="green">437</FONT>                    if (topic.parent == null) {<a name="line.437"></a>
<FONT color="green">438</FONT>                        if (!quiet)<a name="line.438"></a>
<FONT color="green">439</FONT>                            System.err<a name="line.439"></a>
<FONT color="green">440</FONT>                                    .println("Skipping a non-existing parent class with subject '"<a name="line.440"></a>
<FONT color="green">441</FONT>                                            + subject + "' and context '" + context + "'.");<a name="line.441"></a>
<FONT color="green">442</FONT>                        return;<a name="line.442"></a>
<FONT color="green">443</FONT>                    }<a name="line.443"></a>
<FONT color="green">444</FONT>                    topic = topic.parent;<a name="line.444"></a>
<FONT color="green">445</FONT>                }<a name="line.445"></a>
<FONT color="green">446</FONT>                String name = getSecondWord(subject);<a name="line.446"></a>
<FONT color="green">447</FONT>                topics.put(context, new Topic(document.getUniversalID(), "example", name,<a name="line.447"></a>
<FONT color="green">448</FONT>                        topic));<a name="line.448"></a>
<FONT color="green">449</FONT>                extractExample(name, subject, topic.name, member ? "member" : type,<a name="line.449"></a>
<FONT color="green">450</FONT>                        documents, document, topics, pending);<a name="line.450"></a>
<FONT color="green">451</FONT>                // extractLinks(documents, document, topics, pending, false);<a name="line.451"></a>
<FONT color="green">452</FONT>            } else if ((subject.startsWith("Examples: ") || subject.startsWith("Example: "))<a name="line.452"></a>
<FONT color="green">453</FONT>                    &amp;&amp; subject.endsWith(" properties") &amp;&amp; subject.indexOf(" and ") &gt; 0) {<a name="line.453"></a>
<FONT color="green">454</FONT>                if (parent.length() != 0) {<a name="line.454"></a>
<FONT color="green">455</FONT>                    topic = (Topic) topics.get(parent);<a name="line.455"></a>
<FONT color="green">456</FONT>                    if (topic == null) {<a name="line.456"></a>
<FONT color="green">457</FONT>                        extractByIdOrContext(documents, topics, pending, parent, true);<a name="line.457"></a>
<FONT color="green">458</FONT>                        topic = (Topic) topics.get(parent);<a name="line.458"></a>
<FONT color="green">459</FONT>                    }<a name="line.459"></a>
<FONT color="green">460</FONT>                }<a name="line.460"></a>
<FONT color="green">461</FONT>                if (topic == null) {<a name="line.461"></a>
<FONT color="green">462</FONT>                    if (!quiet)<a name="line.462"></a>
<FONT color="green">463</FONT>                        System.err.println("Skipping a non-existing parent with subject '"<a name="line.463"></a>
<FONT color="green">464</FONT>                                + subject + "' and context '" + context + "'.");<a name="line.464"></a>
<FONT color="green">465</FONT>                    return;<a name="line.465"></a>
<FONT color="green">466</FONT>                }<a name="line.466"></a>
<FONT color="green">467</FONT>                String id = document.getUniversalID();<a name="line.467"></a>
<FONT color="green">468</FONT>                for (int i = 1, words = countOf(subject, ' '); i &lt; words; ++i) {<a name="line.468"></a>
<FONT color="green">469</FONT>                    if (i == words - 2)<a name="line.469"></a>
<FONT color="green">470</FONT>                        continue;<a name="line.470"></a>
<FONT color="green">471</FONT>                    String name = getNthWord(subject, i);<a name="line.471"></a>
<FONT color="green">472</FONT>                    topics.put(context, new Topic(id, "example", name, topic));<a name="line.472"></a>
<FONT color="green">473</FONT>                    extractExample(name, subject, topic.name, "member", documents, document,<a name="line.473"></a>
<FONT color="green">474</FONT>                            topics, pending);<a name="line.474"></a>
<FONT color="green">475</FONT>                }<a name="line.475"></a>
<FONT color="green">476</FONT>                // extractLinks(documents, document, topics, pending, false);<a name="line.476"></a>
<FONT color="green">477</FONT>            } else {<a name="line.477"></a>
<FONT color="green">478</FONT>                if (force) {<a name="line.478"></a>
<FONT color="green">479</FONT>                    String name = generateName(context);<a name="line.479"></a>
<FONT color="green">480</FONT>                    topics.put(context, new Topic(document.getUniversalID(), "page", name,<a name="line.480"></a>
<FONT color="green">481</FONT>                            topic));<a name="line.481"></a>
<FONT color="green">482</FONT>                    extractPage(name, subject, documents, document, topics, pending,<a name="line.482"></a>
<FONT color="green">483</FONT>                            !fromJava);<a name="line.483"></a>
<FONT color="green">484</FONT>                    // extractLinks(documents, document, topics, pending, !fromJava);<a name="line.484"></a>
<FONT color="green">485</FONT>                } else if (!quiet)<a name="line.485"></a>
<FONT color="green">486</FONT>                    System.err.println("Skipping subject '" + subject + "'.");<a name="line.486"></a>
<FONT color="green">487</FONT>            }<a name="line.487"></a>
<FONT color="green">488</FONT>    <a name="line.488"></a>
<FONT color="green">489</FONT>            if (parent.length() != 0) {<a name="line.489"></a>
<FONT color="green">490</FONT>                topic = (Topic) topics.get(parent);<a name="line.490"></a>
<FONT color="green">491</FONT>                if (topic == null)<a name="line.491"></a>
<FONT color="green">492</FONT>                    pending.add(new Object[] { parent, new Boolean(!fromJava) });<a name="line.492"></a>
<FONT color="green">493</FONT>            }<a name="line.493"></a>
<FONT color="green">494</FONT>        }<a name="line.494"></a>
<FONT color="green">495</FONT>    <a name="line.495"></a>
<FONT color="green">496</FONT>        private void extract(Database database, HashMap topics) throws NotesException {<a name="line.496"></a>
<FONT color="green">497</FONT>            DocumentCollection documents = null;<a name="line.497"></a>
<FONT color="green">498</FONT>            Vector toRecycle = new Vector();<a name="line.498"></a>
<FONT color="green">499</FONT>            try {<a name="line.499"></a>
<FONT color="green">500</FONT>                documents = database.getAllDocuments();<a name="line.500"></a>
<FONT color="green">501</FONT>                if (!quiet)<a name="line.501"></a>
<FONT color="green">502</FONT>                    System.err.println("Found " + documents.getCount() + " documents.");<a name="line.502"></a>
<FONT color="green">503</FONT>                Document document = documents.getFirstDocument();<a name="line.503"></a>
<FONT color="green">504</FONT>                HashMap documentsByIdOrContext = new HashMap();<a name="line.504"></a>
<FONT color="green">505</FONT>                while (document != null) {<a name="line.505"></a>
<FONT color="green">506</FONT>                    toRecycle.addElement(document);<a name="line.506"></a>
<FONT color="green">507</FONT>                    String context = getStringValue(document, "Context");<a name="line.507"></a>
<FONT color="green">508</FONT>                    if (context.length() != 0) {<a name="line.508"></a>
<FONT color="green">509</FONT>                        documentsByIdOrContext.put(document.getUniversalID(), document);<a name="line.509"></a>
<FONT color="green">510</FONT>                        documentsByIdOrContext.put(context, document);<a name="line.510"></a>
<FONT color="green">511</FONT>                    }<a name="line.511"></a>
<FONT color="green">512</FONT>                    document = documents.getNextDocument();<a name="line.512"></a>
<FONT color="green">513</FONT>                }<a name="line.513"></a>
<FONT color="green">514</FONT>    <a name="line.514"></a>
<FONT color="green">515</FONT>                if (verbose)<a name="line.515"></a>
<FONT color="green">516</FONT>                    System.err.println("Processing primary documents.");<a name="line.516"></a>
<FONT color="green">517</FONT>                ArrayList pending = new ArrayList();<a name="line.517"></a>
<FONT color="green">518</FONT>                for (int i = 0, size = toRecycle.size(); i &lt; size; ++i)<a name="line.518"></a>
<FONT color="green">519</FONT>                    try {<a name="line.519"></a>
<FONT color="green">520</FONT>                        extract(documentsByIdOrContext, (Document) toRecycle.get(i), topics,<a name="line.520"></a>
<FONT color="green">521</FONT>                                pending, false);<a name="line.521"></a>
<FONT color="green">522</FONT>                    } catch (Exception exception) {<a name="line.522"></a>
<FONT color="green">523</FONT>                        exception.printStackTrace();<a name="line.523"></a>
<FONT color="green">524</FONT>                    }<a name="line.524"></a>
<FONT color="green">525</FONT>    <a name="line.525"></a>
<FONT color="green">526</FONT>                if (verbose)<a name="line.526"></a>
<FONT color="green">527</FONT>                    System.err.println("Processing secondary documents.");<a name="line.527"></a>
<FONT color="green">528</FONT>                while (pending.size() != 0)<a name="line.528"></a>
<FONT color="green">529</FONT>                    try {<a name="line.529"></a>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -