亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? photolsp.java

?? 數字圖書館的互操作接口
?? JAVA
字號:
package dli2fe.sample;/** * Title:        Digial Library Interoperable Interface Fudan Edition * Description:  This project contains all the classes required for DLI2FE interface. Developers use these classes to implement the wrapper and client side codes. The basic functions of DLI2FE is as follows: * Search: Search a digital library source site. * Metadata: Fetch metadata for a site. * ResultAccess: Get results for a given query. * DLI2FE uses Dublin Core as the basic attribute model, DAV/DASL as the general XML-based query language and CORBA as distributed object transportation mechanism. * Copyright:    Copyright (c) 2001 * Company:      Fudan University * @author Carl Tao * @version 1.0 */import dli2fe.*;import javax.swing.Timer;import java.util.*;import java.awt.event.*;import dli2fe.helpers.*;public class PhotoLSP implements Metadata, Searcher, ResultAccess {  public static final String SHORT_NAME = "Photo";  static final String COLL_NAME = "圖片收藏";  static final String FROM_CLAUSE = "Photo";  static final String Namespace = "http://cs.fudan.edu.cn/photo/#";  static final String shortNamespace = "photo";  static final String mmQueryURL = "http://localhost:8080/multimediasearch/MultimediaSearch?";  static final String metaQueryURL = "http://localhost:8080/SqlSocket/SqlSocket";  static int SIDGenerator = 0;  Hashtable sessions = new Hashtable();  public PhotoLSP() {  }  class Session implements ActionListener {    int SID;    MultimediaMeta mmphoto;    Timer timer;    PhotoLSP container;    boolean done;    long endTime;    Session(PhotoLSP plsp, XMLObject xmlQuery, XMLObject xmlPropList) throws DLI2FEException {      container = plsp;      SID = container.getNextSID();      mmphoto = new MultimediaMeta(container.shortNamespace, container.Namespace, container.mmQueryURL, container.metaQueryURL,        xmlQuery.getString(), xmlPropList.getString(), container.FROM_CLAUSE, "PhotoGroup.SightZone");      // No attribute translation needed for this LSP      endTime = System.currentTimeMillis() + DLI2FE.DEFAULT_TIMEOUT*1000;      timer = new Timer(DLI2FE.DEFAULT_TIMEOUT*1000, this);      timer.setRepeats(false);      timer.start();      done = false;      mmphoto.searchMultimediaMeta();      done = true;    }    public void extendTimeout(int seconds) {      endTime = System.currentTimeMillis() + seconds * 1000;      timer.stop();      timer.setDelay(seconds*1000);      timer.setRepeats(false);      timer.start();    }    public int getTimeout() {      return (int)((endTime - System.currentTimeMillis())/1000);    }    // for interface ActionListener to receive timer's message    public void actionPerformed(ActionEvent e) {      if (!done) {        timer.stop();        timer.setDelay(10000);        timer.setRepeats(false);        timer.start();      } else        container.removeSession(this);    }    public String createResult(String selection) throws DLI2FEException {      RangeEnumerator re = new RangeEnumerator(selection);      String result = "<SearchResult xmlns='" + DLI2FE.Namespace +"' xmlns:" + container.shortNamespace + "='" +        container.Namespace + "' xmlns:"+ MultimediaMeta.shortNamespace + "='" + MultimediaMeta.Namespace + "'>\n";      while (re.next()) {        result += mmphoto.getDoc(re.get() - 1) + "\n";      }      result += "</SearchResult>";      return result;    }    public MultimediaMeta getMultimediaMeta() {      return mmphoto;    }    public int getSessionID() {      return SID;    }    public String toString() {      return "[ SID : " + SID + "]";    }  }  public int getNextSID() {    return ++SIDGenerator;  }  public String toString() {    return "PhotoLSP";  }  public void addSession(Session session) {    sessions.put(new Integer(session.getSessionID()), session);  }  public void removeSession(Object handle) {    Session session = (Session)handle;    System.out.println("Session " + session + " timed out!");    sessions.remove(new Integer(session.getSessionID()));  }  String notNull(String str) {    return str == null ? "" : str;  }  // parse query XML String and stores arguments to temporary storage.  // XML query String example:  /*  */  public void getSiteMetadata (XMLObject theSiteMetadata) throws DLI2FEException{    theSiteMetadata.setString("<SiteMetadata xmlns='" + DLI2FE.Namespace +"'>\n<version>1.0</version> " +      "<collectionName>" + COLL_NAME + "</collectionName> <baseURI>dli2fens:http://localhost:9524/photo</baseURI> <ctgrName>Photo</ctgrName>\n" +      "<contentConstraint/> <boolOp>and</boolOp> <boolOp>or</boolOp> <language>zh_CN</language>\n</SiteMetadata>");  }  public void getAttributeInfo (String ctgrName,                                XMLObject attributeInfo) throws DLI2FEException {    if ("Photo".equals(ctgrName)) {      attributeInfo.setString("<AttributeInfo collectionName='" + COLL_NAME + "' xmlns='" + DLI2FE.Namespace + "' xmlns:" +        shortNamespace + "='" + Namespace + "' xmlns:mm='" + MultimediaMeta.Namespace + "'> \n" +        "<attr attrName='mm:image'><searchable/><operator>like</operator></attr>\n" +        "<attr attrName='mm:pfeedback'><searchable/><operator>eq</operator></attr>\n" +        "<attr attrName='mm:nfeedback'><searchable/><operator>eq</operator></attr>\n" +        "<attr attrName='mm:idmm'><retrievable/></attr>\n" +        "<attr attrName='" + shortNamespace + ":PhotoGroup.SightZone'><searchable/><retrievable/><operator>eq</operator></attr>" +        "<attr attrName='" + shortNamespace + ":PhotoGroup.SightLoc'><searchable/><retrievable/><operator>eq</operator></attr>" +        "<attr attrName='" + shortNamespace + ":PhotoGroup.Photographer.FirstName'><searchable/><retrievable/><operator>eq</operator></attr>" +        "<attr attrName='" + shortNamespace + ":PhotoGroup.Photographer.LastName'><searchable/><retrievable/><operator>eq</operator></attr>" +        "<attr attrName='" + shortNamespace + ":PhotoGroup.Description'><searchable/><retrievable/><operator>eq</operator></attr>" +        "<attr attrName='" + shortNamespace + ":PhotoGroup.Context'><searchable/><retrievable/><operator>eq</operator></attr>" +        "<attr attrName='" + shortNamespace + ":PhotoGroup.Photos.Photo'><searchable/><retrievable/><operator>eq</operator></attr>" +      "</AttributeInfo>");    }    else      throw new DLI2FEException(DLI2FEException.INVALID_REQUEST_EXC, "Category " + notNull(ctgrName) + " not supported.");  }  public void search (int clientSID,                      XMLObject subcols,                      XMLObject query,                      int numDocs,                      XMLObject docPropList,                      XMLObject queryOptions,                      org.omg.CORBA.IntHolder expectedTotal,                      org.omg.CORBA.IntHolder serverSID,                      XMLObject result) throws DLI2FEException {    //System.out.println("PhotoLSP:" + query.getString());    expectedTotal.value = Searcher.UNKNOWABLE;    // ignores clientSID, subcols, docPropList and queryOptions arguments    Session session = new Session(this, query, docPropList);    sessions.put(new Integer(session.getSessionID()), session);    serverSID.value = session.getSessionID();    if ((expectedTotal.value = session.getMultimediaMeta().getNumDocs()) == 0) {      return;    }    String selection = "1-";    if ( numDocs == Searcher.RETURN_ALL_DOCS || numDocs > expectedTotal.value)      selection += String.valueOf(expectedTotal.value);    else      selection += String.valueOf(numDocs);    String dbg = session.createResult(selection);    System.out.println(dbg);    result.setString(dbg);  }  public void getSessionInfo (int serverSID,                              org.omg.CORBA.IntHolder expectedTotal,                              org.omg.CORBA.IntHolder stateTimeout) throws DLI2FEException {    Session session = (Session)sessions.get(new Integer(serverSID));    if (session == null)      throw new DLI2FEException(DLI2FEException.INVALID_SESSIONID_EXC, "Invalid session ID.");    expectedTotal.value = session.getMultimediaMeta().getNumDocs();    stateTimeout.value = session.getTimeout();  }  public void getDocs (int serverSID,                       int reqID,                       XMLObject docPropList,                       String docsToGet,                       XMLObject res) throws DLI2FEException {    // ignores reqID, docPropList    Session session = (Session)sessions.get(new Integer(serverSID));    if (session == null)      throw new DLI2FEException(DLI2FEException.INVALID_SESSIONID_EXC, "Invalid session ID.");    res.setString(session.createResult(docsToGet));    //System.out.println("Carl wrote: " + docsToGet + "\n" + res.getString());  }  public void extendStateTimeout (int serverSID,                                  int secondsToExtend) throws DLI2FEException {    Session session = (Session)sessions.get(new Integer(serverSID));    if (session == null)      throw new DLI2FEException(DLI2FEException.INVALID_SESSIONID_EXC, "Invalid session ID.");    session.extendTimeout(secondsToExtend);  }  // Do nothing  public void cancelRequest (int serverSID,                             int reqID) throws DLI2FEException {    return;  }  public static void main(String[] args) throws Exception {  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品视频线看| 精品国产一区二区三区不卡 | 国产不卡视频在线播放| 亚洲成人在线网站| 午夜不卡av在线| 亚洲高清视频的网址| 日韩在线一二三区| 九九九精品视频| 韩国毛片一区二区三区| 国产精品一区二区无线| 成人免费视频网站在线观看| 成人一区二区三区在线观看| 97久久超碰精品国产| 色偷偷一区二区三区| 欧美三级一区二区| 日韩欧美一二三| 久久免费看少妇高潮| 亚洲欧洲性图库| 香港成人在线视频| 国产精品一区一区三区| 成人免费视频免费观看| 色av一区二区| 精品久久久久久无| 中文字幕一区二区三区乱码在线| 一区二区三区四区在线播放| 午夜精品久久久久久不卡8050| 久久精品国产一区二区| 成年人网站91| 555www色欧美视频| 国产精品污污网站在线观看| 亚洲一区在线观看网站| 麻豆成人久久精品二区三区小说| 成人网在线免费视频| 欧美亚洲综合久久| 亚洲国产精品成人综合色在线婷婷| 亚洲精选视频免费看| 麻豆久久一区二区| 91丝袜美腿高跟国产极品老师 | 国内精品视频666| 91女人视频在线观看| 欧美一区日韩一区| 日本一区二区免费在线观看视频| 亚洲精品第一国产综合野| 精品一区二区三区在线观看| 一本色道久久综合狠狠躁的推荐| 日韩欧美国产综合一区 | 久久久久久久久久看片| 亚洲另类中文字| 国产乱码字幕精品高清av| 欧美日韩一区小说| 中文字幕五月欧美| 国产盗摄视频一区二区三区| 欧美精品一卡二卡| 亚洲欧美日韩人成在线播放| 国产91露脸合集magnet | 国产成人av电影在线观看| 欧美性xxxxxxxx| 亚洲视频在线观看三级| 懂色av一区二区三区免费看| 日韩女优电影在线观看| 日产欧产美韩系列久久99| 色婷婷国产精品综合在线观看| 国产欧美日韩在线看| 国产精品影视天天线| 精品91自产拍在线观看一区| 日本vs亚洲vs韩国一区三区| 欧美日韩一区二区在线观看视频 | 视频一区国产视频| 日本韩国一区二区| 亚洲乱码国产乱码精品精小说| 高清shemale亚洲人妖| 久久亚洲影视婷婷| 国产一区二区三区精品欧美日韩一区二区三区 | 在线看一区二区| 亚洲视频在线一区| 色www精品视频在线观看| 亚洲精品高清在线| 欧美最新大片在线看| 亚洲午夜av在线| 欧美色网站导航| 性做久久久久久| 欧美一区二区黄| 久久97超碰国产精品超碰| 精品国产亚洲在线| 国产精品羞羞答答xxdd| 国产日韩欧美亚洲| 不卡电影免费在线播放一区| 亚洲美女免费在线| 欧美日韩国产精品成人| 蜜臀av一区二区在线观看| 精品第一国产综合精品aⅴ| 国内精品自线一区二区三区视频| 欧美经典一区二区| 色哟哟精品一区| 亚洲成人av一区二区| 91精品国产综合久久精品麻豆| 久久精品国产一区二区三区免费看 | 亚洲伊人伊色伊影伊综合网| 欧美精品99久久久**| 精品一区二区日韩| 国产精品国模大尺度视频| 91激情五月电影| 老色鬼精品视频在线观看播放| 国产偷国产偷精品高清尤物| 91福利精品第一导航| 美女在线一区二区| 国产精品国产三级国产有无不卡 | 亚洲激情一二三区| 日韩一级免费一区| 99久久国产综合色|国产精品| 日韩国产欧美三级| 中文字幕成人av| 日韩视频中午一区| 97se亚洲国产综合自在线不卡 | 国产精品久久久一本精品| 欧美三级日韩三级| 成人国产视频在线观看| 热久久久久久久| 一区二区在线看| 国产区在线观看成人精品 | 国产不卡在线播放| 日韩在线卡一卡二| 亚洲精品乱码久久久久久| 久久久久成人黄色影片| 欧美乱妇20p| 97久久精品人人澡人人爽| 精品一区二区三区免费播放| 一区二区三区影院| 中文字幕在线观看不卡| 精品理论电影在线观看| 欧美日韩mp4| 欧美亚洲综合一区| 97久久精品人人做人人爽| 国产福利精品导航| 国产在线精品一区二区不卡了| 亚洲永久精品大片| 亚洲精品国产一区二区三区四区在线| 久久九九全国免费| 欧美精品一区二区三区在线播放 | 国产亚洲欧美在线| 日韩欧美一区二区久久婷婷| 欧美伊人精品成人久久综合97 | 欧美精品xxxxbbbb| 欧美视频第二页| 欧美日韩在线播放三区四区| 在线观看日韩av先锋影音电影院| 国产91精品欧美| 成人精品国产一区二区4080| 国产高清亚洲一区| 国产馆精品极品| av在线这里只有精品| 成人精品高清在线| 成人黄色在线看| 99久久久精品| 欧美在线视频全部完| 欧美网站大全在线观看| 欧美伊人久久久久久久久影院| 色域天天综合网| 欧美日韩电影在线| 91精品蜜臀在线一区尤物| 日韩小视频在线观看专区| 精品国产免费视频| 日本一区二区三区电影| 亚洲丝袜自拍清纯另类| 亚洲国产一区二区三区| 爽好久久久欧美精品| 日韩精品每日更新| 久久精品国产亚洲aⅴ| 国产精品资源在线看| 大胆欧美人体老妇| 日本久久电影网| 7777精品伊人久久久大香线蕉的 | 欧美日韩视频第一区| 日韩一区二区三区视频在线 | 狠狠色综合日日| 99在线精品免费| 欧美日韩国产成人在线91| 91精品国产综合久久久久久| 久久人人97超碰com| 国产精品久久久久7777按摩| 亚洲国产人成综合网站| 久久成人麻豆午夜电影| 成人av资源在线| 欧美一区二区二区| 中文字幕一区在线观看视频| 亚洲线精品一区二区三区八戒| 美女视频一区二区| 色噜噜久久综合| 2020国产精品久久精品美国| 亚洲啪啪综合av一区二区三区| 日韩 欧美一区二区三区| 福利电影一区二区| 欧美伦理影视网| 亚洲天堂久久久久久久| 麻豆成人在线观看| 欧美亚洲日本国产| 国产精品视频观看| 国产一区二区毛片| 9191久久久久久久久久久| 中文字幕av免费专区久久|