隨筆:25 文章:1 評(píng)論:66 引用:0
steeven
BlogJava
首頁(yè)
發(fā)新隨筆
發(fā)新文章
聯(lián)系
聚合
管理
編程使用SDO[EMF兄弟篇]
SDO,簡(jiǎn)單理解就是EMF的脫機(jī)版。類似于resultSet和DataSet。可用于smartclient等脫機(jī)數(shù)據(jù)加工場(chǎng)合。
主要特點(diǎn):(個(gè)人理解)
可驗(yàn)證
強(qiáng)類型
可取出完整數(shù)據(jù)和差異。
生成SDO代碼和EMF大同小異,主要是在my.genmodel的第一個(gè)節(jié)點(diǎn)的右鍵菜單中選擇:Set SDO defaults.
體驗(yàn):
1. 生成Editor后,執(zhí)行生成的Editor Plugin
2. 新建Example EMF Model Creation Wizards->Data Graph Model
3. 在Changes節(jié)點(diǎn)上Start Loggin, 然后編輯數(shù)據(jù)即可看到自動(dòng)生成的差異。
網(wǎng)上手工操作SDO的示例代碼比較少,這里簡(jiǎn)單demo如下:
import
?java.util.Iterator;
import
?org.eclipse.emf.ecore.EObject;
import
?org.eclipse.emf.ecore.sdo.EDataGraph;
import
?org.eclipse.emf.ecore.sdo.SDOFactory;
import
?org.steeven.family.FamilyFactory;
import
?org.steeven.family.個(gè)人;
import
?org.steeven.family.家庭;
import
?commonj.sdo.ChangeSummary;
import
?commonj.sdo.DataGraph;
import
?commonj.sdo.DataObject;
public
?
class
?Server?
{
????
public
?
static
?
void
?main(String[]?args)?
{
????????
//
?client?side
????????EDataGraph?graph?
=
?loadGraph();
????????graph.getChangeSummary().beginLogging(); // important!
????????家庭?family?
=
?(家庭)?graph.getRootObject();
????????family.setTitle(
"
my?family
"
);
????????個(gè)人?baby?
=
?FamilyFactory.INSTANCE.create個(gè)人();
????????baby.set姓名(
"
sophie
"
);
????????family.get兔崽子().add(baby);
????????graph.getChangeSummary().endLogging();
????????saveGraph(graph);
????????update(graph);
????}
????
//
server?side
????
public
?
static
?EDataGraph?loadGraph()?
{
????????家庭?family?
=
?FamilyFactory.INSTANCE.create家庭();?
//
?or?load?from
????????
//
?database
????????EDataGraph?graph?
=
?SDOFactory.eINSTANCE.createEDataGraph();
????????graph.setERootObject((EObject)?family);
????????
return
?graph;
????}
????
//
server?side?full?save
????
public
?
static
?
void
?saveGraph(EDataGraph?graph)?
{
????????System.out.println(graph.getRootObject());
????}
????
//
server?side?update?changed?objects
????
public
?
static
?
void
?update(DataGraph?dataGraph)?
{
????????ChangeSummary?changeSummary?
=
?dataGraph.getChangeSummary();
????????
for
?(Iterator?it?
=
?changeSummary.getChangedDataObjects().iterator();?it
????????????????.hasNext();)?
{
????????????DataObject?changedObject?
=
?(DataObject)?it.next();
????????????System.out.println(
"
Update?for?
"
?
+
?changedObject);
????????????
for
?(Iterator?settingIt?
=
?changeSummary.getOldValues(changedObject)
????????????????????.iterator();?settingIt.hasNext();)?
{
????????????????ChangeSummary.Setting?changeSetting?
=
?(ChangeSummary.Setting)?settingIt
????????????????????????.next();
????????????????System.out.println(
"
?(changed?
"
????????????????????????
+
?changeSetting.getProperty().getName()?
+
?
"
?from?\
""
????????????????????????
+
?changeSetting.getValue()?
+
?
"
\
"
?to?\
""
????????????????????????
+
?changedObject.get(changeSetting.getProperty())
????????????????????????
+
?
"
\
"
)
"
);
????????????}
????????}
????}
}
輸出:
org.steeven.family.impl.家庭Impl@9664a1?(title:?my?family)
Update?for?org.steeven.family.impl.個(gè)人Impl@1729854?(姓名:?sophie,?性別:?男)
Update?for?org.steeven.family.impl.家庭Impl@9664a1?(title:?my?family)
?(changed?title?from?"null"?to?"my?family")
?(changed?兔崽子?from?"[]"?to?"[org.steeven.family.impl.個(gè)人Impl@1729854?(姓名:?sophie,?性別:?男)]")
SDO生成的代碼似乎更加純凈一點(diǎn),沒有很多的eXxxx()方法(有需要的也可以取到)。
據(jù)說(shuō)log的開銷比較大,不建議對(duì)大量數(shù)據(jù)使用。
發(fā)表于 2006-05-15 19:00
steeven
閱讀(1818)
評(píng)論(5)
編輯
收藏
所屬分類:
胡思亂想
、
學(xué)習(xí)筆記
評(píng)論
#
re: 編程使用SDO[EMF兄弟篇]
看不懂
李健愉
評(píng)論于 2007-02-28 21:35
回復(fù)
更多評(píng)論
#
re: 編程使用SDO[EMF兄弟篇]
你好,最近正在研究SDO,現(xiàn)在已經(jīng)實(shí)現(xiàn)先根據(jù)XSD文件生成了SDO API CODE。
不知道該怎樣往數(shù)據(jù)庫(kù)里邊增刪改查。。。如果有DEMO。
麻煩請(qǐng)發(fā)送到1984prince@163.com
小弟先謝了。
1984prince
評(píng)論于 2008-06-24 10:46
回復(fù)
更多評(píng)論
#
re: 編程使用SDO[EMF兄弟篇]
我也在研究soa,如果你有sdo方面的代碼,麻煩您給我一份作為參考,謝謝
litao
評(píng)論于 2008-07-03 16:00
回復(fù)
更多評(píng)論
#
re: 編程使用SDO[EMF兄弟篇]
我也在研究soa,如果你有sdo方面的代碼,麻煩您給我一份作為參考,謝謝
郵箱: litao5168@sohu.com 謝謝
litao
評(píng)論于 2008-07-03 16:00
回復(fù)
更多評(píng)論
#
re: 編程使用SDO[EMF兄弟篇]
最近也在看這個(gè),有沒有好點(diǎn)的文章和代碼啊,有的話麻煩給些,謝謝,郵箱:
huanggenping2002@163.com
zebrahgp
評(píng)論于 2008-10-16 19:52
回復(fù)
更多評(píng)論
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
db4o,沒有主鍵?
YY一下未來(lái)的用戶界面
gwt和echo2的對(duì)比
轉(zhuǎn)貼:Comparing the Google Web Toolkit to Echo2
編程使用SDO[EMF兄弟篇]
EMF編程使用
Java版2006新春祝福
奢談未來(lái)的java語(yǔ)言。。。
CALENDER
<
2008年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(10)
給我留言
查看公開留言
查看私人留言
隨筆分類
學(xué)習(xí)筆記(11)
(rss)
程序點(diǎn)滴(16)
(rss)
胡思亂想(8)
(rss)
隨筆檔案
2009年5月 (1)
2006年12月 (1)
2006年7月 (2)
2006年6月 (7)
2006年5月 (8)
2006年4月 (2)
2006年3月 (1)
2006年1月 (2)
2005年12月 (1)
文章檔案
2006年8月 (1)
相冊(cè)
annotation_wizard
samples
我的鏈接
我在csdn上的窩
(rss)
很久沒打理了
我在MSN上的窩
(rss)
我在博客園的窩
(rss)
我在天涯上的窩
搜索
最新評(píng)論
1.?re: 編程使用SDO[EMF兄弟篇]
最近也在看這個(gè),有沒有好點(diǎn)的文章和代碼啊,有的話麻煩給些,謝謝,郵箱:
huanggenping2002@163.com
--zebrahgp
2.?re: SNMP親密接觸
請(qǐng)問,我在接收Trap時(shí),同時(shí)有多個(gè)設(shè)備發(fā)送,在同一時(shí)間接收到的會(huì)有丟失的情況,怎么解決呢?snmp4j自帶的ThreadPool類有沒有在這方面起到多線程作用?
--analyser
3.?re: 編程使用SDO[EMF兄弟篇]
我也在研究soa,如果你有sdo方面的代碼,麻煩您給我一份作為參考,謝謝
郵箱: litao5168@sohu.com 謝謝
--litao
4.?re: 編程使用SDO[EMF兄弟篇]
我也在研究soa,如果你有sdo方面的代碼,麻煩您給我一份作為參考,謝謝
--litao
5.?re: 編程使用SDO[EMF兄弟篇]
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--1984prince
Powered By:
博客園
模板提供
:
滬江博客
主站蜘蛛池模板:
亚洲AV无码专区在线亚
|
婷婷国产偷v国产偷v亚洲
|
最近最好的中文字幕2019免费
|
亚洲久热无码av中文字幕
|
精品亚洲一区二区三区在线播放
|
久久久久免费精品国产小说
|
中文字幕亚洲码在线
|
亚洲一区二区三区香蕉
|
国产成人免费在线
|
伊人久久国产免费观看视频
|
亚洲第一香蕉视频
|
亚洲福利精品电影在线观看
|
亚洲网站免费观看
|
全部在线播放免费毛片
|
亚洲国产成人精品无码一区二区
|
国产真人无码作爱免费视频
|
亚洲伊人色一综合网
|
亚洲欧洲日本在线
|
久久九九兔免费精品6
|
杨幂最新免费特级毛片
|
亚洲二区在线视频
|
亚洲色精品88色婷婷七月丁香
|
成人免费视频一区
|
最近高清中文字幕免费
|
久久er国产精品免费观看8
|
亚洲国产成人综合精品
|
亚洲AV男人的天堂在线观看
|
亚洲综合色在线观看亚洲
|
毛片基地免费视频a
|
99热在线观看免费
|
2022免费国产精品福利在线
|
亚洲欧美第一成人网站7777
|
eeuss在线兵区免费观看
|
亚洲情A成黄在线观看动漫软件
|
亚洲精品午夜无码电影网
|
全部免费毛片在线
|
四虎影院免费视频
|
日韩视频在线精品视频免费观看
|
最新国产乱人伦偷精品免费网站
|
亚洲av片不卡无码久久
|
亚洲精品无码久久久久久久
|