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

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

?? multimediameta.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.xml.*;
import dli2fe.DLI2FEException;
import dli2fe.DAV;
import dli2fe.helpers.*;
import java.util.*;
import org.w3c.dom.*;
import java.io.*;
import java.net.*;


/**
 * This is the internal implmentation class of integrated source of Multimedia and
 * metadata.
 * This class will access highway servlet to query the integrated source.
 * The highway servlet application will access MultimediaSearch and
 */
public class MultimediaMeta {
  public static final String shortNamespace = "mm";
  public static final String Namespace = "http://www.cs.fudan.edu.cn/multimedia/#";
  public static final String image = "image";
  public static final String pfeedback = "pfeedback";
  public static final String nfeedback = "nfeedback";
  public static final String idmm = "idmm";

  //public static final String queryURL = "http://localhost:8080/highway/highway?";
  public static final String SELECT = "select";
  public static final String FROM = "from";
  public static final String WHERE = "where";
  public static final String serviceType = "SearchImageBySample";
  public static final String serviceTypeDID = "SearchImageByDocumentID";

  // 輸入參數
  XMLObject xmlQuery;
  XMLObject xmlPropList;
  String sMetaNamespace;
  String metaNamespace;
  String mmQueryURL;
  String metaQueryURL;
  String strFromClause;
  String dummyAttr;       // 用于做空查詢返回文檔標志符的集合

  // parsed query
  XMLObject metaQuery = null;
  String strSampleImage = "";
  String strPFeedback = "";
  String strNFeedback = "";
  String strSelect = "";
  String strWhere = "";
  String strMetaQuery = "";

  String[] propArray;       // this array stores names of all of the properties
  int numProp;              // this is the total number of properties

  XMLObject resultDocs;     // store the whole result set generated from string
  Vector elements;       // store the pointers to each element in the result, the key is DID
  int numDocs = 0;

  Hashtable attrTransTable; // store the translations for attributes
/**
 * Sample XMLQuery

<?xml version="1.0" encoding="GB2312" ?>
<basicsearch xmlns="http://www.cs.fudan.edu.cn/DLI2FE/1.0#"
xmlns:dc="http://purl.org/metadata/dublin_core#"
xmlns:mm="http://www.cs.fudan.edu.cn/multimedia/#">
<where>
    <and>
        <eq>
            <prop><dc:Contributor><dc:Performer/></dc:Contributor></prop>
            <literal>施伯樂</literal>
        </eq>
        <not>
          <like>
            <prop><dc:Publisher/></prop>
            <literal>復旦</literal>
          </like>
        </not>
    </and>
</where>
</basicsearch>

 * Sample xmlPropList
<?xml version="1.0" encoding="GB2312" ?>
<proplist xmlns="http://www.cs.fudan.edu.cn/DLI2FE/1.0#"
xmlns:dc="http://purl.org/metadata/dublin_core#"
xmlns:mm="http://www.cs.fudan.edu.cn/multimedia/#">
    <dc:Contributor>
        <dc:Performer/>
        <dc:Translator/>
    </dc:Contributor>
    <dc:Language/>
    <mm:Image/>
</proplist>
 */

  public MultimediaMeta(String strSNamespace, String strLNamespace, String strMmURL, String strMetaURL, String inXMLQuery, String inXMLPropList, String fromClause, String dummyAttribute ) throws DLI2FEException {
    attrTransTable = new Hashtable();
    sMetaNamespace = strSNamespace;
    metaNamespace = strLNamespace;
    mmQueryURL = strMmURL;
    metaQueryURL = strMetaURL;
    xmlQuery = new XMLObject(inXMLQuery);
    xmlPropList = new XMLObject(inXMLPropList);
    strFromClause = fromClause;
    dummyAttr = dummyAttribute;
  }

  public String getShortMetaNamespace() {
    return sMetaNamespace;
  }

  public String getMetaNamespace() {
    return metaNamespace;
  }

  public String getMMQueryURL() {
    return mmQueryURL;
  }

  public void addAttrTranlation(String attrOrig, String attrTranslated) {
    attrTransTable.put(attrOrig, attrTranslated);
  }

  // Issue the search then buffer the result.
  public void searchMultimediaMeta() throws DLI2FEException {
    //輸入參數有:
    // xmlQuery;
    // xmlPropList;
    // sMetaNamespace;
    // metaNamespace;
    // mmQueryURL;
    // metaQueryURL;
    // strFromClause

    //其中:xmlQuery包含XML查詢語句,xmlPropList包含返回屬性列表,strFromClause指定元數據查詢的庫名
    //第一步先分解XML查詢
    MMQueryDecomposer qd = new MMQueryDecomposer(xmlQuery);
    //并緩存參數
    metaQuery = qd.getMetaQuery();

    MetaQueryTranslator mqtran = new MetaQueryTranslator(metaQuery, attrTransTable, xmlPropList, strFromClause, dummyAttr);

    strSampleImage = qd.getQueryImage();        // 多媒體查詢的SampleImage的URL
    strPFeedback = qd.getQueryPFeedback();      // 多媒體查詢的正反饋參數
    strNFeedback = qd.getQueryNFeedback();      // 多媒體查詢的負反饋參數

    strSelect = mqtran.getSelectClause();       // 元數據查詢的Select子句(用于后續的流程判斷)
    strWhere = mqtran.getWhereClause();         // 元數據查詢的Where子句(用于后續的流程判斷)
    strMetaQuery = mqtran.getMetaQuery();       // 元數據查詢的整個查詢串

    // 先處理極端情況
    // 如果查詢與多媒體庫無關,則直接從元數據庫返回結果
    if (isNull(strSampleImage) && !mqtran.returnImage()) {
      MetaQueryHelper mqh = new MetaQueryHelper(metaQueryURL, strMetaQuery);
      ResultMerger rm = new ResultMerger(this, xmlPropList, null, mqh);
      elements = rm.getElementsTable();
      resultDocs = rm.getXMLResult();
      numDocs = rm.getNumDocs();
      return;
    }

    // 如果查詢與元數據庫無關,則直接從多媒體庫查詢返回結果
    if (isNull(strWhere) && isNull(strSelect)) {
      MMQueryHelper mmqh = new MMQueryHelper(mmQueryURL);
      mmqh.searchMultimedia(strSampleImage, strPFeedback, strNFeedback);
      ResultMerger rm = new ResultMerger(this, xmlPropList, mmqh, null);
      elements = rm.getElementsTable();
      resultDocs = rm.getXMLResult();
      numDocs = rm.getNumDocs();
      return;
    }

    // 如果頂層邏輯是或,并且元數據查詢的條件非空,則強行置為空
    if (!qd.isAnd() && !"".equalsIgnoreCase(strWhere.trim()) && !isNull(strSampleImage)) {
      strMetaQuery = strMetaQuery.substring(0, strMetaQuery.lastIndexOf(" where "));
      strWhere = "";
    }

    MMQueryHelper mmqh = null;
    MetaQueryHelper mqh = null;
    if (!isNull(strSampleImage)) {
      mmqh = new MMQueryHelper(mmQueryURL);
      mmqh.searchMultimedia(strSampleImage, strPFeedback, strNFeedback);
    }
    if (!isNull(strMetaQuery))
      mqh = new MetaQueryHelper(metaQueryURL, strMetaQuery);

    ResultMerger rm = new ResultMerger(this, xmlPropList, mmqh, mqh);
    elements = rm.getElementsTable();
    resultDocs = rm.getXMLResult();
    numDocs = rm.getNumDocs();
  }

  public int getNumDocs() {
    return numDocs;
  }

  public String getDoc(int idx) throws DLI2FEException {
    if (idx < 0 || idx>=elements.size())
      throw new DLI2FEException(DLI2FEException.INVALID_REQUEST_EXC, "Specified document not found: " + idx);
    return ((Element)elements.elementAt(idx)).toString();
  }

  public XMLObject getXMLResult() {
    return resultDocs;
  }

  boolean isNull(String s) {
    if (s == null)
      return true;
    else if ("".equalsIgnoreCase(s.trim()))
      return true;
    else
      return false;
  }

  public static void main(String[] args) {
    try {
      MultimediaMeta mm = new MultimediaMeta("ts", "http://cs.fudan.edu.cn/travel/#", "http://localhost:8080/multimediasearch/MultimediaSearch?", "http://localhost:8080/SqlSocket/SqlSocket",
        //"<basicsearch xmlns='http://www.cs.fudan.edu.cn/DLI2FE/1.0#' xmlns:mm='http://www.cs.fudan.edu.cn/multimedia/#' xmlns:ts='http://cs.fudan.edu.cn/travel/#'><where><and><like><prop><mm:image/></prop><literal>http://localhost:8080/query/upload/q158liyjv2[3].jpg</literal></like><eq><prop><mm:pfeedback/></prop><literal>003_5+003_6+</literal></eq><eq><prop><mm:nfeedback/></prop><literal>004_3+004_2+</literal></eq></and></where></basicsearch>",
        "<basicsearch xmlns='http://www.cs.fudan.edu.cn/DLI2FE/1.0#' xmlns:mm='http://www.cs.fudan.edu.cn/multimedia/#' xmlns:ts='http://cs.fudan.edu.cn/travel/#'><where><and><like><prop><mm:image/></prop><literal>http://localhost:8080/query/upload/q158liyjv2[3].jpg</literal></like></and></where></basicsearch>",
        //"<basicsearch xmlns='http://www.cs.fudan.edu.cn/DLI2FE/1.0#' xmlns:dc='http://purl.org/metadata/dublin_core#' xmlns:mm='http://www.cs.fudan.edu.cn/multimedia/#'><where><and><like><prop><mm:image/></prop><literal>http://localhost:8080/query/upload/158ag7p2b1[3].JPEG</literal></like><eq><prop><mm:pfeedback/></prop><literal></literal></eq><eq><prop><mm:nfeedback/></prop><literal></literal></eq></and></where></basicsearch>",
        //"<?xml version='1.0' encoding='GB2312' ?><basicsearch xmlns='http://www.cs.fudan.edu.cn/DLI2FE/1.0#' xmlns:mm='http://www.cs.fudan.edu.cn/multimedia/#' xmlns:ts='http://cs.fudan.edu.cn/travel/#'><where><like><prop><mm:image/></prop><literal>http://localhost:8080/multimediasearch/tempsample/first.jpg</literal></like></where></basicsearch>",
        //"<?xml version='1.0' encoding='GB2312' ?><basicsearch xmlns='http://www.cs.fudan.edu.cn/DLI2FE/1.0#' xmlns:ts='http://cs.fudan.edu.cn/travel/#' xmlns:mm='http://www.cs.fudan.edu.cn/multimedia/#'><where><and>   <or>    <eq> <prop><ts:Scene.Location.Province/></prop> <literal>河北</literal> </eq>     <eq> <prop><ts:Scene.Location.Province/></prop> <literal>山西</literal> </eq>   </or>   <eq> <prop><Scene.Culture.Figures.Figure/></prop> <literal>廉頗</literal> </eq> </and> </where> </basicsearch>",
        //"<?xml version='1.0' encoding='GB2312' ?><basicsearch xmlns='http://www.cs.fudan.edu.cn/DLI2FE/1.0#' xmlns:ts='http://cs.fudan.edu.cn/travel/#' xmlns:mm='http://www.cs.fudan.edu.cn/multimedia/#'><where><and>   <or>    <eq> <prop><ts:Scene.Location.Province/></prop> <literal>河北</literal> </eq>     <eq> <prop><ts:Scene.Location.Province/></prop> <literal>山西</literal> </eq>   </or>   <eq> <prop><Scene.Culture.Figures.Figure/></prop> <literal>廉頗</literal> </eq>   <like><prop><mm:image/></prop><literal>http://localhost:8080/multimediasearch/tempsample/first.jpg</literal></like></and> </where> </basicsearch>",
        //"<?xml version='1.0' encoding='GB2312' ?><basicsearch xmlns='http://www.cs.fudan.edu.cn/DLI2FE/1.0#' xmlns:ts='http://cs.fudan.edu.cn/travel/#' xmlns:mm='http://www.cs.fudan.edu.cn/multimedia/#'><where><or>   <eq> <prop><Scene.Culture.Figures.Figure/></prop> <literal>廉頗</literal> </eq>   <like><prop><mm:image/></prop><literal>http://localhost:8080/multimediasearch/tempsample/first.jpg</literal></like></or> </where> </basicsearch>",

        "<?xml version='1.0' encoding='GB2312' ?><proplist xmlns='http://www.cs.fudan.edu.cn/DLI2FE/1.0#' xmlns:mm='http://www.cs.fudan.edu.cn/multimedia/#' xmlns:ts='http://cs.fudan.edu.cn/travel/#'>    <mm:idmm/>    <ts:Scene.Name/> <ts:Scene.Alias/> <ts:Scene.Location.Province/>    <ts:Scene.SubSights.SubSight/>    <ts:Scene.Location.DetailLoc/></proplist>",
        //"<?xml version='1.0' encoding='GB2312' ?><proplist xmlns='http://www.cs.fudan.edu.cn/DLI2FE/1.0#' xmlns:mm='http://www.cs.fudan.edu.cn/multimedia/#' xmlns:ts='http://cs.fudan.edu.cn/travel/#'>    <mm:image/></proplist>",
        //"<?xml version='1.0' encoding='GB2312' ?><proplist xmlns='http://www.cs.fudan.edu.cn/DLI2FE/1.0#' xmlns:mm='http://www.cs.fudan.edu.cn/multimedia/#' xmlns:ts='http://cs.fudan.edu.cn/travel/#'>    <ts:Scene.Name/>    <ts:Scene.SubSights.SubSight/>    <ts:Scene.Location.DetailLoc/></proplist>",

        "Sight", "Scene.Name");
      mm.searchMultimediaMeta();
      System.out.println(mm.getXMLResult().getString());
    } catch (DLI2FEException ex) {
      System.out.println(ex.getReason());
      ex.printStackTrace();
    }
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
a亚洲天堂av| 91黄色免费看| 日本一区二区三区久久久久久久久不| 热久久一区二区| 91精品国产91久久综合桃花 | 日韩午夜在线影院| 水野朝阳av一区二区三区| 日韩精品一区二区三区在线| 激情文学综合丁香| 国产精品看片你懂得| 欧美亚洲国产bt| 日本怡春院一区二区| 久久久久久久综合色一本| 99久久99久久免费精品蜜臀| 亚洲韩国精品一区| 欧美不卡在线视频| 成人午夜碰碰视频| 亚洲成人777| 国产亚洲成年网址在线观看| 色呦呦国产精品| 久久国产欧美日韩精品| 欧美国产一区在线| 欧美在线观看你懂的| 久久99国产精品免费网站| 国产精品成人一区二区三区夜夜夜 | 日韩欧美一区电影| 豆国产96在线|亚洲| 亚洲国产成人av网| 久久综合久久99| 色素色在线综合| 久久99九九99精品| 亚洲免费av在线| 精品国产三级电影在线观看| 99精品欧美一区二区三区综合在线| 亚洲成人免费视| 国产欧美日本一区视频| 欧美人狂配大交3d怪物一区| 国产成人综合视频| 亚洲第一激情av| 欧美韩国日本一区| 欧美肥妇bbw| 99视频精品免费视频| 日日夜夜精品视频免费 | 精品国产1区二区| 欧美综合天天夜夜久久| 国产综合久久久久影院| 亚洲一区二区av电影| 国产欧美日韩在线| 51精品久久久久久久蜜臀| 成人av电影在线| 蜜臀精品久久久久久蜜臀| ...av二区三区久久精品| 欧美mv日韩mv国产| 欧美性色黄大片手机版| 成人精品国产福利| 久久99蜜桃精品| 亚洲一区二区三区在线看| 中文一区一区三区高中清不卡| 91精品国产aⅴ一区二区| 91精彩视频在线观看| 国产99精品国产| 奇米亚洲午夜久久精品| 一区二区三区欧美激情| 国产日韩欧美精品综合| 日韩一区二区免费在线电影| 色乱码一区二区三区88| 成人中文字幕合集| 久久97超碰国产精品超碰| 亚洲一区二区在线视频| 亚洲欧洲三级电影| 欧美国产成人精品| 久久综合色婷婷| 欧美一级艳片视频免费观看| 欧美日韩国产首页| 色综合亚洲欧洲| av网站一区二区三区| 国产精品一区二区无线| 理论电影国产精品| 日本成人在线视频网站| 亚洲国产精品欧美一二99| 亚洲欧美一区二区三区国产精品| 国产丝袜欧美中文另类| 欧美一二三区精品| 欧美精三区欧美精三区| 在线免费av一区| 91看片淫黄大片一级| 不卡一区中文字幕| 成人黄色网址在线观看| 高潮精品一区videoshd| 国产成人自拍网| 国产精品伊人色| 极品美女销魂一区二区三区 | 久久一区二区三区国产精品| 日韩一区二区三区视频在线| 欧美久久一区二区| 欧美日韩五月天| 欧美性大战xxxxx久久久| 色婷婷一区二区| 色哟哟在线观看一区二区三区| 99re成人在线| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 99精品在线观看视频| thepron国产精品| 99久久综合色| 91天堂素人约啪| 一本大道av伊人久久综合| 91久久精品一区二区| 欧美性欧美巨大黑白大战| 欧美在线小视频| 欧美三级乱人伦电影| 在线91免费看| 日韩一区国产二区欧美三区| 日韩三级视频在线看| 欧美大度的电影原声| 久久久综合激的五月天| 国产日韩欧美精品电影三级在线 | 亚洲国产视频在线| 午夜免费久久看| 日韩成人一级大片| 激情欧美一区二区三区在线观看| 狠狠色综合播放一区二区| 国产主播一区二区| 成人午夜精品在线| 色综合天天综合网国产成人综合天| 色婷婷亚洲婷婷| 欧美区一区二区三区| 精品少妇一区二区| 国产日产欧美精品一区二区三区| 国产精品久久三| 亚洲国产一区二区三区| 日韩国产一区二| 国产精品自拍网站| 91影院在线免费观看| 欧美日韩一区二区三区在线 | 中文字幕一区视频| 亚洲一区在线观看免费观看电影高清 | 成人av影视在线观看| 色老头久久综合| 欧美一级片免费看| 国产亚洲综合在线| 亚洲欧美日韩人成在线播放| 亚洲一区二区三区免费视频| 日本sm残虐另类| 国产寡妇亲子伦一区二区| 色综合色狠狠综合色| 欧美一二三四区在线| 亚洲国产精品成人综合| 一区二区三区视频在线观看| 青青草一区二区三区| 福利一区福利二区| 欧美日韩一本到| 欧美精品一区二区久久婷婷| **性色生活片久久毛片| 日韩电影免费一区| 不卡在线视频中文字幕| 8v天堂国产在线一区二区| 国产三级欧美三级| 亚洲国产一区视频| 国产经典欧美精品| 欧美系列一区二区| 久久男人中文字幕资源站| 亚洲九九爱视频| 国产综合色视频| 欧美性一级生活| 久久久99精品久久| 亚洲不卡一区二区三区| 国产一区二区三区免费播放| 欧美在线短视频| 久久久噜噜噜久久人人看| 亚洲国产精品久久久男人的天堂 | av午夜一区麻豆| 日韩午夜精品电影| 亚洲免费视频中文字幕| 精品一区二区三区欧美| 色视频成人在线观看免| 久久久高清一区二区三区| 亚洲一区二区三区视频在线| 国产黄色91视频| 日韩一区二区三区免费看| 亚洲欧美另类小说视频| 国产精品66部| 91精品国产一区二区人妖| 中文字幕一区二区三区不卡| 久久se这里有精品| 欧美日韩一区精品| 中文字幕在线不卡一区二区三区| 久久成人免费电影| 欧美日韩一区二区在线观看视频| 国产精品久久久久影院亚瑟 | 久久91精品国产91久久小草| 欧美综合天天夜夜久久| 国产精品网站在线观看| 激情综合色综合久久综合| 欧美三日本三级三级在线播放| 国产欧美日本一区二区三区| 蜜臀av一区二区在线免费观看 | 国产精品久久久久永久免费观看| 久久精品国产亚洲高清剧情介绍| 欧美色涩在线第一页| 亚洲婷婷综合久久一本伊一区|