/* * Ensures that searching takes the owner's working copies into account. */ public void testSearch2() throws CoreException { ICompilationUnit cu = getCompilationUnit("P/X.java"); TestWorkingCopyOwner owner = new TestWorkingCopyOwner(); this.workingCopy = cu.getWorkingCopy(owner, null); // remove type X this.workingCopy.getBuffer().setContents(""); this.workingCopy.makeConsistent(null); SearchPattern pattern = SearchPattern.createPattern( "X", IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE); JavaSearchTests.JavaSearchResultCollector resultCollector = new JavaSearchTests.JavaSearchResultCollector(); new SearchEngine(owner) .search( pattern, new SearchParticipant[] {SearchEngine.getDefaultSearchParticipant()}, SearchEngine.createWorkspaceScope(), resultCollector, null); assertEquals( "", // should not find any in the owner's context resultCollector.toString()); }
/* * Ensures that searching takes the primary owner's working copies into account only if the working copy * is not saved. */ public void testSearch3() throws CoreException { try { createFile("/P/Y.java", ""); this.workingCopy = getCompilationUnit("P/Y.java"); this.workingCopy.becomeWorkingCopy(null); // create type Y in working copy this.workingCopy.getBuffer().setContents("public class Y {}"); this.workingCopy.makeConsistent(null); JavaSearchTests.JavaSearchResultCollector resultCollector = new JavaSearchTests.JavaSearchResultCollector(); search( "Y", IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, SearchEngine.createWorkspaceScope(), resultCollector); assertEquals("Y.java Y [Y]", resultCollector.toString()); // commit new type this.workingCopy.commitWorkingCopy(false, null); resultCollector = new JavaSearchTests.JavaSearchResultCollector(); search( "Y", IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, SearchEngine.createWorkspaceScope(), resultCollector); assertEquals("Y.java Y [Y]", resultCollector.toString()); } finally { deleteFile("/P/Y.java"); } }
public static void addDocuments( String searchEngineId, long companyId, Collection<Document> documents) throws SearchException { if (isIndexReadOnly() || (documents == null) || documents.isEmpty()) { return; } SearchEngine searchEngine = getSearchEngine(searchEngineId); IndexWriter indexWriter = searchEngine.getIndexWriter(); for (Document document : documents) { if (_log.isDebugEnabled()) { _log.debug("Add document " + document.toString()); } _searchPermissionChecker.addPermissionFields(companyId, document); } SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(companyId); searchContext.setSearchEngineId(searchEngineId); indexWriter.addDocuments(searchContext, documents); }
private void searchForTypesUsed( SearchEngine engine, IJavaElement parent, IType[] types, IJavaSearchScope scope) throws CoreException { for (int i = 0; i < types.length; i++) { if (types[i].isAnonymous()) continue; TypeReferenceSearchRequestor requestor = new TypeReferenceSearchRequestor(); engine.search( SearchPattern.createPattern(types[i], IJavaSearchConstants.REFERENCES), new SearchParticipant[] {SearchEngine.getDefaultSearchParticipant()}, scope, requestor, null); if (requestor.containMatches()) { TypeDeclarationSearchRequestor decRequestor = new TypeDeclarationSearchRequestor(); engine.search( SearchPattern.createPattern(types[i], IJavaSearchConstants.DECLARATIONS), new SearchParticipant[] {SearchEngine.getDefaultSearchParticipant()}, SearchEngine.createJavaSearchScope(new IJavaElement[] {parent}), decRequestor, null); Match match = decRequestor.getMatch(); if (match != null) fSearchResult.addMatch(match); } } }
public static String spellCheckKeywords(SearchContext searchContext) throws SearchException { if (_log.isDebugEnabled()) { _log.debug("Spell checking " + searchContext.getKeywords()); } SearchEngine searchEngine = getSearchEngine(searchContext.getSearchEngineId()); IndexSearcher indexSearcher = searchEngine.getIndexSearcher(); return indexSearcher.spellCheckKeywords(searchContext); }
private SearchEngine getSearchEngineFromName(String enginename) { List<SearchEngine> selist = getSearchEnginesFromXml().getSearchEngines(); String[] seNames = new String[selist.size()]; int i = 0; for (SearchEngine se : selist) { if (se.getName().equals(enginename)) { return se; } } return null; }
public static Hits search(SearchContext searchContext, Query query) throws SearchException { if (_log.isDebugEnabled()) { _log.debug("Search query " + query.toString()); } SearchEngine searchEngine = getSearchEngine(searchContext.getSearchEngineId()); IndexSearcher indexSearcher = searchEngine.getIndexSearcher(); return indexSearcher.search(searchContext, query); }
private void updateCheckboxes(List<SearchEngine> engines) { for (SearchEngine se : engines) { JCheckBox cBox = engineCheckboxes.get(se); if (cBox != null) { if (cBox.isEnabled() && !cBox.isSelected() && se.isEnabled()) { continue; } cBox.setSelected(se.isEnabled()); cBox.setEnabled(se.isEnabled()); } } }
public static String[] suggestKeywordQueries(SearchContext searchContext, int max) throws SearchException { if (_log.isDebugEnabled()) { _log.debug("Suggesting keyword queries" + searchContext.getKeywords()); } SearchEngine searchEngine = getSearchEngine(searchContext.getSearchEngineId()); IndexSearcher indexSearcher = searchEngine.getIndexSearcher(); return indexSearcher.suggestKeywordQueries(searchContext, max); }
public static Hits search( String searchEngineId, long companyId, Query query, Sort[] sorts, int start, int end) throws SearchException { if (_log.isDebugEnabled()) { _log.debug("Search query " + query.toString()); } SearchEngine searchEngine = getSearchEngine(searchEngineId); IndexSearcher indexSearcher = searchEngine.getIndexSearcher(); return indexSearcher.search(searchEngineId, companyId, query, sorts, start, end); }
public static void indexDictionaries(String searchEngineId, long companyId) throws SearchException { SearchEngine searchEngine = getSearchEngine(searchEngineId); IndexWriter indexWriter = searchEngine.getIndexWriter(); SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(companyId); searchContext.setSearchEngineId(searchEngineId); indexWriter.indexDictionaries(searchContext); }
private JComponent createSearchEnginesFilter() { JPanel panel = new JPanel(); panel.setLayout(new MigLayout("insets 3, wrap 2")); List<SearchEngine> searchEngines = SearchEngine.getEngines(); setupCheckboxes(searchEngines, panel); return panel; }
public void updateFiltersPanel() { generalFilter = new GeneralResultFilter(resultPanel, sliderSeeds, sliderSize, textFieldKeywords); updateCheckboxes(SearchEngine.getEngines()); resultPanel.filterChanged(new SearchEngineFilter(engineCheckboxes), 0); resultPanel.filterChanged(generalFilter, 1); }
private HtmlPage getPage(String url) throws IOException { final WebClient webClient = new WebClient( getBrowserVersionFromName( searchEngine.getDefaultBrowser())); // BrowserVersion.FIREFOX_24); webClient.getOptions().setJavaScriptEnabled(false); return webClient.getPage(url); }
private void search(SearchEngine se) { try { initializeJdbc(); final WebClient webClient = new WebClient( getBrowserVersionFromName(se.getDefaultBrowser())); // BrowserVersion.FIREFOX_24); // webClient.getOptions().setThrowExceptionOnScriptError(false); String htmlSource; HtmlPage searchResultPage = null; // String baseUrl = url; int numberOfUrlsExtracted; searchResultPage = clickSearchButtonMainPage(webClient, se); htmlSource = searchResultPage.getWebResponse().getContentAsString(); numberOfUrlsExtracted = ExtractAndInsertSeedUrls(searchResultPage, htmlSource, 1, 0, se.getName()); target.dispatchEvent(new EventSearchWorker(target, 1)); try { for (int i = 1; i < maxPage; i++) { HtmlAnchor ha = (HtmlAnchor) getNextButtonOrLink(searchResultPage, se.getNextButtonIdentifier()); searchResultPage = ha.click(); htmlSource = searchResultPage.getWebResponse().getContentAsString(); numberOfUrlsExtracted = ExtractAndInsertSeedUrls( searchResultPage, htmlSource, i + 1, numberOfUrlsExtracted, se.getName()); // nextUrl = getNextUrl(b, se, baseUrl); target.dispatchEvent(new EventSearchWorker(target, 1)); Random r = new Random(); int randomSleepTime = r.nextInt(2000) + 200; // minimum 200 ms max 2200 ms Thread.sleep(randomSleepTime); } // fw.close(); } catch (Exception ex) { String x = ex.getMessage(); } webClient.closeAllWindows(); } catch (Exception ex) { String x = ex.getMessage(); } }
public static void deleteDocuments(String searchEngineId, long companyId, Collection<String> uids) throws SearchException { if (isIndexReadOnly() || (uids == null) || uids.isEmpty()) { return; } SearchEngine searchEngine = getSearchEngine(searchEngineId); IndexWriter indexWriter = searchEngine.getIndexWriter(); SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(companyId); searchContext.setSearchEngineId(searchEngineId); indexWriter.deleteDocuments(searchContext, uids); }
public static void deleteDocument(String searchEngineId, long companyId, String uid) throws SearchException { if (isIndexReadOnly()) { return; } SearchEngine searchEngine = getSearchEngine(searchEngineId); IndexWriter indexWriter = searchEngine.getIndexWriter(); SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(companyId); searchContext.setSearchEngineId(searchEngineId); indexWriter.deleteDocument(searchContext, uid); }
/* * Ensures that searching takes the primary owner's working copies and the given working copies into account. * (regression test for bug 43300 SearchEngine(IWorkingCopy[] workingCopies) not backward compatible) */ public void testSearch4() throws CoreException { ICompilationUnit primaryWorkingCopy = null; try { createFolder("P/p"); createFile("/P/p/Y.java", ""); primaryWorkingCopy = getCompilationUnit("P/p/Y.java"); primaryWorkingCopy.becomeWorkingCopy(null); // create type Y in working copy primaryWorkingCopy.getBuffer().setContents("package p;\n" + "public class Y {\n" + "}"); primaryWorkingCopy.makeConsistent(null); // create new working copy on X.java and add type X this.workingCopy = getCompilationUnit("P/p/X.java").getWorkingCopy(null); this.workingCopy.getBuffer().setContents("package p;\n" + "public class X {\n" + "}"); this.workingCopy.makeConsistent(null); JavaSearchTests.JavaSearchResultCollector resultCollector = new JavaSearchTests.JavaSearchResultCollector(); IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] {primaryWorkingCopy.getParent()}); SearchPattern pattern = SearchPattern.createPattern( "*", IJavaSearchConstants.TYPE, IJavaSearchConstants.DECLARATIONS, SearchPattern.R_PATTERN_MATCH | SearchPattern.R_CASE_SENSITIVE); new SearchEngine(new ICompilationUnit[] {this.workingCopy}) .search( pattern, new SearchParticipant[] {SearchEngine.getDefaultSearchParticipant()}, scope, resultCollector, null); assertEquals("p/X.java p.X [X]\n" + "p/Y.java p.Y [Y]", resultCollector.toString()); } finally { if (primaryWorkingCopy != null) { primaryWorkingCopy.discardWorkingCopy(); } deleteFile("/P/p/Y.java"); } }
public void search(String str, int filter) { // this.contentPane.removeAll(); // this.contentPane.add(topMenu); // this.contentPane.add(panel); // this.contentPane.add(resultPanel); // mainWindow.messageBox.showMessage("Error Opening", "There was trouble opening this node..\n // contact sanjay verma"); this.resultPanel.removeAll(); this.button.setEnabled(false); this.textField.setEnabled(false); this.comboBox.setEnabled(false); this.btnCancel.setEnabled(true); updateResultLabel(0, 0); this.repaint(); layoutCount = 0; SearchEngine se = new SearchEngine(); se.setData(str, filter, this); th = new Thread(se); th.start(); // se.search(str,this); }
private HtmlPage clickSearchButtonMainPage(final WebClient webClient, SearchEngine se) { String url = se.getBaseUrl(); String queryTextboxName = se.getQueryTextBoxName(); String searchButtonId = se.getSubmitButtonId(); String searchButtonName = se.getSubmitButtonName(); Object tempSubmitFromName, tempSubmitFromId, tempSubmitFromTagName; try { HtmlPage page1 = webClient.getPage(url); HtmlInput input1 = page1.getElementByName(queryTextboxName); input1.setValueAttribute(query); tempSubmitFromName = page1.getElementByName(searchButtonName); return clickButtonReturnPage(tempSubmitFromName); // baseUrl = page1.getUrl().toString(); } catch (Exception ex) { String aaa = "deneme"; } try { HtmlPage page1 = webClient.getPage(url); HtmlInput input1 = page1.getElementByName(queryTextboxName); input1.setValueAttribute(query); tempSubmitFromId = page1.getElementById(searchButtonId); return clickButtonReturnPage(tempSubmitFromId); // baseUrl = page1.getUrl().toString(); } catch (Exception ex2) { String aaa = "deneme"; } try { HtmlPage page1 = webClient.getPage(url); HtmlInput input1 = page1.getElementByName(queryTextboxName); input1.setValueAttribute(query); tempSubmitFromTagName = page1.getElementsByTagName("button").get(0); return clickButtonReturnPage(tempSubmitFromTagName); // baseUrl = page1.getUrl().toString(); } catch (Exception ex2) { String aaa = "deneme"; } return null; }
public static void updateDocument(String searchEngineId, long companyId, Document document) throws SearchException { if (isIndexReadOnly()) { return; } if (_log.isDebugEnabled()) { _log.debug("Document " + document.toString()); } SearchEngine searchEngine = getSearchEngine(searchEngineId); IndexWriter indexWriter = searchEngine.getIndexWriter(); _searchPermissionChecker.addPermissionFields(companyId, document); SearchContext searchContext = new SearchContext(); searchContext.setCompanyId(companyId); searchContext.setSearchEngineId(searchEngineId); indexWriter.updateDocument(searchContext, document); }
/* * Ensures that searching takes the owner's working copies into account. */ public void testSearch1() throws CoreException { ICompilationUnit cu = getCompilationUnit("P/Y.java"); TestWorkingCopyOwner owner = new TestWorkingCopyOwner(); this.workingCopy = cu.getWorkingCopy(owner, null); this.workingCopy.getBuffer().setContents("public class Y {\n" + " X field;\n" + "}"); this.workingCopy.makeConsistent(null); SearchPattern pattern = SearchPattern.createPattern( "X", IJavaSearchConstants.TYPE, IJavaSearchConstants.REFERENCES, SearchPattern.R_EXACT_MATCH | SearchPattern.R_CASE_SENSITIVE); JavaSearchTests.JavaSearchResultCollector resultCollector = new JavaSearchTests.JavaSearchResultCollector(); new SearchEngine(owner) .search( pattern, new SearchParticipant[] {SearchEngine.getDefaultSearchParticipant()}, SearchEngine.createWorkspaceScope(), resultCollector, null); assertEquals("Y.java Y.field [X]", resultCollector.toString()); }
@Override public void run() { try { SearchEngine.Result result = engine.search(query, page); if (run) { h.post(new ResultRunnable(result, requestId)); } } catch (Exception e) { e.printStackTrace(); h.post( new Runnable() { @Override public void run() { Toast.makeText(getActivity(), "Network Error", Toast.LENGTH_SHORT).show(); } }); } }
protected String[] getPathsOfDeclaringType() { if (this.typeQualification == null && this.typeSimpleName == null) return null; final PathCollector pathCollector = new PathCollector(); IJavaSearchScope scope = SearchEngine.createWorkspaceScope(); IndexManager indexManager = JavaModelManager.getIndexManager(); SearchPattern searchPattern = new TypeDeclarationPattern( this.typeSimpleName != null ? null : this.typeQualification, // use the qualification only if no simple name null, // do find member types this.typeSimpleName, IIndexConstants.TYPE_SUFFIX, this.pattern.getMatchRule()); IndexQueryRequestor searchRequestor = new IndexQueryRequestor() { public boolean acceptIndexMatch( String documentPath, SearchPattern indexRecord, SearchParticipant participant, AccessRuleSet access) { TypeDeclarationPattern record = (TypeDeclarationPattern) indexRecord; if (record.enclosingTypeNames != IIndexConstants.ONE_ZERO_CHAR) { // filter out local and anonymous classes pathCollector.acceptIndexMatch(documentPath, indexRecord, participant, access); } return true; } }; indexManager.performConcurrentJob( new PatternSearchJob(searchPattern, new JavaSearchParticipant(), scope, searchRequestor), IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, progressMonitor == null ? null : new SubProgressMonitor(progressMonitor, 100)); return pathCollector.getPaths(); }
private void setupCheckboxes(List<SearchEngine> searchEngines, JPanel parent) { final Map<JCheckBox, BooleanSetting> cBoxes = new HashMap<JCheckBox, BooleanSetting>(); ItemListener listener = new ItemListener() { public void itemStateChanged(ItemEvent e) { if (areAll(false)) { ((JCheckBox) e.getItemSelectable()).setSelected(true); } if (resultPanel != null) { resultPanel.filterChanged(new SearchEngineFilter(engineCheckboxes), 0); } } }; for (SearchEngine se : searchEngines) { JCheckBox cBox = new JCheckBox(se.getName()); cBox.setSelected(se.isEnabled()); cBox.setEnabled(se.isEnabled()); if (!cBox.isEnabled()) { cBox.setToolTipText( se.getName() + " " + I18n.tr( "has been disabled on your FrostWire Search Options. (Go to Tools > Options > Search to enable)")); } parent.add(cBox); cBoxes.put(cBox, se.getEnabledSetting()); cBox.addItemListener(listener); engineCheckboxes.put(se, cBox); } }
@Test public final void testSearch() throws IOException { SimpleIOHandler reader = new SimpleIOHandler(); Model model = reader.convertFromOWL( resourceLoader.getResource("classpath:merge/pathwaydata1.owl").getInputStream()); SearchEngine searchEngine = new SearchEngine(model, indexLocation); searchEngine.index(); assertTrue(new File(indexLocation).exists()); SearchResponse response = searchEngine.search("ATP", 0, null, null, null); assertNotNull(response); assertFalse(response.isEmpty()); assertEquals(7, response.getSearchHit().size()); assertEquals(7, response.getNumHits().intValue()); CPathSettings.getInstance().setDebugEnabled(false); response = searchEngine.search("ATP", 0, Interaction.class, null, null); assertNotNull(response); assertFalse(response.isEmpty()); assertEquals(2, response.getSearchHit().size()); // if cPath2 debugging is disabled, - no score/explain in the excerpt assertFalse(response.getSearchHit().get(0).getExcerpt().contains("-SCORE-")); // enable cPath2 debugging... CPathSettings.getInstance().setDebugEnabled(true); response = searchEngine.search("ATP", 0, Pathway.class, null, null); assertNotNull(response); assertFalse(response.isEmpty()); assertEquals(1, response.getSearchHit().size()); SearchHit hit = response.getSearchHit().get(0); assertEquals(4, hit.getSize().intValue()); // no. member processes, not counting the hit itself assertTrue(hit.getExcerpt().contains("-SCORE-")); CPathSettings.getInstance().setDebugEnabled(false); // test a special implementation for wildcard queries response = searchEngine.search("*", 0, Pathway.class, null, null); assertNotNull(response); assertFalse(response.isEmpty()); assertEquals(1, response.getSearchHit().size()); // find all objects (this here works with page=0 as long as the // total no. objects in the test model < max hits per page) response = searchEngine.search("*", 0, null, null, null); assertEquals(50, response.getSearchHit().size()); response = searchEngine.search("*", 0, PhysicalEntity.class, null, null); assertEquals(8, response.getSearchHit().size()); response = searchEngine.search("*", 0, PhysicalEntity.class, null, new String[] {"562"}); assertEquals(2, response.getSearchHit().size()); response = searchEngine.search("*", 0, PhysicalEntity.class, null, new String[] {"Escherichia"}); assertFalse(response.isEmpty()); assertEquals(2, response.getSearchHit().size()); response = searchEngine.search("*", 0, PhysicalEntity.class, null, new String[] {"Escherichia coliü"}); assertFalse(response.isEmpty()); assertEquals(2, response.getSearchHit().size()); response = searchEngine.search("*", 0, Provenance.class, null, null); assertEquals(2, response.getSearchHit().size()); response = searchEngine.search("*", 0, Provenance.class, new String[] {"kegg"}, null); assertEquals(1, response.getSearchHit().size()); // datasource filter using a URI (required for -update-counts console command and // datasources.html page to work) response = searchEngine.search( "*", 0, Pathway.class, new String[] {"http://identifiers.org/kegg.pathway/"}, null); assertFalse(response.isEmpty()); assertEquals(1, response.getSearchHit().size()); response = searchEngine.search("pathway:glycolysis", 0, SmallMoleculeReference.class, null, null); assertEquals(5, response.getSearchHit().size()); // test search with pagination searchEngine.setMaxHitsPerPage(10); response = searchEngine.search("*", 0, null, null, null); assertEquals(0, response.getPageNo().intValue()); assertEquals(50, response.getNumHits().intValue()); assertEquals(10, response.getSearchHit().size()); response = searchEngine.search("*", 1, null, null, null); assertEquals(10, response.getSearchHit().size()); assertEquals(1, response.getPageNo().intValue()); }
/** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub ArrayList<Document> documents = SearchEngine.generateMySearchResult("machine learning"); for (int i = 0; i < documents.size(); i++) System.out.println(documents.get(i).get("url")); }