锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲日韩精品无码专区网站,亚洲人成伊人成综合网久久久,亚洲欧美不卡高清在线http://www.tkk7.com/stingh711/category/329.htmlPretend to be happy when you feel blue, that is not very hard to do.zh-cnThu, 17 Jan 2008 15:54:55 GMTThu, 17 Jan 2008 15:54:55 GMT60鐢╤ibernate mapping collections of component class,閬囧埌涓涓鎬殑闂http://www.tkk7.com/stingh711/archive/2008/01/17/176048.htmldjangodjangoThu, 17 Jan 2008 11:48:00 GMThttp://www.tkk7.com/stingh711/archive/2008/01/17/176048.htmlhttp://www.tkk7.com/stingh711/comments/176048.htmlhttp://www.tkk7.com/stingh711/archive/2008/01/17/176048.html#Feedback0http://www.tkk7.com/stingh711/comments/commentRss/176048.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/176048.htmlpublicclass聽CustomService聽{
聽聽
privatelong聽id;
聽聽
private聽List<WebSite>聽trustedSites;
聽聽
private聽List<WebSite>聽blockedSites;
聽聽
聽聽
public聽CustomService()聽{
聽聽聽聽
this.trustedSites聽=new聽ArrayList<WebSite>();
聽聽聽聽
this.blockedSites聽=new聽ArrayList<WebSite>();
聽聽}

聽聽
public聽List<WebSite>聽getBlockedSites()聽{
聽聽聽聽
return聽blockedSites;
聽聽}

聽聽
publicvoid聽setBlockedSites(List<WebSite>聽blockedSites)聽{
聽聽聽聽
this.blockedSites聽=聽blockedSites;
聽聽}

聽聽
publiclong聽getId()聽{
聽聽聽聽
return聽id;
聽聽}

聽聽
publicvoid聽setId(long聽id)聽{
聽聽聽聽
this.id聽=聽id;
聽聽}

聽聽
public聽List<WebSite>聽getTrustedSites()聽{
聽聽聽聽
return聽trustedSites;
聽聽}

聽聽
publicvoid聽setTrustedSites(List<WebSite>聽trustedSites)聽{
聽聽聽聽
this.trustedSites聽=聽trustedSites;
聽聽}
聽聽
聽聽
publicvoid聽addTrustedSites(String聽site,聽boolean聽isNewData)聽{
聽聽聽聽
this.trustedSites.add(new聽WebSite(site,聽isNewData));
聽聽}
聽聽
聽聽
publicvoid聽addBlockedSites(String聽site,聽boolean聽isNewData)聽{
聽聽聽聽
this.blockedSites.add(new聽WebSite(site,聽isNewData));
聽聽}
}
publicclass聽WebSite聽{
聽聽
private聽String聽website;
聽聽
privateboolean聽isNewData;
聽聽
聽聽
public聽WebSite()聽{
聽聽聽聽
聽聽}

聽聽
public聽WebSite(String聽website)聽{
聽聽聽聽
this.website聽=聽website;
聽聽}

聽聽
public聽WebSite(String聽website,聽boolean聽isNewData)聽{
聽聽聽聽
this.website聽=聽website;
聽聽聽聽
this.isNewData聽=聽isNewData;
聽聽}

聽聽
publicboolean聽isIsNewData()聽{
聽聽聽聽
return聽isNewData;
聽聽}

聽聽
publicvoid聽setIsNewData(boolean聽isNewData)聽{
聽聽聽聽
this.isNewData聽=聽isNewData;
聽聽}

聽聽
public聽String聽getWebsite()聽{
聽聽聽聽
return聽website;
聽聽}

聽聽
publicvoid聽setWebsite(String聽website)聽{
聽聽聽聽
this.website聽=聽website;
聽聽}

聽聽@Override
聽聽
publicboolean聽equals(Object聽obj)聽{
聽聽聽聽
if聽(this==聽obj)聽{
聽聽聽聽聽聽
returntrue;
聽聽聽聽}
聽聽聽聽
if聽(obj聽==null)聽{
聽聽聽聽聽聽
returnfalse;
聽聽聽聽}
聽聽聽聽
if聽(getClass()聽!=聽obj.getClass())聽{
聽聽聽聽聽聽
returnfalse;
聽聽聽聽}
聽聽聽聽
final聽WebSite聽other聽=聽(WebSite)聽obj;
聽聽聽聽
if聽(this.website聽==null||!this.website.equals(other.website))聽{
聽聽聽聽聽聽
returnfalse;
聽聽聽聽}
聽聽聽聽
if聽(this.isNewData聽!=聽other.isNewData)聽{
聽聽聽聽聽聽
returnfalse;
聽聽聽聽}
聽聽聽聽
returntrue;
聽聽}

聽聽@Override
聽聽
publicint聽hashCode()聽{
聽聽聽聽
int聽hash聽=7;
聽聽聽聽hash聽
=13*聽hash聽+聽(this.website聽!=null?this.website.hashCode()聽:聽0);
聽聽聽聽hash聽
=13*聽hash聽+聽(this.isNewData聽?1聽:聽0);
聽聽聽聽
return聽hash;
聽聽}
聽聽
}
<?xml聽version="1.0"?>
<!DOCTYPE聽hibernate-mapping聽PUBLIC
聽聽聽聽"-//Hibernate/Hibernate聽Mapping聽DTD聽3.0//EN"
聽聽聽聽"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
<hibernate-mapping聽package="model.cnm.cf">
聽聽
<class聽name="CustomService"聽table="custom_services">
聽聽聽聽
<id聽name="id"聽column="id"聽type="long">
聽聽聽聽聽聽
<generator聽class="native"/>
聽聽聽聽
</id>
聽聽聽聽
<list聽name="trustedSites"聽table="cf_trusted_sites"聽cascade="all">
聽聽聽聽聽聽
<key聽column="service_id"/>
聽聽聽聽聽聽
<list-index聽column="pos"/>
聽聽聽聽聽聽
<composite-element聽class="WebSite">
聽聽聽聽聽聽聽聽
<property聽name="website"聽column="site"聽type="string"/>
聽聽聽聽聽聽聽聽
<property聽name="isNewData"聽column="isNewData"聽type="boolean"/>
聽聽聽聽聽聽
</composite-element>
聽聽聽聽
</list>
聽聽聽聽
<list聽name="blockedSites"聽table="cf_blocked_sites">
聽聽聽聽聽聽
<key聽column="service_id"/>
聽聽聽聽聽聽
<index聽column="pos"/>
聽聽聽聽聽聽
<composite-element聽class="WebSite">
聽聽聽聽聽聽聽聽
<property聽name="website"聽column="site"聽type="string"/>
聽聽聽聽聽聽聽聽
<property聽name="isNewData"聽column="isNewData"聽type="boolean"/>
聽聽聽聽聽聽
</composite-element>
聽聽聽聽
</list>
聽聽
</class>
</hibernate-mapping>
CustomService鏈変袱涓猈ebSite鐨刲ist,map鍒頒笉鍚岀殑琛?鎺ヤ笅鏉ユ槸嫻嬭瘯浠g爜.
聽1publicclass聽CustomServiceTest聽extends聽BaseDaoTestCase聽{
聽2聽聽private聽CustomService聽service;
聽3聽聽privatelong聽id;
聽4聽聽
聽5聽聽@Test
聽6聽聽publicvoid聽save()聽{
聽7聽聽聽聽session聽=聽HibernateUtil.getSession();
聽8聽聽聽聽service聽=new聽CustomService();
聽9聽聽聽聽service.addBlockedSites("www.whitehouse.com",聽true);
10聽聽聽聽service.addBlockedSites("www.whitehouse.com",聽false);
11聽聽聽聽
12聽聽聽聽service.addTrustedSites("www.google.cn",聽true);
13聽聽聽聽service.addTrustedSites("www.google.cn",聽false);
14聽聽聽聽
15聽聽聽聽
16聽聽聽聽session.save(service);
17聽聽聽聽id聽=聽service.getId();
18聽聽聽聽session.flush();
19聽聽聽聽session.close();
20聽聽聽聽
21聽聽聽聽session聽=聽HibernateUtil.getSession();
22聽聽聽聽Transaction聽tr聽=null;
23聽聽聽聽try聽{
24聽聽聽聽聽聽tr聽=聽session.beginTransaction();
25聽聽聽聽聽聽session.save(service);
26聽聽聽聽}聽catch聽(Exception聽e)聽{
27聽聽聽聽聽聽if聽(tr聽!=null)聽{
28聽聽聽聽聽聽聽聽tr.commit();
29聽聽聽聽聽聽}
30聽聽聽聽}聽finally聽{
31聽聽聽聽聽聽session.close();
32聽聽聽聽}
33聽聽聽聽
34聽聽聽聽session聽=聽HibernateUtil.getSession();
35聽聽聽聽service聽=聽getService();
36聽聽聽聽assertEquals(2,聽service.getBlockedSites().size());
37聽聽聽聽assertEquals(2,聽service.getTrustedSites().size());
38聽聽}
39聽聽
40聽聽private聽CustomService聽getService()聽{
41聽聽聽聽return聽(CustomService)聽session.get(CustomService.class,聽id);
42聽聽}
43聽聽聽聽
44
45}
榪欐牱鍐欐祴璇曟槸鍙互榪囧緱,浣嗗鏋滀粠22琛?32琛屾敼鎴愪笅闈㈢殑鏍峰瓙,service.getBlockedSites().size()鍜?/span>service.getTrustedSites().size()閫氶氶兘鍙樻垚浜?.
1session聽=聽HibernateUtil.getSession();
2session.save(service);
3session.flush();
4session.close();
鐪熺殑鏄緢濂囨?璨屼技鍙湁絎簩嬈ave鐨勬椂鍊欑殑鎻愪氦鏂瑰紡涓嶄竴鏍?
鍙堢粰CustomService鍔犱簡涓涓猲ame瀛楁,緇撴灉琛ㄦ槑,鍦ㄧ洿鎺ョ敤session.flush()鍜宻ession.close()鐨勬椂鍊?鏍規湰灝辨病鏈夋彁浜?涓嶈繃濂囨殑鏄?絎竴嬈¤繖鏍峰仛鎬庝箞浼氭彁浜や簡.


django 2008-01-17 19:48 鍙戣〃璇勮
]]>
netbeans6.0 vs eclipse3.3http://www.tkk7.com/stingh711/archive/2007/12/26/170654.htmldjangodjangoWed, 26 Dec 2007 09:48:00 GMThttp://www.tkk7.com/stingh711/archive/2007/12/26/170654.htmlhttp://www.tkk7.com/stingh711/comments/170654.htmlhttp://www.tkk7.com/stingh711/archive/2007/12/26/170654.html#Feedback2http://www.tkk7.com/stingh711/comments/commentRss/170654.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/170654.html綆鍗曠殑瀵規瘮涓涓嬪惂銆?br />鍏堣緙虹偣鍚э細
  1. 閫熷害鎱€傛湁鏃跺檈ditor鏈澶у寲瑕佺偣濂藉嚑嬈℃墠work銆傚鏋滄墦寮澶х殑project錛宔clipse铏界劧鎱絾榪樺彲浠ork錛宯etbeans鍩烘湰涓婂氨姝誨湪閭e効浜嗐?/li>
  2. 浠婂ぉ鍙戠幇鏈夋椂鍊欓敭鐩樹細澶卞幓鍝嶅簲銆?/li>
  3. Junit test錛屽鏋滄祴璇昮ail鐨勮瘽錛屾瘮濡傝assertNull("xxx should be null", "string")錛宖ail鎺変互鍚庯紝message 鈥渪xx should be null"闇瑕佸埌output鐨勭獥鍙f墠鍙互鐪嬪埌錛宔clipse鏁村悎鍒頒竴涓獥鍙d簡銆?/li>
  4. 鎻掍歡鍋忓皯錛屾瘮濡傝hibernate鐨勬彃浠訛紝groovy鐨勬彃浠躲?/li>
  5. 鍦ㄦ垜鐨刲inux涓嬶紝閿欒鎻愮ず閮芥槸涔辯爜...
浼樼偣錛?br />
  1. For ruby鍜宺ails鐨勭増鏈繕铔ソ鐢ㄧ殑銆?/li>
  2. 瑙夊緱鏈濂界敤鐨勫氨鏄痗ode template錛宔clipse涓婁笉鑳界敤tab閿畉rigger錛岃屼笖eclipse閲岄潰鍏佽閲嶅悕鐨則emplate錛屾墍浠ヨ繕瑕侀夛紝鍝曞彧鏈変竴涓猼emplate銆傝屼笖錛宔clipse閲宼emplate鍙兘鍦ㄧ紪杈慾ava閲屼嬌鐢ㄣ?br />


django 2007-12-26 17:48 鍙戣〃璇勮
]]>
AJAX on java FAQ (zt)http://www.tkk7.com/stingh711/archive/2007/10/16/153247.htmldjangodjangoTue, 16 Oct 2007 05:46:00 GMThttp://www.tkk7.com/stingh711/archive/2007/10/16/153247.htmlhttp://www.tkk7.com/stingh711/comments/153247.htmlhttp://www.tkk7.com/stingh711/archive/2007/10/16/153247.html#Feedback0http://www.tkk7.com/stingh711/comments/commentRss/153247.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/153247.htmlhttps://blueprints.dev.java.net/ajax-faq-zh.html#ajax

Blogged with Flock

Tags: ,



django 2007-10-16 13:46 鍙戣〃璇勮
]]>
綆鍗曠殑嫻忚浜嗕竴涓婱ANIFEST.MF鐨勭敤閫?/title><link>http://www.tkk7.com/stingh711/archive/2007/10/10/151659.html</link><dc:creator>django</dc:creator><author>django</author><pubDate>Wed, 10 Oct 2007 03:10:00 GMT</pubDate><guid>http://www.tkk7.com/stingh711/archive/2007/10/10/151659.html</guid><wfw:comment>http://www.tkk7.com/stingh711/comments/151659.html</wfw:comment><comments>http://www.tkk7.com/stingh711/archive/2007/10/10/151659.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/stingh711/comments/commentRss/151659.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/stingh711/services/trackbacks/151659.html</trackback:ping><description><![CDATA[鍙互鐢ㄧ殑涓婄殑鏈夛細 <ol><li>Main-Class 鎸囧畾紼嬪簭鐨勫叆鍙o紝榪欐牱鍙互鐩存帴鐢╦ava -jar xxx.jar鏉ヨ繍琛岀▼搴忋?/li><li>Class-Path 鎸囧畾jar鍖呯殑渚濊禆鍏崇郴錛宑lass loader浼氫緷鎹繖涓礬寰勬潵鎼滅儲class銆?/li></ol>鍜寁ersioning錛宻eal鏈夊叧鐨勶紝鐪嬪緱鎳備粈涔堟剰鎬濓紝浣嗘槸涓嶇煡閬撲細鎬庢牱琚敤鍒般傛儹鎰?..鏈変漢鐭ラ亾涔堬紵 <p style="text-align: right; font-size: 8px">Blogged with <a title="Flock" target="_new">Flock</a></p><!-- technorati tags begin --><p style="font-size:10px;text-align:right;">Tags: <a rel="tag">java</a></p><!-- technorati tags end --><img src ="http://www.tkk7.com/stingh711/aggbug/151659.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/stingh711/" target="_blank">django</a> 2007-10-10 11:10 <a href="http://www.tkk7.com/stingh711/archive/2007/10/10/151659.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>瑙e喅2000涓嬭緗甤lasspath鏃舵姤the input line is too longhttp://www.tkk7.com/stingh711/archive/2007/10/08/151182.htmldjangodjangoMon, 08 Oct 2007 14:45:00 GMThttp://www.tkk7.com/stingh711/archive/2007/10/08/151182.htmlhttp://www.tkk7.com/stingh711/comments/151182.htmlhttp://www.tkk7.com/stingh711/archive/2007/10/08/151182.html#Feedback3http://www.tkk7.com/stingh711/comments/commentRss/151182.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/151182.html鏈絎ㄧ殑鍔炴硶灝辨槸鎶婄敤鍒扮殑jar鍖呴噸鏂板啀鎵撲竴涓?鎵撴垚涓涓?鍚庢潵鍦ㄧ綉涓婄湅鍒頒竴綃囪manifest.mf鐨勬枃绔?浜嗚В鍒癿anifest.mf閲岄潰鍙互閫氳繃Class-Path鏉ヨ緗甹ar鍖呮墍渚濊禆鐨勫寘.璇曚簡涓涓?榪樼湡鐨刼k.鍙鍦╞uild鑷繁紼嬪簭鐨刯ar鍖呯殑鏃跺?鍦╩anifest.mf閲岄潰鍔犱笂渚濊禆鐨刯ar鍖?榪欐牱鍦ㄧ敤bat璧風▼搴忕殑鏃跺?灝變笉鐢ㄥ啀鍦╟lasspath閲岄潰鍔犺繖浜沯ar鍖呬簡.涓嶈繃build.xml浼氬彉寰楀彉鎬佷竴鐐?姣斾互鍓嶇◢寰毦緇存姢涓鐐?鏈変竴鐐歸渶瑕佹敞鎰忕殑灝辨槸,manifest.mf閲岄潰Class-Path鐨勮礬寰勬槸鐩稿鍏舵墍鍦ㄧ殑jar鍖呯殑.姣斿璇磋繖涓猰anifest.mf鏄寘鍚湪test.jar鐨?閭d箞Class-Path閲屾寚瀹氱殑jar鍖呴兘鏄浉瀵逛簬test.jar鎵鍦ㄧ殑璺緞.
鏈夌┖瀛︿範涓涓媘anifest鐨勫叾浠栫殑鐢ㄩ?

Blogged with Flock

Tags:



django 2007-10-08 22:45 鍙戣〃璇勮
]]>
Jetty, a lightweight java web server?http://www.tkk7.com/stingh711/archive/2007/09/29/149639.htmldjangodjangoSat, 29 Sep 2007 09:34:00 GMThttp://www.tkk7.com/stingh711/archive/2007/09/29/149639.htmlhttp://www.tkk7.com/stingh711/comments/149639.htmlhttp://www.tkk7.com/stingh711/archive/2007/09/29/149639.html#Feedback2http://www.tkk7.com/stingh711/comments/commentRss/149639.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/149639.htmlBlogged with Flock

Tags:



django 2007-09-29 17:34 鍙戣〃璇勮
]]>
A Hibernate util written by groovyhttp://www.tkk7.com/stingh711/archive/2006/12/20/89159.htmldjangodjangoWed, 20 Dec 2006 14:54:00 GMThttp://www.tkk7.com/stingh711/archive/2006/12/20/89159.htmlhttp://www.tkk7.com/stingh711/comments/89159.htmlhttp://www.tkk7.com/stingh711/archive/2006/12/20/89159.html#Feedback0http://www.tkk7.com/stingh711/comments/commentRss/89159.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/89159.html Hibernate.groovy


import 聽org.hibernate.cfg.Configuration
import 聽org.hibernate.Session
import 聽org.hibernate.SessionFactory
import 聽org.hibernate.Transaction
import 聽org.hibernate.tool.hbm2ddl.SchemaUpdate

class 聽Hibernate聽{
聽聽聽聽def聽
static 聽sessionFactory
聽聽聽
static 聽{聽
聽聽聽聽聽聽聽
try 聽{聽
聽聽聽聽聽聽聽聽聽聽聽 Configuration聽cfg聽
= new 聽Configuration()
聽聽聽聽聽聽聽聽聽聽聽 cfg.configure()聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽
new 聽SchemaUpdate(cfg).execute( true ,聽 true )聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽 sessionFactory聽
= 聽cfg.buildSessionFactory()聽聽聽聽
聽聽聽聽聽聽聽 }聽
catch 聽(Exception聽e)聽{聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽 e.printStackTrace()聽聽聽聽聽聽
聽聽聽聽聽聽聽 }聽聽聽聽
聽聽聽 }聽聽聽聽

聽聽聽聽Hibernate()聽{}聽聽聽

聽聽聽聽
private 聽Session聽getSession()聽{聽聽聽聽
聽聽聽聽聽聽聽聽
return 聽sessionFactory.openSession()聽聽聽聽
聽聽聽聽}聽聽聽聽

聽聽聽聽Object聽execute(closure)聽{聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽def聽s聽
= 聽getSession()聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽def聽tr聽
= null 聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽def聽result聽
= null 聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽
try 聽{聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽tr聽
= 聽s.beginTransaction()聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽result聽
= 聽closure.call(s)聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽tr.commit()聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽}聽
catch 聽(Exception聽e)聽{聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽e.printStackTrace()聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if 聽(tr聽 != null )聽{聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽tr.rollback()聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽}聽
finally 聽{聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽s.close()聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽}聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽
return 聽result聽聽聽
聽聽聽聽}聽聽聽聽

聽聽聽聽
void 聽saveOrUpdate(obj)聽{
聽聽聽聽聽聽聽聽def聽saveClosure聽
= 聽{聽s聽 -> 聽s.saveOrUpdate(obj)聽}聽聽聽聽聽聽
聽聽聽聽聽聽聽聽execute(saveClosure)聽聽聽聽
聽聽聽聽}聽聽聽聽

聽聽聽聽List聽executeQuery(hql)聽{聽聽聽聽聽
聽聽聽聽聽聽聽聽execute({聽s聽
-> 聽s.createQuery(hql).list()聽})聽聽聽
聽聽聽聽}聽聽聽聽

聽聽聽聽List聽executeQuery(hql,聽parameters)聽{聽聽聽聽
聽聽聽聽聽聽聽聽def聽query聽
= 聽{聽s聽 -> 聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽def聽q聽
= 聽s.createQuery(hql)聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
if 聽(parameters聽 != null )聽{聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽
for 聽(i聽in聽 0 ..parameters.size() - 1 )聽{聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽q.setParameter(i,聽parameters[i])聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽}聽聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽聽q.list()聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽}聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽execute(query)聽聽聽聽
聽聽聽聽}聽聽聽聽

聽聽聽聽def聽get(clazz,聽id)聽{聽聽聽聽
聽聽聽聽聽聽聽聽
return 聽execute({聽s聽 -> 聽s.get(clazz,聽id)聽})聽聽聽
聽聽聽聽}聽聽聽聽

聽聽聽聽
void 聽delete(obj)聽{聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽execute({聽s聽
-> 聽s.delete(obj)聽})聽聽聽
聽聽聽聽}
}

Instead of interface, I use Closure for callback

Blogged with Flock

Tags:



django 2006-12-20 22:54 鍙戣〃璇勮
]]>
浣跨敤httpclient鍙戦乻oap messagehttp://www.tkk7.com/stingh711/archive/2006/12/18/88657.htmldjangodjangoMon, 18 Dec 2006 15:30:00 GMThttp://www.tkk7.com/stingh711/archive/2006/12/18/88657.htmlhttp://www.tkk7.com/stingh711/comments/88657.htmlhttp://www.tkk7.com/stingh711/archive/2006/12/18/88657.html#Feedback0http://www.tkk7.com/stingh711/comments/commentRss/88657.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/88657.html榪欎袱澶╁湪鍐欎竴涓猼r069鐨剆imulator,鍘熺悊寰堢畝鍗曞暒,鐢╤ttpclient妯℃嫙tr069鐨刢lient绔?鍙戦乻oap message鍒版垜浠殑acs server.

鍙戦乻oap message鐨勪唬鐮佸涓?

public class MessageSender {
/**
* Logger for this class
*/
private static final Log logger = LogFactory.getLog(MessageSender.class);

private HttpClient httpClient;
private PostMethod postMethod;
private MessageFactory messageFactory;
private String url;
private NameValuePair sessionId;

public MessageSender(String ip){
this.httpClient = new HttpClient();

try {
this.messageFactory = MessageFactory.newInstance();
} catch (SOAPException e) {
logger.error(e.getMessage());
}

this.url = generateRequestUrl(ip);
}

private String generateRequestUrl(String ip) {
return "http://" + ip + ":8080/vantage/TR069";
}

public SOAPMessage sendMessage(SOAPMessage input) throws IOException, SOAPException {
this.postMethod = new PostMethod(this.url);
byte[] dataAsBytes = null;

if (input == null) {
logger.debug("Send a empty post");
dataAsBytes = new byte[0];
} else {

ByteArrayOutputStream data = new ByteArrayOutputStream();
input.writeTo(data);
dataAsBytes = data.toByteArray();
}

RequestEntity entity = new ByteArrayRequestEntity(dataAsBytes);
this.postMethod.setRequestEntity(entity);

if (this.sessionId != null) {
this.postMethod.addParameter(this.sessionId);
}

this.httpClient.executeMethod(this.postMethod);

sessionId = this.postMethod.getParameter("SessionID");

InputStream in = this.postMethod.getResponseBodyAsStream();

if (null == in) {
return null;
}

return this.messageFactory.createMessage(null, in);
}
}

鏈鍒濈殑code閲岄潰,鍙湁涓涓狿ostMethod,榪欐牱姣忔浼氫竴鐩磌eep涓涓猦ttp榪炴帴.鍥犱負鍦╯erver绔?鍙洿鎺ョ敤http session鏉ヤ繚瀛榮erver鐨勭姸鎬佺殑,鎵浠ュ繀欏昏鏄繚鎸佹槸涓涓猻ession.鐢ㄤ竴涓狿ostMethod鍙互鍋氬埌榪欑偣.涓嶈繃濂囨殑鏄?鍦ㄥ彂絎簩嬈¤姹傜殑鏃跺?鎬庝箞閮芥嬁涓嶅埌http connection.涔熶笉鐭ラ亾鏄笉鏄痟ttpclient鐨刡ug.鍚庢潵鎵嶆瘡嬈¤皟鐢ㄩ兘閲嶆柊create涓涓狿ostMethod,浣嗘槸鎶婄涓嬈″緱鍒扮殑sessionID add榪涘幓.



django 2006-12-18 23:30 鍙戣〃璇勮
]]>
inverse tip on hibernatehttp://www.tkk7.com/stingh711/archive/2006/12/11/87085.htmldjangodjangoMon, 11 Dec 2006 15:14:00 GMThttp://www.tkk7.com/stingh711/archive/2006/12/11/87085.htmlhttp://www.tkk7.com/stingh711/comments/87085.htmlhttp://www.tkk7.com/stingh711/archive/2006/12/11/87085.html#Feedback0http://www.tkk7.com/stingh711/comments/commentRss/87085.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/87085.html鎵鏈夊弻鍚戠殑鍏寵仈蹇呴』鏈変竴绔璁劇疆涓篿nverse.鍦ㄤ竴瀵瑰鍏寵仈涓?瀹冨繀欏諱唬琛ㄥ鐨勪竴绔?鍦ㄥ瀵瑰涓?鍙互浠繪剰閫夊彇涓绔?

inverse浼氬獎鍝嶅埌save鏃跺欑殑琛屼負銆傚鏋滀竴绔殑inverse璁句負true錛屽垯save搴旇鍦ㄥ彟涓绔繘琛?/p>

django 2006-12-11 23:14 鍙戣〃璇勮
]]>
涓浠界畝鍗曡窡鎴戦鏍兼瘮杈冧竴鑷寸殑coding stylehttp://www.tkk7.com/stingh711/archive/2006/11/27/83819.htmldjangodjangoMon, 27 Nov 2006 08:18:00 GMThttp://www.tkk7.com/stingh711/archive/2006/11/27/83819.htmlhttp://www.tkk7.com/stingh711/comments/83819.htmlhttp://www.tkk7.com/stingh711/archive/2006/11/27/83819.html#Feedback0http://www.tkk7.com/stingh711/comments/commentRss/83819.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/83819.htmlIntroduction

The Java language gives you all the room you need to write code that would be very difficult for others to understand. Java also permits you to write code that is very easy to understand. Most development teams would prefer the latter.

A style guide provides provides a map so that the code generated by a group of programmers will be consistent and, therefore, easier to read and maintain. Many people do not care for the style guide offered by Sun. This document is one alternative.

This document covers most areas where there could be confusion or difference of opinion. Areas that have never been a problem in our experience are undocumented.

1 - Formatting

    1.1 - Indentation

    All indents are four spaces. All indenting is done with spaces, not tabs. (examples and reasoning)
    Matching braces always line up vertically in the same column as their construct. (examples)
    All if, while and for statements must use braces even if they control just one statement. (reasoning and examples)

    1.2 - Spacing

    All method names should be immediately followed by a left parenthesis.
    All array dereferences should be immediately followed by a left square bracket.
    Binary operators should have a space on either side.
    Unary operators should be immediately preceded or followed by their operand.
    Commas and semicolons are always followed by whitespace.
    All casts should be written with no spaces.
    The keywords if, while, for, switch, and catch must be followed by a space.
    (examples)

    1.3 - Class Member Ordering

    class Order
    {
    // fields

    // constructors

    // methods
    }

    1.4 - Maximum Line Length

    Avoid making lines longer than 120 characters. (reasoning)

    1.5 - Parentheses

    Parentheses should be used in expressions not only to specify order of precedence, but also to help simplify the expression. When in doubt, parenthesize.

2 - Identifiers

All identifiers use letters ('A' through 'Z' and 'a' through 'z') and numbers ('0' through '9') only. No underscores, dollar signs or non-ascii characters.

    2.1 - Classes and Interfaces

    All class and interface identifiers will use mixed case. The first letter of each word in the name will be uppercase, including the first letter of the name. All other letters will be in lowercase, except in the case of an acronym, which will be all upper case. (examples)

    2.2 - Packages

    Package names will use lower case characters only. Try to keep the length under eight (8) characters. Multi-word package names should be avoided. (examples)

    2.3 - All Other Identifiers

    All other identifiers, including (but not limited to) fields, local variables, methods and parameters, will use the following naming convention. This includes identifiers for constants.

    The first letter of each word in the name will be uppercase, except for the first letter of the name. All other letters will be in lowercase, except in the case of an embedded acronym, which will be all uppercase. Leading acronyms are all lower case. (examples and reasoning)

    Hungarian notation and scope identification are not allowed. (reasoning and examples)

    Test code is permitted to use underscores in identifiers for methods and fields. (reasoning and examples)

3 - Coding

    3.1 - Constructs to Avoid

    Never use do..while. (examples and reasoning)
    Never use return in the middle of a method. (reasoning)
    Never use continue. (reasoning)
    Never use break other than in a switch statement. (reasoning)

    3.2 - Do Not Compound Increment Or Decrement Operators

    Use a separate line for an increment or decrement. (examples and reasoning)

    Never use pre-increment or pre-decrement (examples and reasoning)

    3.3 - Initialization

    Declare variables as close as possible to where they are used. (examples)

    3.4 - Access

    All fields must be private, except for some constants.

4 - Self-Documenting Code

				"Any fool can write code that a computer can understand.
Good programmers write code that humans can understand."
        --- Martin Fowler, Refactoring: Improving the Design of Existing Code

Rather than trying to document how you perform a complex algorithm, try to make the algorithm easier to read by introducing more identifiers. This helps in the future in case the algorithm changes but someone forgets to change the documentation. (examples and reasoning)


鍘熸枃閾炬帴鍦?http://www.javaranch.com/style.jsp



django 2006-11-27 16:18 鍙戣〃璇勮
]]>
Using PropertyPlaceHolderConfigurer to separate configuration files in springhttp://www.tkk7.com/stingh711/archive/2006/11/23/83145.htmldjangodjangoThu, 23 Nov 2006 15:53:00 GMThttp://www.tkk7.com/stingh711/archive/2006/11/23/83145.htmlhttp://www.tkk7.com/stingh711/comments/83145.htmlhttp://www.tkk7.com/stingh711/archive/2006/11/23/83145.html#Feedback0http://www.tkk7.com/stingh711/comments/commentRss/83145.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/83145.html<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderconfigurer">
聽聽聽 <property name="locations">
聽聽聽聽聽聽聽 <list>
聽聽聽聽聽聽聽聽聽聽聽 <value>...property files</value>
聽聽聽聽聽聽聽 </list>
聽聽聽 </property>
</bean>
Put the property files under classpath, then you can use ${property name} to reference properties in your property files in your spring configuration files.
Also, system properties and properties sent it by -D are also available through ${property name}.

django 2006-11-23 23:53 鍙戣〃璇勮
]]>
浣跨敤Spring涓殑Resource鎺ュ彛闅旂瀵規枃浠剁郴緇熺殑渚濊禆http://www.tkk7.com/stingh711/archive/2006/11/19/82015.htmldjangodjangoSun, 19 Nov 2006 03:54:00 GMThttp://www.tkk7.com/stingh711/archive/2006/11/19/82015.htmlhttp://www.tkk7.com/stingh711/comments/82015.htmlhttp://www.tkk7.com/stingh711/archive/2006/11/19/82015.html#Feedback0http://www.tkk7.com/stingh711/comments/commentRss/82015.htmlhttp://www.tkk7.com/stingh711/services/trackbacks/82015.html鍦ㄩ」鐩腑,緇忓父瑕佺敤鍒拌緋葷粺鏂囦歡.鍦ㄩ」鐩殑閬楃暀浠g爜涓?閮芥槸鍦ㄧ郴緇熷惎鍔ㄦ槸浼犲叆涓涓狝PP_HOME,鐒跺悗鏍規嵁鐩稿璺緞鍘昏鏂囦歡.榪欐牱鍋氱殑緙虹偣鏄瘮杈冮毦嫻嬭瘯,鑰屼笖鑷姩鍖栫殑嫻嬭瘯鏇撮毦.

姣斿璇存湁榪欐牱涓涓被Server,瑕佹牴鎹畇erver.properties鏉ュ垵濮嬪寲,涓寮濮嬬殑浠g爜鏄繖鏍風殑:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

/**
* @author sting
*/
public class Server {
private static final String FILE = "conf" + File.separator + "server.properties";

public void initial() throws IOException {
FileInputStream in = new FileInputStream(System.getProperty("APP_HOME") + File.separator + FILE);
Properties properties = new Properties();
properties.load(in);
// initial
}
}

鏂囦歡璺緞鍜屾枃浠跺悕閮芥槸hard code,寰堥毦嫻嬭瘯. 鎴戜滑棣栧厛鎶奿nitial()閲嶆瀯涓涓?浠g爜濡備笅:


public void initial(InputStream in) throws IOException {
Properties properties = new Properties();
properties.load(in);
// initial
}

鑷沖皯,嫻嬭瘯鏃?鎴戜滑鍙互浼犺繘鏉ヨ嚜宸辯殑InputStream,涔熷彲浠ユ柟渚跨殑鏃跺欐祴璇曠敤鐨剆erver.properties,鎴栬呭共鑴嗕嬌鐢ㄥ唴鑱旂殑鏂囦歡,浠g爜濡備笅:

class ServerTest extends TestCase {
private Server server;

public void setUp() throws Exception {
this.server = new Server();
}

public void testInitial() throws Exception {
String serverProperties = "port=8080\n" +
"run_mode=normal";
InputStream in = new ByteArrayInputStream(serverProperties.getBytes());

this.server.initial(in);
// assert
}
}

浣嗘槸,鍦ㄥ疄闄呭伐浣滅殑浠g爜涓?鏂囦歡鍚嶅拰璺緞渚濈劧瑕乭ard code榪涗唬鐮佷腑.榪欐椂,鎴戜滑鍙互浣跨敤spring涓殑Resource鎺ュ彛鏉ヨ繘涓姝ユ敼榪涙垜浠殑浠g爜.

public class Server {
private Resource resource;

public void setResource(Resource r) {
this.resource = r;
}

public void initial() throws IOException {
Properties properties = new Properties();
properties.load(this.resource.getInputStream());
// initial
}
}

鍐嶅姞涓孌祍pring鐨勯厤緗枃浠?

<beans>
<bean id="server" class="Server">
<property name="resource" value="classpath:server.properties"/>
</bean>
</beans>

榪欐牱,Server鐨勪唬鐮佸畬鍏ㄤ笌鏂囦歡鐨勫叿浣撹礬寰勫拰鏂囦歡鍚嶆棤鍏?浠呬粎鐢ㄩ厤緗枃浠跺氨鍙互鎸囧畾,琛ㄨ揪鏇存竻妤?涔熸洿鏄撲簬嫻嬭瘯.

褰撶劧,浠呴檺浜庡凡緇忎嬌鐢╯pring鐨勯」鐩?



django 2006-11-19 11:54 鍙戣〃璇勮
]]>
浣跨敤GroboUtils榪涜澶氱嚎紼嬫祴璇?/title><link>http://www.tkk7.com/stingh711/archive/2006/06/24/54800.html</link><dc:creator>django</dc:creator><author>django</author><pubDate>Fri, 23 Jun 2006 16:27:00 GMT</pubDate><guid>http://www.tkk7.com/stingh711/archive/2006/06/24/54800.html</guid><wfw:comment>http://www.tkk7.com/stingh711/comments/54800.html</wfw:comment><comments>http://www.tkk7.com/stingh711/archive/2006/06/24/54800.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/stingh711/comments/commentRss/54800.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/stingh711/services/trackbacks/54800.html</trackback:ping><description><![CDATA[琚祴璇曠殑綾? Buffer.java<br /><br /><font face="Courier New">package test;<br /><br />import java.util.HashMap;<br />import java.util.Map;<br /><br /><br />/**<br /> * <br /> * @author sting<br /> */<br />public class Buffer {<br />    private static Buffer me = new Buffer();<br />    <br />    public static Buffer getInstance() {<br />        return me;<br />    }<br />    <br />    private Map<String, Integer> buff;<br />    <br />    private Buffer() {<br />        this.buff = new HashMap<String, Integer>();<br />    }<br />    <br />    public void put(String key, int value) {<br />            if (!(this.buff.containsKey(key))) {<br />                this.buff.put(key, value);<br />        }<br />    }<br />    <br />    public int get(String key) {<br />            if (this.buff.containsKey(key)) {<br />                return this.buff.get(key);<br />            }<br />            return 0;<br />    }<br />}</font><br /><br />TestCase: BufferTest.java<br /><font face="Courier New">package test;<br /><br />import net.sourceforge.groboutils.junit.v1.MultiThreadedTestRunner;<br />import net.sourceforge.groboutils.junit.v1.TestRunnable;<br />import junit.framework.TestCase;<br /><br /><br />/**<br /> * <br /> * @author sting<br /> */<br />public class BufferTest extends TestCase {<br />    private Buffer buff;<br />    <br />    protected void setUp() throws Exception {<br />        super.setUp();<br />        buff = Buffer.getInstance();<br />    }<br /><br />    protected void tearDown() throws Exception {<br />        super.tearDown();<br />    }<br /><br />    public void test() throws Throwable {<br />        TestRunnable[] runnables = new TestRunnable[] {<br />                new WriteToBuffer(buff, 10),<br />                new GetFromBuffer(buff, 10)<br />        };<br />        <br />        MultiThreadedTestRunner testRunner = <br />                new MultiThreadedTestRunner(runnables);<br />        testRunner.runTestRunnables();<br />    }<br />    <br />    private static class WriteToBuffer extends TestRunnable {<br />        private int value;<br />        private Buffer buff;<br />        <br />        public WriteToBuffer(Buffer buff, int value) {<br />            this.buff = buff;<br />            this.value = value;<br />        }<br />        <br />        @Override<br />        public void runTest() throws Throwable {<br />            buff.put("sting", value);<br />        }<br />    }<br />    <br />    private static class GetFromBuffer extends TestRunnable {<br />        private int value;<br />        private Buffer buff;<br />        <br />        public GetFromBuffer(Buffer buff, int value) {<br />            this.buff = buff;<br />            this.value = value;<br />        }<br />        <br />        @Override<br />        public void runTest() throws Throwable {<br />            assertEquals(value, buff.get("sting"));<br />        }<br />    }<br />}</font><br /><br />榪愯璇est case錛岀粨鏋滃涓嬶細<br />WARN [Thread-1] (MultiThreadedTestRunner.java:276) - A test thread caused an exception.<br />junit.framework.AssertionFailedError: expected:<10> but was:<0><br />    at junit.framework.Assert.fail(Assert.java:47)<br />    at junit.framework.Assert.failNotEquals(Assert.java:282)<br />    at junit.framework.Assert.assertEquals(Assert.java:64)<br />    at junit.framework.Assert.assertEquals(Assert.java:201)<br />    at junit.framework.Assert.assertEquals(Assert.java:207)<br />    at test.BufferTest$GetFromBuffer.runTest(BufferTest.java:75)<br />    at net.sourceforge.groboutils.junit.v1.TestRunnable.run(TestRunnable.java:154)<br />    at java.lang.Thread.run(Unknown Source)<br /><br />鎶夿uffer.java鍔犱笂鍚屾澶勭悊錛?br /><font face="Courier New">public class Buffer {<br />    private static Buffer me = new Buffer();<br />    <br />    public static Buffer getInstance() {<br />        return me;<br />    }<br />    <br />    private Map<String, Integer> buff;<br />    <br />    private Buffer() {<br />        this.buff = new HashMap<String, Integer>();<br />    }<br />    <br />    public void put(String key, int value) {<br />        <font color="#ff0000">synchronized (this)</font> {<br />            if (!(this.buff.containsKey(key))) {<br />                this.buff.put(key, value);<br />            }<br />        }<br />    }<br />    <br />    public int get(String key) {<br />        <font color="#ff0000">synchronized (this)</font> {<br />            if (this.buff.containsKey(key)) {<br />                return this.buff.get(key);<br />            }<br />            return 0;<br />        }<br />    }<br />}<br /><br />嫻嬭瘯閫氳繃銆?br /><br />榪欓噷鍙槸鐢ㄦ渶綆鍗曠殑code婕旂ず浜嗕竴涓嬪浣曚嬌鐢℅roboUtils閲岄潰鎻愪緵</font><font face="Courier New">TestRunnable鍜?/font><font face="Courier New">MultiThreadedTestRunner鏉ョ紪鍐欏綰跨▼鐨勬祴璇曚唬鐮併傚叾瀹炰篃鍙互鑷繁鍐檆ode鍘繪祴璇曪紝涓嶈繃宸茬粡鏈変漢鍐欎簡錛屼笉鐢ㄥ啀閲嶅鍘誨仛浜嗐侾lease refer to </font><font face="Courier New"><a >http://broboutils.sourceforge.net</a></font><font face="Courier New"> to get more information.</font><img src ="http://www.tkk7.com/stingh711/aggbug/54800.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/stingh711/" target="_blank">django</a> 2006-06-24 00:27 <a href="http://www.tkk7.com/stingh711/archive/2006/06/24/54800.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://yiren2233.com" target="_blank">57pao一国产成视频永久免费</a>| <a href="http://wwwy6x22.com" target="_blank">a级毛片免费观看在线</a>| <a href="http://mychjp.com" target="_blank">97av免费视频</a>| <a href="http://hhgcnet.com" target="_blank">亚洲国产精品婷婷久久</a>| <a href="http://470577.com" target="_blank">免费A级毛片无码A∨免费</a>| <a href="http://ipx588.com" target="_blank">亚洲电影免费观看</a>| <a href="http://116603a.com" target="_blank">免费国产黄线在线观看</a>| <a href="http://dbyssw.com" target="_blank">亚洲一区二区三区丝袜</a>| <a href="http://www-474749.com" target="_blank">免费看的成人yellow视频</a>| <a href="http://xingqiu1.com" target="_blank">在线观看亚洲网站</a>| <a href="http://my77789.com" target="_blank">国产亚洲精aa成人网站</a>| <a href="http://66h99.com" target="_blank">少妇太爽了在线观看免费视频</a>| <a href="http://niu44.com" target="_blank">亚洲精品综合久久中文字幕</a>| <a href="http://twtairun.com" target="_blank">免费一本色道久久一区</a>| <a href="http://socgl.com" target="_blank">风间由美在线亚洲一区</a>| <a href="http://www64427.com" target="_blank">久久久亚洲精品蜜桃臀</a>| <a href="http://meinvtaotu.com" target="_blank">日韩av无码久久精品免费</a>| <a href="http://601508.com" target="_blank">亚洲婷婷第一狠人综合精品</a>| <a href="http://dzhankong.com" target="_blank">国产无遮挡吃胸膜奶免费看视频 </a>| <a href="http://006dh.com" target="_blank">亚洲熟妇无码一区二区三区</a>| <a href="http://8hnbuk14.com" target="_blank">成人免费777777</a>| <a href="http://yinyinai155.com" target="_blank">免费无毒a网站在线观看</a>| <a href="http://szwangzhongwang.com" target="_blank">亚洲片国产一区一级在线观看 </a>| <a href="http://www-8812.com" target="_blank">免费成人福利视频</a>| <a href="http://2023852.com" target="_blank">亚洲Aⅴ在线无码播放毛片一线天</a>| <a href="http://w6446.com" target="_blank">免费一级特黄特色大片在线观看</a>| <a href="http://fenglufzjx.com" target="_blank">久久高潮一级毛片免费</a>| <a href="http://taixin668.com" target="_blank">亚洲高清中文字幕</a>| <a href="http://hwjyrck.com" target="_blank">国产又粗又长又硬免费视频</a>| <a href="http://zzzttt669.com" target="_blank">91在线视频免费观看</a>| <a href="http://nxeea.com" target="_blank">国产日本亚洲一区二区三区</a>| <a href="http://sztsa.com" target="_blank">亚洲黄片毛片在线观看</a>| <a href="http://499k.com" target="_blank">91嫩草免费国产永久入口</a>| <a href="http://cqyouyongpx.com" target="_blank">亚洲av无码专区国产不乱码</a>| <a href="http://516kd.com" target="_blank">亚洲国产精品va在线播放</a>| <a href="http://33eaa.com" target="_blank">成全影视免费观看大全二</a>| <a href="http://manghuo365.com" target="_blank">中文字幕的电影免费网站</a>| <a href="http://dqcjlb.com" target="_blank">国产.亚洲.欧洲在线</a>| <a href="http://www62hth.com" target="_blank">亚洲五月综合缴情在线观看</a>| <a href="http://wjjccw.com" target="_blank">91在线视频免费91</a>| <a href="http://pite2.com" target="_blank">a级毛片免费全部播放无码</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>