📄 handler.java
字号:
else if (par!=null && par.equals(csq.getSearchTitle())){ p = Pattern.compile("(?ui)"+par); m = p.matcher(comodo); match=m.find(); } else if (par!=null && par.equals(csq.getSearchDescription())){ p = Pattern.compile("(?ui)"+par); m = p.matcher(comodo2); match=m.find(); } if(match) { mw=csq.getMainWindow(); if (par==csq.getSearchTitle()) { if (tOp==null) { tOp=new String [1]; dOp=new String [1]; uOp=new String [1]; tOp[jOp]=comodo; Node root=el.getParentNode(); NodeList nd=root.getChildNodes(); for(int k=0;k<nd.getLength();k++) { if(nd.item(k).getNodeName().equals("description")) { NodeList no=nd.item(k).getChildNodes(); dOp[jOp]=no.item(0).getNodeValue(); } if(nd.item(k).getNodeName().equals("url")) { NodeList no=nd.item(k).getChildNodes(); uOp[jOp]=no.item(0).getNodeValue(); } } } else { String [] t1=new String[jOp+1]; String [] d1=new String[jOp+1]; String [] u1=new String[jOp+1]; for (int k=0;k<tOp.length;k++) { t1[k]=tOp[k]; d1[k]=dOp[k]; u1[k]=uOp[k]; } t1[jOp]=comodo; Node root=el.getParentNode(); NodeList nd=root.getChildNodes(); for(int k=0;k<nd.getLength();k++) { if(nd.item(k).getNodeName().equals("description")) { NodeList no=nd.item(k).getChildNodes(); d1[jOp]=no.item(0).getNodeValue(); } if(nd.item(k).getNodeName().equals("url")) { NodeList no=nd.item(k).getChildNodes(); u1[jOp]=no.item(0).getNodeValue(); } } tOp=t1; dOp=d1; uOp=u1; } jOp++; } else { if (tOp==null) { tOp=new String [1]; dOp=new String [1]; uOp=new String [1]; dOp[jOp]=comodo2; Node root=el.getParentNode(); NodeList nd=root.getChildNodes(); for(int k=0;k<nd.getLength();k++) { if(nd.item(k).getNodeName().equals("title")) { NodeList no=nd.item(k).getChildNodes(); tOp[jOp]=no.item(0).getNodeValue(); } if(nd.item(k).getNodeName().equals("url")) { NodeList no=nd.item(k).getChildNodes(); uOp[jOp]=no.item(0).getNodeValue(); } } } else { String [] t1=new String[jOp+1]; String [] d1=new String[jOp+1]; String [] u1=new String[jOp+1]; for (int k=0;k<tOp.length;k++) { t1[k]=tOp[k]; d1[k]=dOp[k]; u1[k]=uOp[k]; } d1[jOp]=comodo2; Node root=el.getParentNode(); NodeList nd=root.getChildNodes(); for(int k=0;k<nd.getLength();k++) { if(nd.item(k).getNodeName().equals("title")) { NodeList no=nd.item(k).getChildNodes(); t1[jOp]=no.item(0).getNodeValue(); } if(nd.item(k).getNodeName().equals("url")) { NodeList no=nd.item(k).getChildNodes(); u1[jOp]=no.item(0).getNodeValue(); } } tOp=t1; dOp=d1; uOp=u1; } } jOp++; } i++; } if(tOp!=null){ CatalogSearchResponse csr=new CatalogSearchResponse(tOp,dOp,uOp,c); ResolverResponse resp=new ResolverResponse(handlerName,null,rqm.getQueryId(),csr.toString()); resSvc.sendResponse(rqm.getSrc(),resp); return ResolverService.OK; } } if(csq.isOw()){ Document []docOw=null; for (int y=0;y<catMan.getN();y++) { if(docOw==null) { docOw=new Document[1]; docOw[y]=catMan.getNCatalog(y); c=new String[1]; c[y]=catMan.getCatalogName(y); } else{ Document [] d=new Document[y+1]; String [] b=new String[y+1]; for (int i=0;i<docOw.length;i++) d[i]=docOw[i]; for (int i=0;i<c.length;i++) b[i]=c[i]; d[x]=catMan.getNCatalog(y); b[x]=catMan.getCatalogName(y); doc=d; c=b; } c=new String[docOw.length]; for (int s=0;s<docOw.length;s++) { String par=null; String par2=null; if (csq.getSearchTitle()==null) { if(csq.getSearchDescription()==null) { return -1; } else { par=csq.getSearchDescription(); } } else { par=csq.getSearchTitle(); if (csq.getSearchDescription()!=null)par2=csq.getSearchDescription(); } c[s]=catMan.getCatalogName(s); NodeList nl=docOw[s].getElementsByTagName("title"); int i=0; while((i<nl.getLength())){ //for(int i=0;i<nl.getLength();i++){ Element el=null; NodeList n=null; NodeList nl2=null; Element el2=null; NodeList n2=null; String comodo2=null; if (i>0) { String []b=new String [i+1]; for (int f=0;f<c.length;f++) b[f]=c[f]; b[i]=b[i-1]; c=b; } el=(Element)nl.item(i); n=el.getChildNodes(); comodo=n.item(0).getNodeValue(); nl2=docOw[s].getElementsByTagName("description"); el2=(Element)nl2.item(i); n2=el2.getChildNodes(); if(n2.item(0)==null){ i++; continue; } comodo2=n2.item(0).getNodeValue(); Pattern p = null; Matcher m = null; Pattern p2 = null; Matcher m2 = null; if(par!=null && par2!=null) { p = Pattern.compile("(?ui)"+par); m = p.matcher(comodo); match=m.find(); p2=Pattern.compile("(?ui)"+par2); m2=p2.matcher(comodo2); match=match && m2.find(); } else if (par!=null && par.equals(csq.getSearchTitle())){ p = Pattern.compile("(?ui)"+par); m = p.matcher(comodo); match=m.find(); } else if (par!=null && par.equals(csq.getSearchDescription())){ p = Pattern.compile("(?ui)"+par); m = p.matcher(comodo2); match=m.find(); } if(match) { mw=csq.getMainWindow(); if (par==csq.getSearchTitle()) { if (tOw==null) { tOw=new String [1]; dOw=new String [1]; uOw=new String [1]; tOw[jOw]=comodo; Node root=el.getParentNode(); NodeList nd=root.getChildNodes(); for(int k=0;k<nd.getLength();k++) { if(nd.item(k).getNodeName().equals("description")) { NodeList no=nd.item(k).getChildNodes(); dOw[jOw]=no.item(0).getNodeValue(); } if(nd.item(k).getNodeName().equals("url")) { NodeList no=nd.item(k).getChildNodes(); uOw[jOw]=no.item(0).getNodeValue(); } } } else { String [] t1=new String[jOw+1]; String [] d1=new String[jOw+1]; String [] u1=new String[jOw+1]; for (int k=0;k<tOw.length;k++) { t1[k]=tOw[k]; d1[k]=dOw[k]; u1[k]=uOw[k]; } t1[jOw]=comodo; Node root=el.getParentNode(); NodeList nd=root.getChildNodes(); for(int k=0;k<nd.getLength();k++) { if(nd.item(k).getNodeName().equals("description")) { NodeList no=nd.item(k).getChildNodes(); d1[jOw]=no.item(0).getNodeValue(); } if(nd.item(k).getNodeName().equals("url")) { NodeList no=nd.item(k).getChildNodes(); u1[jOw]=no.item(0).getNodeValue(); } } tOw=t1; dOw=d1; uOw=u1; } jOw++; } else { if (tOw==null) { tOw=new String [1]; dOw=new String [1]; uOw=new String [1]; dOw[jOw]=comodo2; Node root=el.getParentNode(); NodeList nd=root.getChildNodes(); for(int k=0;k<nd.getLength();k++) { if(nd.item(k).getNodeName().equals("title")) { NodeList no=nd.item(k).getChildNodes(); tOw[jOw]=no.item(0).getNodeValue(); } if(nd.item(k).getNodeName().equals("url")) { NodeList no=nd.item(k).getChildNodes(); uOw[jOw]=no.item(0).getNodeValue(); } } } else { String [] t1=new String[jOw+1]; String [] d1=new String[jOw+1]; String [] u1=new String[jOw+1]; for (int k=0;k<tOw.length;k++) { t1[k]=tOw[k]; d1[k]=dOw[k]; u1[k]=uOw[k]; } d1[jOw]=comodo2; Node root=el.getParentNode(); NodeList nd=root.getChildNodes(); for(int k=0;k<nd.getLength();k++) { if(nd.item(k).getNodeName().equals("title")) { NodeList no=nd.item(k).getChildNodes(); t1[jOw]=no.item(0).getNodeValue(); } if(nd.item(k).getNodeName().equals("url")) { NodeList no=nd.item(k).getChildNodes(); u1[jOw]=no.item(0).getNodeValue(); } } tOw=t1; dOw=d1; uOw=u1; } } jOw++; } i++; }} if(tOw!=null){ CatalogSearchResponse csr=new CatalogSearchResponse(tOw,dOw,uOw,c); ResolverResponse resp=new ResolverResponse(handlerName,null,rqm.getQueryId(),csr.toString()); resSvc.sendResponse(rqm.getSrc(),resp); return ResolverService.OK; } } } return ResolverService.OK; } public synchronized void processResponse(ResolverResponseMsg rrm) { System.out.println("CatalogSearchResponse received"); CatalogSearchResponse csr= new CatalogSearchResponse(new ByteArrayInputStream(rrm.getResponse().getBytes())); String []cname=csr.getSearchCName(); for(int i=0;i<cname.length;i++) if(cname[i].equals("Other Peer Local Catalog")) { String []curl=csr.getSearchUrls(); String [] title =csr.getSearchTitles(); String [] description=csr.getSearchDescriptions(); URL u=null; try{u=new URL(curl[i]);} catch(MalformedURLException mue){} lcm.insert(title[i], description[i], u, false); } mw.printResults(csr); } public void setMainWindow(MainWindow m) { this.mw=m; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -