Eclipse插件开发总结(第二天)
怎么感覺周末比上班還忙呢。昨天寢室哥們公司看看,然后到浙大兩個(gè)校區(qū)逛了一圈。吃了兩頓川菜。味道還是相當(dāng)?shù)牟诲e(cuò)。然后一天就結(jié)束了。今天早上起床已經(jīng)快11點(diǎn)了。本來想約個(gè)朋友去好好吃一頓,結(jié)果沒約到,很失望。索性就叫了外賣,等外賣的時(shí)間玩了把dota,然后殺的相當(dāng)?shù)乃O挛绱蛄?個(gè)小時(shí)球,回來吃了飯洗澡洗完衣服然后差不多就到現(xiàn)在了。。。。。。好啰嗦哦。
總算有時(shí)間來繼續(xù)總結(jié)這幾天的學(xué)習(xí)了。把我現(xiàn)在做的分兩部分來總結(jié)一下吧:
一 :開發(fā)了一個(gè)向?qū)ё詣?dòng)生成模板文件。當(dāng)然是在<extension?point="org.eclipse.ui.newWizards">這個(gè)擴(kuò)展點(diǎn)開始了。
實(shí)現(xiàn)兩個(gè)類:Wizard和WizardPage類。從名字上就很好理解類的作用了。一個(gè)負(fù)責(zé)功能,一個(gè)負(fù)責(zé)界面。這里WizardPage可以有兩種實(shí)現(xiàn)方式:
a,繼承org.eclipse.jface.wizard.WizardPage這樣得到的是:b,繼承org.eclipse.ui.dialogs.WizardNewFileCreationPage得到的是:
今天沒有寫作心情呀。。。下次補(bǔ)上
需求:
實(shí)現(xiàn)一個(gè)符合ServiceConfigSchema.xsd的Service-Config.xml文件的可視化編輯器。
Service-Config.xml的內(nèi)容大概如下:
<?xml? version="1.0" encoding="UTF-8" ?>
<tns:service-config
???????? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
???????? xsi:schemaLocation="http://iservice.hundsun.com/schema ServiceConfigSchema.xsd"
???????? xmlns:tns="http://iservice.hundsun.com/schema">
???????? <service-mappings>
?????????????????? <service service="fetchAllRecords"
??????????????????????????? type="com.hs.se.dummy.services.DummyService"
??????????????????????????? path="/dummy/fetchAllRecords">
??????????????????????????? <description>
???????????????????????????????????? Fetch all records from sample table
??????????????????????????? </description>
??????????????????????????? <param name=”” type=”” />
??????????????????????????? <result name="resultBOList" type="java.util.List"></result>
?????????????????? </service>
???????? </service-mapping>
<include file=”” />
</tns:service-config>
說明:
1.???????? 根節(jié)點(diǎn)tns:service-config下有一個(gè)Service-mapping節(jié)點(diǎn)、0或多個(gè)include節(jié)點(diǎn)。
2.???????? Service-mapping節(jié)點(diǎn)下有0個(gè)或多個(gè)service節(jié)點(diǎn)。
3.???????? 每個(gè)Service節(jié)點(diǎn)有三個(gè)屬性:Service、type、path和一個(gè)Description子節(jié)點(diǎn)、0或多個(gè)param子節(jié)點(diǎn)、一個(gè)result子節(jié)點(diǎn)。
4.???????? 每個(gè)param節(jié)點(diǎn)有兩個(gè)屬性:name 和 type。
5.???????? Result節(jié)點(diǎn)有兩個(gè)屬性:name和type。
6.???????? Include的節(jié)點(diǎn)有一個(gè)屬性:file。
功能:
1.???????? 可視化的顯示Service-config.xml的信息。
2.???????? Include、Service和param實(shí)現(xiàn)列表顯示。
3.???????? 其他信息實(shí)現(xiàn)表單可視化編輯。
概要設(shè)計(jì):
1.???????? 為了在沒有可用service-config.xml文件的情況下用戶能夠很容易的創(chuàng)建符合標(biāo)準(zhǔn)的配置文件。需要實(shí)現(xiàn)一個(gè)創(chuàng)建新文件的向?qū)А6?/span>eclipse插件新文件向?qū)U(kuò)展點(diǎn)可以實(shí)現(xiàn)這個(gè)功能。
2.???????? 為了能同時(shí)滿足喜歡直接編寫xml文件的用戶和喜歡可視化編輯xml的用戶。應(yīng)該創(chuàng)建一個(gè)兩頁的編輯器。用戶可以在兩種編輯器之間切換。兩個(gè)編輯器的內(nèi)容要實(shí)現(xiàn)同步。
詳細(xì)設(shè)計(jì):
1.???????? 根據(jù)service-config.xml的內(nèi)容創(chuàng)建相應(yīng)的javaBean。
2.???????? FileHandler類實(shí)現(xiàn)javaBean和xml文件之間的相互轉(zhuǎn)換。
3.???????? 向?qū)?chuàng)建文件首先從FileHandler得到文件的初始化內(nèi)容。將文件寫入磁盤既完成了向?qū)У膭?chuàng)建過程。
4.???????? 編輯器打開文件首先從父類EditorPart里通過getEditorInput方法得到輸入文件的內(nèi)容。
5.???????? 檢查輸入文件的namespace是否是符合要求的xml文檔。如果不是則彈出對(duì)話框其實(shí)用戶編輯的文件類型不正確。
6.???????? 將得到的xml內(nèi)容通過FileHandler的xmlToBean方法裝載到相應(yīng)的JavaBean里。
7.???????? 將JavaBean的內(nèi)容填入可視化界面相應(yīng)的地方。
8.???????? 當(dāng)界面有修改的時(shí)候。調(diào)用Filehandler的modelToXml方法將JavaBean轉(zhuǎn)化為xml并通過父類Document的set方法將內(nèi)容寫入文本編輯器。
9.???????? 當(dāng)用戶切換編輯器的時(shí)候確保兩個(gè)編輯器的內(nèi)容同步。
10.???? 當(dāng)用戶修改完畢保存文件的時(shí)候?qū)⑽募4妗?/span>
代碼說明:
(詳見代碼注釋說明)?
轉(zhuǎn)載于:https://www.cnblogs.com/echozhjun/archive/2009/03/22/1419304.html
總結(jié)
以上是生活随笔為你收集整理的Eclipse插件开发总结(第二天)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何帮助谷歌鉴别内容重复的网页
- 下一篇: 食品、快速消费品行业的ERP兄弟们来此跟