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

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

?? bloglinesclient.groovy

?? Groovy動態語言 運行在JVM中的動態語言 可以方便的處理業務邏輯變化大的業務
?? GROOVY
字號:
/*
 * BloglinesClient.groovy - an example of the Bloglines Web Services
 *
 * Written by Marc Hedlund <marc@precipice.org>, September 2004.
 * 
 * Mangled by John Wilson September 2004
 *
 * Small adaptions to JSR Version by Dierk Koenig, June 2005
 *
 * Used in Marc's article at:
 *    http://www.oreillynet.com/pub/a/network/2004/09/28/bloglines.html
 *
 * Requirements:
 *   - install Groovy as detailed at <http://groovy.codehaus.org/>.
 *   - put commons-httpclient-3.0-rc3.jar into GROOVY_HOME/lib
 *       see <http://jakarta.apache.org/commons/httpclient/>.
 *       note: this is currently designed for HttpClient2.x and not HttpClient3.x
 *
 * To Launch:
 *   groovy BloglinesClient.groovy
 *
 * This work is licensed under the Creative Commons Attribution
 * License. To view a copy of this license, visit
 * <http://creativecommons.org/licenses/by/2.0/> or send a letter to
 * Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
 */

import groovy.swing.SwingBuilder
import java.awt.BorderLayout
import java.net.URL
import javax.swing.BorderFactory
import javax.swing.JOptionPane
import javax.swing.JSplitPane
import javax.swing.JTree
import javax.swing.ListSelectionModel
import javax.swing.SwingUtilities
import javax.swing.WindowConstants
import javax.swing.tree.DefaultMutableTreeNode
import javax.swing.tree.TreeSelectionModel
import org.apache.commons.httpclient.HttpClient
import org.apache.commons.httpclient.UsernamePasswordCredentials
import org.apache.commons.httpclient.methods.GetMethod

//Set up global variables and data types
server = 'rpc.bloglines.com'

class Feed { def name; def id; def unread; String toString() { (unread == "0" ? name : "${name} (${unread})") } }

class Item { def title; def description; String toString() { title } }

//Ask the user for account information (using simple dialogs)
email = 
JOptionPane.showInputDialog(null, "Email address:", "Log in to Bloglines", 
			      JOptionPane.QUESTION_MESSAGE)
password = 
JOptionPane.showInputDialog(null, "Password:", "Log in to Bloglines", 
			      JOptionPane.QUESTION_MESSAGE)

//Use HTTPClient for web requests since the server requires authentication
client = new HttpClient()
credentials = new UsernamePasswordCredentials(email, password)
client.state.setCredentials("Bloglines RPC", server, credentials)

abstractCallBloglines = { method, parameters ->
  url = "http://${server}/${method}${parameters}"
  try {
    get = new GetMethod(url)
    get.doAuthentication = true
    client.executeMethod(get)
    return get.responseBodyAsStream
  } catch (Exception e) {
    println "Error retrieving <${url}>: ${e}"
  }
}

callBloglinesListsub = abstractCallBloglines.curry('listsubs', '')
callBloglinesGetItems = abstractCallBloglines.curry('getitems')

//Get the list of subscriptions and parse it into a GPath structure
opml = new XmlSlurper().parse(callBloglinesListsub())

//Descend into the subscription outline, adding to the feed tree as we go
treeTop = new DefaultMutableTreeNode("My Feeds")
parseOutline(opml.body.outline.outline, treeTop)

def parseOutline(parsedXml, treeLevel) {
  parsedXml.each{ outline ->
    if (outline['@xmlUrl'] != null) {  // this is an individual feed
      feed = new Feed(name:outline['@title'], id:outline['@BloglinesSubId'], 
                      unread:outline['@BloglinesUnread'])
      treeLevel.add(new DefaultMutableTreeNode(feed))
    } else {  // this is a folder of feeds
      folder = new DefaultMutableTreeNode(outline['@title'])
      parseOutline(outline.outline, folder)
      treeLevel.add(folder)
    }
  }
}

//Build the base user interface objects and configure them
swing = new SwingBuilder()
feedTree = new JTree(treeTop)
itemList = swing.list()
itemText = swing.textPane(contentType:'text/html', editable:false)
model = feedTree.selectionModel
model.selectionMode = TreeSelectionModel.SINGLE_TREE_SELECTION
itemList.selectionMode = ListSelectionModel.SINGLE_SELECTION

//Set up the action closures that will react to user selections
listItems = { feed ->
  rssStream = callBloglinesGetItems("?s=${feed.id}&n=0")  
  if (rssStream != null) {
    try {
      rss = new XmlSlurper().parse(rssStream)
      itemList.listData =  rss.channel.item.collect(new Vector()) {
		new Item(title:it.title, description:it.description)
       }
       feed.unread = "0"  // update the unread item count in the feed list
     } catch (Exception e) {
       println "Error during <${feed.name}> RSS parse: ${e}"
    }
  }
}

feedTree.valueChanged = { event ->
  itemText.text = ""  // clear any old item text
  node = (DefaultMutableTreeNode) feedTree.getLastSelectedPathComponent()
  if (node != null) {
    feed = node.userObject
     if (feed instanceof Feed && feed.unread != "0") {
       listItems(feed)
     }
  }
}

itemList.valueChanged = { event ->
  item = event.source.selectedValue
  if (item instanceof Item && item?.description != null) {
    itemText.text = "<html><body>${item.description}</body></html>"
  }
}

//Put the user interface together and display it
gui = 
swing.frame(title:'Bloglines Client', location:[100,100], size:[800,600], 
	      defaultCloseOperation:WindowConstants.EXIT_ON_CLOSE) {

 panel(layout:new BorderLayout()) {
   splitPane(orientation:JSplitPane.HORIZONTAL_SPLIT, dividerLocation:200) {
     scrollPane {
		  widget(feedTree)
	 }

      splitPane(orientation:JSplitPane.VERTICAL_SPLIT, dividerLocation:150) {
        scrollPane(constraints:BorderLayout.CENTER) {
	        widget(itemList)
	    }

	    scrollPane(constraints:BorderLayout.CENTER) {
	      widget(itemText)
	    }
      }
    }
  }
}

gui.show()

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级理论片| 婷婷一区二区三区| 日本成人在线看| 粉嫩av一区二区三区| 欧美一级欧美三级在线观看| 专区另类欧美日韩| 国产91色综合久久免费分享| 7777女厕盗摄久久久| 亚洲乱码国产乱码精品精小说 | 国产一区三区三区| 欧美日本视频在线| 亚洲精品成人a在线观看| 国产成人精品免费在线| 欧美一卡二卡三卡四卡| 亚洲午夜一区二区三区| 91小视频免费观看| 中文乱码免费一区二区 | 亚洲影院在线观看| 成人激情图片网| 国产肉丝袜一区二区| 91丨九色丨国产丨porny| 欧美电视剧免费观看| 首页国产欧美久久| 欧美性videosxxxxx| 一区二区三区中文字幕精品精品| 成人久久视频在线观看| 国产片一区二区三区| 国产永久精品大片wwwapp| 日韩免费在线观看| 精品写真视频在线观看| 日韩美女一区二区三区| 蜜桃一区二区三区在线观看| 欧美一区二区啪啪| 麻豆精品在线观看| 久久网站最新地址| 高清成人免费视频| 亚洲欧洲国产日韩| eeuss鲁片一区二区三区| 成人欧美一区二区三区视频网页| 成人爽a毛片一区二区免费| 国产精品久久久久久福利一牛影视 | 一区二区三区国产豹纹内裤在线 | 欧美大度的电影原声| 久久国产精品无码网站| 久久婷婷色综合| 成人黄色777网| 亚洲一区二区黄色| 91精品欧美久久久久久动漫| 久久成人免费日本黄色| 中文字幕成人av| 色伊人久久综合中文字幕| 亚洲成人午夜电影| 精品久久久久久久久久久久久久久| 久久97超碰色| 国产精品乱码人人做人人爱 | 精品国产不卡一区二区三区| 国产麻豆视频精品| 亚洲欧洲日韩av| 在线91免费看| 成人综合在线视频| 亚洲国产另类精品专区| 欧美成人a∨高清免费观看| www.爱久久.com| 日韩精品成人一区二区在线| 欧美成人官网二区| 96av麻豆蜜桃一区二区| 日本特黄久久久高潮| 国产视频一区二区三区在线观看| 91在线看国产| 精品一区二区三区久久| 亚洲尤物视频在线| 久久久久久久久久久久久久久99| 色伊人久久综合中文字幕| 卡一卡二国产精品 | 美女视频一区二区三区| 亚洲欧洲美洲综合色网| 日韩丝袜美女视频| 色女孩综合影院| 国产精品小仙女| 午夜久久福利影院| 日韩一区欧美小说| 久久午夜老司机| 在线电影院国产精品| www.久久精品| 国产精品资源网站| 免费成人在线观看| 亚洲国产成人高清精品| 国产精品对白交换视频| 亚洲精品一区二区三区影院| 日本精品裸体写真集在线观看| 国产精品香蕉一区二区三区| 日韩国产欧美一区二区三区| 亚洲精品久久久蜜桃| 国产精品伦理在线| 欧美国产精品劲爆| 久久久久久久久久久久久久久99| 欧美一区二区三区思思人| 欧美影院午夜播放| 一本色道久久综合亚洲精品按摩 | 国产乱国产乱300精品| 三级亚洲高清视频| 亚洲成av人在线观看| 亚洲人成在线播放网站岛国| 国产免费久久精品| 国产夜色精品一区二区av| 日韩久久久精品| 欧美大片一区二区| 欧美一级国产精品| 欧美日韩情趣电影| 欧美日韩在线观看一区二区| 欧美亚洲综合久久| 欧美午夜精品久久久久久超碰| 91尤物视频在线观看| 99久久精品免费看| 91亚洲男人天堂| 91国偷自产一区二区三区观看| 91丨porny丨国产入口| 99vv1com这只有精品| 99re热视频精品| 在线观看欧美精品| 欧美日韩国产三级| 日韩午夜在线影院| 久久亚洲精精品中文字幕早川悠里 | 日韩一区二区三区四区五区六区| 欧美日韩高清不卡| 日韩一级视频免费观看在线| 精品国产髙清在线看国产毛片| 久久久噜噜噜久噜久久综合| 欧美经典一区二区三区| 国产精品传媒入口麻豆| 亚洲精品视频免费观看| 亚洲第一福利视频在线| 麻豆freexxxx性91精品| 国产精品香蕉一区二区三区| 91亚洲精品乱码久久久久久蜜桃 | 久久久影视传媒| 国产精品美女久久久久久久网站| 亚洲欧美日韩中文字幕一区二区三区| 亚洲欧美日韩国产综合| 日韩影院精彩在线| 国产一区二区三区免费| 91色视频在线| 欧美一区二区三区视频免费播放| 久久一区二区视频| 亚洲欧美区自拍先锋| 视频在线观看国产精品| 国产美女精品一区二区三区| 色综合久久久久综合99| 欧美一区二区三区四区视频| 国产精品色在线观看| 午夜不卡av在线| 国产精品亚洲第一区在线暖暖韩国| 色女孩综合影院| 久久天堂av综合合色蜜桃网| 日韩理论片一区二区| 日韩av电影免费观看高清完整版在线观看| 国产一区美女在线| 欧美日韩国产综合草草| 欧美激情一区二区三区全黄 | 日韩精品一区二区三区swag| 国产精品国产精品国产专区不片| 午夜私人影院久久久久| 国产麻豆精品在线观看| 欧美久久婷婷综合色| 国产精品麻豆视频| 久久爱另类一区二区小说| 在线国产电影不卡| 国产视频一区不卡| 久久99国产精品免费网站| 欧美日韩一区二区在线观看| 中文字幕精品一区| 久久99国产精品久久| 欧美日韩久久久久久| ...中文天堂在线一区| 久久99精品久久久久久久久久久久| 欧美午夜电影网| 自拍偷自拍亚洲精品播放| 国产成人8x视频一区二区| 欧美tk丨vk视频| 日本女人一区二区三区| 欧美亚州韩日在线看免费版国语版| 中文字幕乱码一区二区免费| 久久精品二区亚洲w码| 在线观看91精品国产麻豆| 亚洲综合色丁香婷婷六月图片| 99国产一区二区三精品乱码| 中文字幕不卡三区| 成人小视频免费在线观看| 久久久影视传媒| 国产高清视频一区| 久久免费的精品国产v∧| 麻豆国产欧美日韩综合精品二区| 欧美肥大bbwbbw高潮| 日韩综合在线视频| 欧美一区午夜视频在线观看| 日韩中文字幕亚洲一区二区va在线 | 国产精品亚洲视频| 国产欧美va欧美不卡在线| 国产suv精品一区二区6| 中文字幕久久午夜不卡|