﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-一条老狗</title><link>http://www.blogjava.net/wdog31/</link><description>&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
老狗拉破车</description><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 08:12:46 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 08:12:46 GMT</pubDate><ttl>60</ttl><item><title>XNA4.0 错误 No suitable graphics card supported. Could not find a Direct3D device that supports the XNA Framework HiDef Profile.</title><link>http://www.blogjava.net/wdog31/archive/2010/09/24/332772.html</link><dc:creator>一条老狗</dc:creator><author>一条老狗</author><pubDate>Fri, 24 Sep 2010 13:07:00 GMT</pubDate><guid>http://www.blogjava.net/wdog31/archive/2010/09/24/332772.html</guid><wfw:comment>http://www.blogjava.net/wdog31/comments/332772.html</wfw:comment><comments>http://www.blogjava.net/wdog31/archive/2010/09/24/332772.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/wdog31/comments/commentRss/332772.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wdog31/services/trackbacks/332772.html</trackback:ping><description><![CDATA[<p>今天由XNA3.0升级到4.0，竟然报错：</p>
<p>No suitable graphics card supported. Could not find a Direct3D device that supports the XNA Framework HiDef Profile.</p>
<p>原来是因为我的显卡不支持DirectX 10，在工程属性中把Hidef修改为Reach即可。</p>
http://msdn.microsoft.com/en-us/library/ff604995.aspx
<img src ="http://www.blogjava.net/wdog31/aggbug/332772.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wdog31/" target="_blank">一条老狗</a> 2010-09-24 21:07 <a href="http://www.blogjava.net/wdog31/archive/2010/09/24/332772.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JIRA插件开发（二） [原创]</title><link>http://www.blogjava.net/wdog31/archive/2007/10/24/155533.html</link><dc:creator>一条老狗</dc:creator><author>一条老狗</author><pubDate>Wed, 24 Oct 2007 03:40:00 GMT</pubDate><guid>http://www.blogjava.net/wdog31/archive/2007/10/24/155533.html</guid><wfw:comment>http://www.blogjava.net/wdog31/comments/155533.html</wfw:comment><comments>http://www.blogjava.net/wdog31/archive/2007/10/24/155533.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wdog31/comments/commentRss/155533.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wdog31/services/trackbacks/155533.html</trackback:ping><description><![CDATA[<p>JIRA插件开发的工作本早已结束。<br />
但近日有个朋友来问，如何在IssueNavigator显示时，显示用户的帐号名（username），而不是其FullName。<br />
<br />
当时我为他提供了两种思路：<br />
<br />
思路1。写一个自定义字段插件，这个插件就是按用户名来显示报告者及被分派者。<br />
然后再自定义问题导航栏，把你的自定义字段添加进去即可。<br />
<br />
思路2。继承并覆盖问题导航功能的Action，直接修改其显示的数据。<br />
<br />
这个问题挺有意思，今日闲来无事，对第二种思路写了点代码来实现一下。<br />
<br />
首先我们继承IssueNavigator类：<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_87_1779_Open_Image" onclick="this.style.display='none'; Codehighlighter1_87_1779_Open_Text.style.display='none'; Codehighlighter1_87_1779_Closed_Image.style.display='inline'; Codehighlighter1_87_1779_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_87_1779_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_87_1779_Closed_Text.style.display='none'; Codehighlighter1_87_1779_Open_Image.style.display='inline'; Codehighlighter1_87_1779_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;IssueNavigator&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;com.atlassian.jira.web.action.issue.IssueNavigator&nbsp;</span><span id="Codehighlighter1_87_1779_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_87_1779_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">boolean</span><span style="color: #000000">&nbsp;convertedResults&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">false</span><span style="color: #000000">;<br />
<img id="Codehighlighter1_203_1776_Open_Image" onclick="this.style.display='none'; Codehighlighter1_203_1776_Open_Text.style.display='none'; Codehighlighter1_203_1776_Closed_Image.style.display='inline'; Codehighlighter1_203_1776_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_203_1776_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_203_1776_Closed_Text.style.display='none'; Codehighlighter1_203_1776_Open_Image.style.display='inline'; Codehighlighter1_203_1776_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;SearchResults&nbsp;getSearchResults()&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;SearchException&nbsp;</span><span id="Codehighlighter1_203_1776_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_203_1776_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SearchResults&nbsp;results&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">super</span><span style="color: #000000">.getSearchResults();<br />
<img id="Codehighlighter1_313_1745_Open_Image" onclick="this.style.display='none'; Codehighlighter1_313_1745_Open_Text.style.display='none'; Codehighlighter1_313_1745_Closed_Image.style.display='inline'; Codehighlighter1_313_1745_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_313_1745_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_313_1745_Closed_Text.style.display='none'; Codehighlighter1_313_1745_Open_Image.style.display='inline'; Codehighlighter1_313_1745_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(</span><span style="color: #000000">!</span><span style="color: #000000">convertedResults&nbsp;</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">&nbsp;results&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_313_1745_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_313_1745_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;convertedResults&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">true</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;List&nbsp;issueList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;results.getIssues();<br />
<img id="Codehighlighter1_458_1735_Open_Image" onclick="this.style.display='none'; Codehighlighter1_458_1735_Open_Text.style.display='none'; Codehighlighter1_458_1735_Closed_Image.style.display='inline'; Codehighlighter1_458_1735_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_458_1735_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_458_1735_Closed_Text.style.display='none'; Codehighlighter1_458_1735_Open_Image.style.display='inline'; Codehighlighter1_458_1735_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">&nbsp;(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;&nbsp;i&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">&nbsp;issueList.size();&nbsp;i</span><span style="color: #000000">++</span><span style="color: #000000">)&nbsp;</span><span id="Codehighlighter1_458_1735_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_458_1735_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;com.atlassian.jira.issue.DocumentIssueImpl&nbsp;issue&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(com.atlassian.jira.issue.DocumentIssueImpl)issueList.get(i);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Document&nbsp;document&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">;<br />
<img id="Codehighlighter1_676_913_Open_Image" onclick="this.style.display='none'; Codehighlighter1_676_913_Open_Text.style.display='none'; Codehighlighter1_676_913_Closed_Image.style.display='inline'; Codehighlighter1_676_913_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_676_913_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_676_913_Closed_Text.style.display='none'; Codehighlighter1_676_913_Open_Image.style.display='inline'; Codehighlighter1_676_913_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_676_913_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_676_913_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Field&nbsp;f&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;issue.getClass().getDeclaredField(</span><span style="color: #000000">"</span><span style="color: #000000">document</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.setAccessible(</span><span style="color: #0000ff">true</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(Document)f.get(issue);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f.setAccessible(</span><span style="color: #0000ff">false</span><span style="color: #000000">);<br />
<img id="Codehighlighter1_946_1005_Open_Image" onclick="this.style.display='none'; Codehighlighter1_946_1005_Open_Text.style.display='none'; Codehighlighter1_946_1005_Closed_Image.style.display='inline'; Codehighlighter1_946_1005_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_946_1005_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_946_1005_Closed_Text.style.display='none'; Codehighlighter1_946_1005_Open_Image.style.display='inline'; Codehighlighter1_946_1005_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(NoSuchFieldException&nbsp;e)&nbsp;</span><span id="Codehighlighter1_946_1005_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_946_1005_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img id="Codehighlighter1_1040_1099_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1040_1099_Open_Text.style.display='none'; Codehighlighter1_1040_1099_Closed_Image.style.display='inline'; Codehighlighter1_1040_1099_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1040_1099_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1040_1099_Closed_Text.style.display='none'; Codehighlighter1_1040_1099_Open_Image.style.display='inline'; Codehighlighter1_1040_1099_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(IllegalAccessException&nbsp;e)&nbsp;</span><span id="Codehighlighter1_1040_1099_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1040_1099_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentIssueImpl&nbsp;newIssue&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;DocumentIssueImpl(<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document,<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComponentManager.getInstance().getConstantsManager(),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComponentManager.getInstance().getFieldManager(),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComponentManager.getInstance().getIssueManager(),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComponentManager.getInstance().getIssueFactory(),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComponentManager.getInstance().getAttachmentManager(),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ComponentManager.getInstance().getProjectFactory()<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;issueList.set(i,&nbsp;newIssue);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;results;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<br />
然后覆盖其 getSearchResults() 方法，将issueList中的对象换为我们的新对象(DocumentIssueImpl)。<br />
注意： 这里面为了取回document对象，使有了反射。或许有其它办法，这里只做一个测试，不考虑其它问题。<br />
<br />
为此，我们需要再继承一个类 DocumentIssueImpl：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_82_398_Open_Image" onclick="this.style.display='none'; Codehighlighter1_82_398_Open_Text.style.display='none'; Codehighlighter1_82_398_Closed_Image.style.display='inline'; Codehighlighter1_82_398_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_82_398_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_82_398_Closed_Text.style.display='none'; Codehighlighter1_82_398_Open_Image.style.display='inline'; Codehighlighter1_82_398_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;DocumentIssueImpl&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;com.atlassian.jira.issue.DocumentIssueImpl&nbsp;</span><span id="Codehighlighter1_82_398_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_82_398_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_131_200_Open_Image" onclick="this.style.display='none'; Codehighlighter1_131_200_Open_Text.style.display='none'; Codehighlighter1_131_200_Closed_Image.style.display='inline'; Codehighlighter1_131_200_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_131_200_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_131_200_Closed_Text.style.display='none'; Codehighlighter1_131_200_Open_Image.style.display='inline'; Codehighlighter1_131_200_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;User&nbsp;resetUserFullName(User&nbsp;user)&nbsp;</span><span id="Codehighlighter1_131_200_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_131_200_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user.setFullName(user.getName());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;user;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;User&nbsp;getAssignee()<br />
<img id="Codehighlighter1_237_298_Open_Image" onclick="this.style.display='none'; Codehighlighter1_237_298_Open_Text.style.display='none'; Codehighlighter1_237_298_Closed_Image.style.display='inline'; Codehighlighter1_237_298_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_237_298_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_237_298_Closed_Text.style.display='none'; Codehighlighter1_237_298_Open_Image.style.display='inline'; Codehighlighter1_237_298_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_237_298_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_237_298_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;resetUserFullName(</span><span style="color: #0000ff">super</span><span style="color: #000000">.getAssignee());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;User&nbsp;getReporter()<br />
<img id="Codehighlighter1_335_396_Open_Image" onclick="this.style.display='none'; Codehighlighter1_335_396_Open_Text.style.display='none'; Codehighlighter1_335_396_Closed_Image.style.display='inline'; Codehighlighter1_335_396_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_335_396_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_335_396_Closed_Text.style.display='none'; Codehighlighter1_335_396_Open_Image.style.display='inline'; Codehighlighter1_335_396_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_335_396_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_335_396_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;resetUserFullName(</span><span style="color: #0000ff">super</span><span style="color: #000000">.getReporter());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<br />
然后我们覆盖其 getAssignee() getReporter() 方法，把username赋值给fullname<br />
这样当调用 getFullName 时返回的就是 username了。<br />
<br />
然后插件配置文件中覆盖IssueNavigation Action<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">action&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="xxx.IssueNavigator"</span><span style="color: #ff0000">&nbsp;alias</span><span style="color: #0000ff">="IssueNavigator"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">view&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="success"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/secure/views/navigator/navigator.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">view</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">view&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="error"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">/secure/views/navigator/navigator.jsp</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">view</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">action</span><span style="color: #0000ff">&gt;</span></div>
<br />
完成！<br />
<br />
 <img src ="http://www.blogjava.net/wdog31/aggbug/155533.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wdog31/" target="_blank">一条老狗</a> 2007-10-24 11:40 <a href="http://www.blogjava.net/wdog31/archive/2007/10/24/155533.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POI 清空单元格数据</title><link>http://www.blogjava.net/wdog31/archive/2007/08/09/135416.html</link><dc:creator>一条老狗</dc:creator><author>一条老狗</author><pubDate>Thu, 09 Aug 2007 02:35:00 GMT</pubDate><guid>http://www.blogjava.net/wdog31/archive/2007/08/09/135416.html</guid><wfw:comment>http://www.blogjava.net/wdog31/comments/135416.html</wfw:comment><comments>http://www.blogjava.net/wdog31/archive/2007/08/09/135416.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wdog31/comments/commentRss/135416.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wdog31/services/trackbacks/135416.html</trackback:ping><description><![CDATA[如果一个单元格的类型不是文本，而是数字该如何清空它呢？<br><br>public void <strong>setCellValue</strong>(double&nbsp;value)<br><br>此函数并不能清受NULL，该如何把这个单元格变成空白呢？<br>方法很简单：<br><br>cell.setCellType(HSSFCell.CELL_TYPE_BLANK);<br><br>把它的类型改为 HSSFCell.CELL_TYPE_BLANK 即可。
<img src ="http://www.blogjava.net/wdog31/aggbug/135416.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wdog31/" target="_blank">一条老狗</a> 2007-08-09 10:35 <a href="http://www.blogjava.net/wdog31/archive/2007/08/09/135416.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POI 如何得到 HSSFRow 的实际行高？</title><link>http://www.blogjava.net/wdog31/archive/2007/07/27/132780.html</link><dc:creator>一条老狗</dc:creator><author>一条老狗</author><pubDate>Fri, 27 Jul 2007 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/wdog31/archive/2007/07/27/132780.html</guid><wfw:comment>http://www.blogjava.net/wdog31/comments/132780.html</wfw:comment><comments>http://www.blogjava.net/wdog31/archive/2007/07/27/132780.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/wdog31/comments/commentRss/132780.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wdog31/services/trackbacks/132780.html</trackback:ping><description><![CDATA[<p>以下是官方的一个例子：<br><br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;HSSFWorkbook&nbsp;wb&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;HSSFWorkbook();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;HSSFSheet&nbsp;s&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;wb.createSheet();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;HSSFRow&nbsp;r&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;HSSFCell&nbsp;c&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;HSSFCellStyle&nbsp;cs&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;wb.createCellStyle();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;HSSFFont&nbsp;f&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;wb.createFont();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;HSSFFont&nbsp;f2&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;wb.createFont();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cs&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;wb.createCellStyle();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;cs.setFont(&nbsp;f2&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">Word&nbsp;Wrap&nbsp;MUST&nbsp;be&nbsp;turned&nbsp;on</span><span style="COLOR: #008000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;cs.setWrapText(&nbsp;</span><span style="COLOR: #0000ff">true</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;r&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;s.createRow(&nbsp;(</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;r.setHeight(&nbsp;(</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">0x349</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;c&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;r.createCell(&nbsp;(</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;c.setCellType(&nbsp;HSSFCell.CELL_TYPE_STRING&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;c.setCellValue(&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">Use&nbsp;\n&nbsp;with&nbsp;word&nbsp;wrap&nbsp;on&nbsp;to&nbsp;create&nbsp;a&nbsp;new&nbsp;line</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;c.setCellStyle(&nbsp;cs&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;s.setColumnWidth(&nbsp;(</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">,&nbsp;(</span><span style="COLOR: #0000ff">short</span><span style="COLOR: #000000">)&nbsp;(&nbsp;(&nbsp;</span><span style="COLOR: #000000">50</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">8</span><span style="COLOR: #000000">&nbsp;)&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;(&nbsp;(</span><span style="COLOR: #0000ff">double</span><span style="COLOR: #000000">)&nbsp;</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">20</span><span style="COLOR: #000000">&nbsp;)&nbsp;)&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;FileOutputStream&nbsp;fileOut&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;FileOutputStream(&nbsp;</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">workbook.xls</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;wb.write(&nbsp;fileOut&nbsp;);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;fileOut.close();</span></div>
<p>&nbsp;</p>
<p>这里它是使用 r.setHeight((short)0x349) 写死了行高的，如何根据实际内容自动计算出其行高呢？<br>我们可以不设置其行高，此时Excel能够正确显示出来，但看上去太挤，不好看。<br>我是希望在文字需要占的实际行高基础上再加上一些空白，这样才好看。<br>但此时调用 r.getHeight() 取不到值。<br><br>我想这个需求可能是实现不了了。</p>
<p>&nbsp;</p>
<img src ="http://www.blogjava.net/wdog31/aggbug/132780.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wdog31/" target="_blank">一条老狗</a> 2007-07-27 14:22 <a href="http://www.blogjava.net/wdog31/archive/2007/07/27/132780.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>笑话一则</title><link>http://www.blogjava.net/wdog31/archive/2007/07/27/132695.html</link><dc:creator>一条老狗</dc:creator><author>一条老狗</author><pubDate>Fri, 27 Jul 2007 01:45:00 GMT</pubDate><guid>http://www.blogjava.net/wdog31/archive/2007/07/27/132695.html</guid><wfw:comment>http://www.blogjava.net/wdog31/comments/132695.html</wfw:comment><comments>http://www.blogjava.net/wdog31/archive/2007/07/27/132695.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wdog31/comments/commentRss/132695.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wdog31/services/trackbacks/132695.html</trackback:ping><description><![CDATA[1、桃源话很奇特，尾音很高，比如&#8220;局&#8221;，便发音成了&#8220;猪&#8221;。<br><br>&nbsp; 先到县委宣传部，联系到人事局采访。宣传部的人打电话替我预约，用免提。<br><br>&nbsp; 宣传部：&#8220;喂，你人是猪吗？（人事局）&#8221;<br><br>&nbsp; 对方：&#8220;不是，你搞错了。我不是人是猪（人事局），我娘是猪（粮食局）。&#8221;<br><br>&nbsp; 我拼命忍住笑，肚子都疼了。<br><br>&nbsp; 第二天参加一个县政府的汇报会。会前点名。<br><br>&nbsp; 主持人：&#8220;哪些单位到了？&#8221;<br><br>&nbsp; 于是参会者一个个地自报家门：<br><br>&nbsp; &#8220;我是公阉猪（公安局）。&#8221;<br><br>&nbsp; &#8220;我叫肉猪（教育局）。&#8221;<br><br>&nbsp; &#8220;我有点猪（邮电局）。&#8221;<br><br>&nbsp; &#8220;我是典型猪（电信局）。&#8221;<br><br>2、话说湖南一个口音很重的县长到村里作报告：&nbsp;<br><br>&nbsp; &#8220;兔子们，虾米们，猪尾巴！不要酱瓜，咸菜太贵啦！！&#8221; <br>&nbsp; （翻译：同志们，乡民们，注意吧！不要讲话，现在开会啦！！）&nbsp;<br><br>&nbsp; 县长讲完后，主持人说：&#8220;咸菜请香肠酱瓜！&#8221; <br>&nbsp; （翻译：现在请乡长讲话！）&nbsp;<br><br>&nbsp; 乡长说：&#8220;兔子们，今天的饭狗吃了，大家都是大王八！&#8221; <br>&nbsp; （翻译：同志们，今天的饭够吃了，大家都使大碗吧！）&nbsp;<br><br>&nbsp; &#8220;不要酱瓜，我捡个狗屎给你们舔舔。。。&#8221; <br>&nbsp; （翻译：不要讲话，我讲个故事给你们听听。。。）<br>
<img src ="http://www.blogjava.net/wdog31/aggbug/132695.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wdog31/" target="_blank">一条老狗</a> 2007-07-27 09:45 <a href="http://www.blogjava.net/wdog31/archive/2007/07/27/132695.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>POI 操作Excel，如何实现Cell的克隆？</title><link>http://www.blogjava.net/wdog31/archive/2007/07/13/130134.html</link><dc:creator>一条老狗</dc:creator><author>一条老狗</author><pubDate>Fri, 13 Jul 2007 09:19:00 GMT</pubDate><guid>http://www.blogjava.net/wdog31/archive/2007/07/13/130134.html</guid><wfw:comment>http://www.blogjava.net/wdog31/comments/130134.html</wfw:comment><comments>http://www.blogjava.net/wdog31/archive/2007/07/13/130134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wdog31/comments/commentRss/130134.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wdog31/services/trackbacks/130134.html</trackback:ping><description><![CDATA[POI的基本操作，请参看 <a href="http://blog.java-cn.com/user1/6749/archives/2005/18347.html">http://blog.java-cn.com/user1/6749/archives/2005/18347.html</a><br><br>
<p>sheet有现成的方法实现clone</p>
<p>但如何克隆一行，一列呢？找了找好像没有现成的方法可用。</p>
<p>只有一列一列的复制其属性，一些基本属性倒是可以复制，如对齐、字体、边框、背景色、CellType等</p>
<p>但如何复制Cell的"条件格式"呢？？？困惑中。。。</p>
<img src ="http://www.blogjava.net/wdog31/aggbug/130134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wdog31/" target="_blank">一条老狗</a> 2007-07-13 17:19 <a href="http://www.blogjava.net/wdog31/archive/2007/07/13/130134.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JIRA插件开发（一） [原创]</title><link>http://www.blogjava.net/wdog31/archive/2007/07/12/129758.html</link><dc:creator>一条老狗</dc:creator><author>一条老狗</author><pubDate>Thu, 12 Jul 2007 01:45:00 GMT</pubDate><guid>http://www.blogjava.net/wdog31/archive/2007/07/12/129758.html</guid><wfw:comment>http://www.blogjava.net/wdog31/comments/129758.html</wfw:comment><comments>http://www.blogjava.net/wdog31/archive/2007/07/12/129758.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/wdog31/comments/commentRss/129758.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wdog31/services/trackbacks/129758.html</trackback:ping><description><![CDATA[<p>大家都知道，JIRA是一个优秀的问题跟踪系统。<br>但它不一定就能完全满足你的需要，比如导入Excel方式提交的BUG。<br>值得庆幸的是，JIRA提供了强大的插件开发功能，现说一说我的一点小经验。</p>
<p>准备： JIRA3.9,&nbsp; JIRA SDK,&nbsp; IDEA / Eclipse, 熟悉Java（废话）,&nbsp; 熟悉WebWork<br>资料： <font face=Arial><a href="http://confluence.atlassian.com/display/JIRA/JIRA+Development+Hub"><u><font color=#810081>http://confluence.atlassian.com/display/JIRA/JIRA+Development+Hub</font></u></a><br></font>官方资料可能无法全部找到你想要的，这时你可以下载一些其它第三方插件来分析其源码。</p>
<br>最重要的一点，那就是反编译JIRA代码，直接查看之。<br>比如，你想查看 <font face=Arial>/secure/IssueNavigator.jspa 的代码<br></font>打开 WEB-INF/classes/<font face=Arial>actions.xml 查找 IssueNavigator ，如下：</font><font face=Arial>&nbsp;&nbsp;&nbsp;<br><br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">action&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="issue.IssueNavigator"</span><span style="COLOR: #ff0000">&nbsp;alias</span><span style="COLOR: #0000ff">="IssueNavigator"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">view&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="success"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">/secure/views/navigator/navigator.jsp</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">view</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">view&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="error"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">/secure/views/navigator/navigator.jsp</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">view</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">action</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;</span></div>
<p></font><font face=Arial>表示其对应的类是&nbsp; com.atlassian.jira.web.action.issue.IssueNavigator 反编译之即可。</font></p>
<p><br>以下说一说一些常用的方法：<br>JIRA提供各种 xxxManager 提口来实现各种操作<br>你可以通过 ComponentManager.getInstance().getXxx() 来得到其实例<br>也可以通过 ComponentManager.getComponentInstanceOfType(xxx.<span class=keyword>class</span><span>) 来得到，非常方便。</span></p>
<p>比如：<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">JiraAuthenticationContext&nbsp;authenticationContext&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;ComponentManager.getInstance().getJiraAuthenticationContext();&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>ProjectComponentManager&nbsp;pcm&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;(ProjectComponentManager)ComponentManager.getComponentInstanceOfType(ProjectComponentManager.</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">);&nbsp;&nbsp;&nbsp;</span></div>
<br>
<p>例子：</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img id=Codehighlighter1_36_262_Open_Image onclick="this.style.display='none'; Codehighlighter1_36_262_Open_Text.style.display='none'; Codehighlighter1_36_262_Closed_Image.style.display='inline'; Codehighlighter1_36_262_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_36_262_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_36_262_Closed_Text.style.display='none'; Codehighlighter1_36_262_Open_Image.style.display='inline'; Codehighlighter1_36_262_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;User&nbsp;getCurrentUser()&nbsp;</span><span id=Codehighlighter1_36_262_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_36_262_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;JiraAuthenticationContext&nbsp;authenticationContext&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;ComponentManager.getInstance().getJiraAuthenticationContext();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;authenticationContext&nbsp;</span><span style="COLOR: #000000">==</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #000000">?</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">&nbsp;:&nbsp;authenticationContext.getUser();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_323_423_Open_Image onclick="this.style.display='none'; Codehighlighter1_323_423_Open_Text.style.display='none'; Codehighlighter1_323_423_Closed_Image.style.display='inline'; Codehighlighter1_323_423_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_323_423_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_323_423_Closed_Text.style.display='none'; Codehighlighter1_323_423_Open_Image.style.display='inline'; Codehighlighter1_323_423_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;Project&nbsp;getProject(</span><span style="COLOR: #0000ff">long</span><span style="COLOR: #000000">&nbsp;pid)&nbsp;</span><span id=Codehighlighter1_323_423_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_323_423_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;ComponentManager.getInstance().getProjectManager().getProjectObj(pid);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_483_712_Open_Image onclick="this.style.display='none'; Codehighlighter1_483_712_Open_Text.style.display='none'; Codehighlighter1_483_712_Closed_Image.style.display='inline'; Codehighlighter1_483_712_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gif" align=top><img id=Codehighlighter1_483_712_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_483_712_Closed_Text.style.display='none'; Codehighlighter1_483_712_Open_Image.style.display='inline'; Codehighlighter1_483_712_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gif" align=top></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000">&nbsp;MutableIssue&nbsp;getIssueById(Long&nbsp;id)&nbsp;</span><span id=Codehighlighter1_483_712_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_483_712_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_497_649_Open_Image onclick="this.style.display='none'; Codehighlighter1_497_649_Open_Text.style.display='none'; Codehighlighter1_497_649_Closed_Image.style.display='inline'; Codehighlighter1_497_649_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_497_649_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_497_649_Closed_Text.style.display='none'; Codehighlighter1_497_649_Open_Image.style.display='inline'; Codehighlighter1_497_649_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000">&nbsp;</span><span id=Codehighlighter1_497_649_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_497_649_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IssueManager&nbsp;issueManager&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;ComponentManager.getInstance().getIssueManager();&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;issueManager.getIssueObject(id);&nbsp;&nbsp;&nbsp;&nbsp;<br><img id=Codehighlighter1_671_706_Open_Image onclick="this.style.display='none'; Codehighlighter1_671_706_Open_Text.style.display='none'; Codehighlighter1_671_706_Closed_Image.style.display='inline'; Codehighlighter1_671_706_Closed_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><img id=Codehighlighter1_671_706_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_671_706_Closed_Text.style.display='none'; Codehighlighter1_671_706_Open_Image.style.display='inline'; Codehighlighter1_671_706_Open_Text.style.display='inline';" src="http://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000">&nbsp;(Exception&nbsp;e)&nbsp;</span><span id=Codehighlighter1_671_706_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"></span><span id=Codehighlighter1_671_706_Open_Text><span style="COLOR: #000000">{&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</span></span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>
<p>把邮件加入JIRA队列：</p>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Email&nbsp;mail&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Email(toaddr);&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><img src="http://www.blogjava.net/Images/dot.gif">&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>MailQueueItem&nbsp;item&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;SingleMailQueueItem(mail);&nbsp;&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>ManagerFactory.getMailQueue().addItem(item);&nbsp;&nbsp;&nbsp;&nbsp;</span></div>
<br>
<p>另外你可以覆盖JIRA的Action，比如覆盖<font face=Arial>CreateSubTaskIssueDetails<br>让其在创建子任务时自动导入父任务的一些数据（如"所属模块"）。</font></p>
<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">action&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="jira.plugin.rstoolkit.webui.action.CreateSubTaskIssueDetails"</span><span style="COLOR: #ff0000">&nbsp;alias</span><span style="COLOR: #0000ff">="CreateSubTaskIssueDetails"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">view&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="error"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">/secure/views/createsubtaskissue-details.jsp</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">view</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">view&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="input"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">/secure/views/createsubtaskissue-details.jsp</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">view</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">view&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="init"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">/rstoolkit/initsubtaskdetails.jsp</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">view</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">action</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span></div>
<br>
<p>实在不想打字，其它的一些就不一一列举了。</p>
 <img src ="http://www.blogjava.net/wdog31/aggbug/129758.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wdog31/" target="_blank">一条老狗</a> 2007-07-12 09:45 <a href="http://www.blogjava.net/wdog31/archive/2007/07/12/129758.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下的日语词典(Java版) [原创]</title><link>http://www.blogjava.net/wdog31/archive/2007/07/12/129754.html</link><dc:creator>一条老狗</dc:creator><author>一条老狗</author><pubDate>Thu, 12 Jul 2007 01:37:00 GMT</pubDate><guid>http://www.blogjava.net/wdog31/archive/2007/07/12/129754.html</guid><wfw:comment>http://www.blogjava.net/wdog31/comments/129754.html</wfw:comment><comments>http://www.blogjava.net/wdog31/archive/2007/07/12/129754.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/wdog31/comments/commentRss/129754.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wdog31/services/trackbacks/129754.html</trackback:ping><description><![CDATA[<p>这是一个用Java Swing写的日语词典，主要是为了在Linux下使用。<br><br>Linux下使用： # ./csjpdict.sh<br>Windows下： csjpdict.exe&nbsp; （Windows下推荐你使用原版"随想日语"）<br><br>当然前提是你已经配置好Java运行环境JRE。<br><br>特别说明： 日语词库来源于&#8220;随想日语晶典2004&#8221;，版权归其原作者所有。</p>
<p><img height=463 alt="" src="http://www.blogjava.net/images/blogjava_net/wdog31/dict.JPG" width=593 border=0><br><br>下载： <a href="http://www.blogjava.net/Files/wdog31/csjpdict.part1.rar">csjpdict.part1.rar</a>&nbsp; <a href="http://www.blogjava.net/Files/wdog31/csjpdict.part2.rar">csjpdict.part2.rar</a></p>
<img src ="http://www.blogjava.net/wdog31/aggbug/129754.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wdog31/" target="_blank">一条老狗</a> 2007-07-12 09:37 <a href="http://www.blogjava.net/wdog31/archive/2007/07/12/129754.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IPMsg-多语言支持版(RTF版) [原创]</title><link>http://www.blogjava.net/wdog31/archive/2007/07/12/129750.html</link><dc:creator>一条老狗</dc:creator><author>一条老狗</author><pubDate>Thu, 12 Jul 2007 01:28:00 GMT</pubDate><guid>http://www.blogjava.net/wdog31/archive/2007/07/12/129750.html</guid><wfw:comment>http://www.blogjava.net/wdog31/comments/129750.html</wfw:comment><comments>http://www.blogjava.net/wdog31/archive/2007/07/12/129750.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/wdog31/comments/commentRss/129750.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wdog31/services/trackbacks/129750.html</trackback:ping><description><![CDATA[<p>IPMsg 是一款局域网内即时通信软件（中文名飞鸽传书）<br>此版本为从日文版2.0.6修改而来。（VC6编译）<br></p>
<p><br>使用RTF格式解决在日文Windows下发送接受中文消息问题。<br>不过由于使用RTF，所以发送消息给其它版本的IPMsg时（比如Linux下的），对方将无法显示。<br>此时可以把RTF复选框去掉，不发送RTF格式。<br><br>注： 你需要在日文Windows上运行，不然界面是乱码。<br>（你也可以在中文Windows下用AppLocal切换到日文编码下运行）<br></p>
<br><img height=431 alt="" src="http://www.blogjava.net/images/blogjava_net/wdog31/ipmsg.JPG" width=534 border=0>&nbsp;<br><br>下载&nbsp;<a href="http://www.blogjava.net/Files/wdog31/IPMsgRS-Setup.rar">IPMsgRS-Setup.rar</a> 
<img src ="http://www.blogjava.net/wdog31/aggbug/129750.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wdog31/" target="_blank">一条老狗</a> 2007-07-12 09:28 <a href="http://www.blogjava.net/wdog31/archive/2007/07/12/129750.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>