使用EMF持久化和WTP持久化EMF对象两种方案的模型区别

EMF学习笔记(三)——使用EMF编程——持久化 持久化Persistence 持久化框架的概述 EMF持久化API XML资源XML Resources EMF资源和资源工厂实现 性能考量 主动对象的定制存储Custom Storage for Active OBjects 持久化(Persistence)   EMF拥有一个强大的模型持久化框架。通过一个高度可定制资源实现(resource implementation)来支持 阅读详情
eclipse WTP项目提供了一个对使用EMF建立的model的保存方案.

这里是我自己写的一个小例子,一个datasource里包含若干个table,存在两种类型的table:ltable和stable,table又可以包含若干column。假设一个样本XML文档如下:

 

<?xml version="1.0" encoding="UTF-8"?>

<data-source>

    <table type="ltable" name="lt1" depart="xxx">

       <column name="some">

       </column>

    </table>

    <table type="stable" name="st1" age="1">

       <column/>

    </table>

</data-source>

 

那么我会马上使用EMF这样建立model:


这样用EMF的办法保存没有问题。

 

但是如果要使用WTP提供的框架来保存EMF生成的对象,这样的模型好象没有办法做到。因为WTP没有办法区分LTable和Stable。

 

如果一定要继承,那么应该这样用EMF建模:



如果这样建模,那么WTP持久化的结果如下所示:

<?xml version="1.0" encoding="UTF-8"?>

<data-source>

       <ltable name="lt1" depart="xxx">

           <column name="some"/>

       </ltable>

       <stable name="st1" age="1">

           <column/>

       </stable>

</data-source>

 

明显不符合要求,因为产生了两种element(ltable和stable)。而且建立的模型也不符合常规。

 

解决办法:

不使用继承,如下所示:



这样通过UI来控制类型的选择和编辑,就可以达到要求。

EMF提供的持久化功能的优点是方便,快速。但是保存结果对用户来说复杂了一点。而且在多页面编辑器中,xml代码不能同步(如果手工编辑xml代码,那么在图形化编辑器下再修改并保存后会重新格式化xml代码)。

WTP提供的持久化功能优点是可以完全定制结果。保存结果简单。而且在多页面编辑器中是同步的。只是要多做一些工作。

 

我还是比较倾向用WTP提供的框架来保存EMF生成的对象。

参考:

Persisting EMF models with WTP

http://www.eclipse.org/articles/Article-WTP-Persisting-EMF/persisting.html

emf转bmp代码 emf转bmpemf 立即下载

相关推荐

故障诊断知识库建设指南

从数据融合到知识图谱构建,从智能推理引擎开发到动态进化机制落地,故障诊断知识库的建设路径已形成 “数据 - 知识 - 智能” 的闭环体系。随着大模型技术的深度融入,知识库将实现从 “规则驱动” 到 “认知推理” 的跨越 —— 通过自然语言理解解析复杂故障描述、多模态分析融合图像与信号数据、预测性算法推演故障发展趋势,持续提升诊断的精准度与前瞻性。

极昆仑智慧 1232

EMF学习笔记(四)——使用EMF编程——持久化(续)

持久化Persistence 持久化框架的概述 EMF持久化API XML资源 默认序列化格式 反序列化 选项 动态EMF 扩展的元数据 其他特征 EMF资源和资源工厂实现 性能考量 主动对象的定制存储 持久化(Persistence) 持久化框架的概述 EMF持久化API XML资源   EMF针对基于XML资源的基础接口,XMLResource,扩展Resourc

司马如若搬砖处 1845

从零到一:YOLOv11高帧率模型在RDK X5上的ONNX转换与部署实战

本文详细介绍了将最新的YOLOv11高帧率模型部署到地平线RDK X5开发板的完整实战流程。内容涵盖从PyTorch模型导出ONNX、地平线工具链环境配置与模型量化编译,到编写高效的板端推理代码,并针对高帧率目标进行了后处理优化。通过实战避坑指南,帮助开发者在RDK X5上实现30FPS以上的实时目标检测。

weixin_29089057的博客 139

EMF中的模型保存一

使用EMF生成模型代码时,通常Eclipse会有一个缺省的保存格式。 在保存模型时,EMF会把根据模型生成一个EMF的Resource,然后用这个Resource来进行保存与加载。 在EMF中通常使用的Resource类型有:XML和XMI。在使用genmodel生成代码之前,我们可以设置要使用的Resource类型: None Basic XML XMI 如果选择None,则没有Resou...

刘刚的空间 566

【Clickhouse从入门到精通】第60篇:ClickHouse生态总结与未来展望

ClickHouse系列收官总结 本文作为《ClickHouse从入门到精通》系列的第60篇收官之作,系统回顾了整个系列的知识体系。文章从基础概念到高级应用,全面梳理了ClickHouse的核心技术: 知识体系:完整回顾了60篇文章的知识图谱,包括列式存储原理、MergeTree引擎家族、分布式架构等核心内容 生态工具:详细盘点了ClickHouse的企业版工具、运维监控、数据集成和可视化方案 版本演进:分析了从21.x到24.x的主要版本特性升级 未来趋势:展望了向量化引擎、湖仓一体、AI集成等发展方向

xyghehehehe的专栏 442

Zigbee开发环境搭建:从驱动安装到程序烧录全指南

本文提供了一份详尽的Zigbee开发环境搭建全指南,涵盖从驱动安装到程序烧录的完整流程。重点介绍了使用SmartRF Flash Programmer和仿真器进行程序下载的关键步骤,并详细说明了USB转串口驱动的配置方法,帮助开发者快速构建稳定的Zigbee开发基础。

weixin_29195217的博客 394

Eclipse平台中EMF的使用

本文介绍了EMF(Eclipse Modeling Framework),给出了用EMF开发Eclipse插件的一般步骤。 使用的软件及插件版本Eclipse 3.1、什么是EMF?为什么我们要用EMF?EMF用于定义和实现结构化数据模型。所谓数据模型就是用来处理应用中需要处理的数据的一组相关类。使用EMF的好处1.          代码生成。根据模型的定义生成可用数据模型的所有代码。EMF依照

科华在线 1万+

AUTOSAR RTE配置实战:从ECU分区到Task映射的完整指南

本文提供了一份AUTOSAR RTE配置的完整实战指南。从创建ECU分区、定义OS任务,到实现Runnable Entity与Task的精确映射,详细解析了每一步的操作要点与常见陷阱。文章结合配置工具界面,旨在帮助开发者高效完成RTE配置,确保系统实时性与数据一致性,是掌握AUTOSAR核心开发流程的实用参考。

weixin_29228203的博客 486

java emf持久化_JPA级联持久化

级联持久化用于指定如果实体持久化,则其所有关联的子实体也将被持久化。 以下语法用于执行级联持久性操作 -@OneToOne(cascade=CascadeType.PERSIST)JPA级联持久化示例在这个例子中,我们将创建两个相互关联的实体类,但要建立它们之间的依赖关系,我们将执行级联操作。这个例子包含以下步骤 -第1步: 在com.yiibai.jpa.student包下创建一个名为Stude...

weixin_35679331的博客 179

基于STM32L4XX、HAL库的ICP-10111压力传感器驱动程序设计

define ICP10111_CMD_MEAS_ULN 0x7866 // 超低噪声模式。#define ICP10111_CMD_MEAS_LP 0x609C // 低功耗模式。#define ICP10111_CMD_MEAS_LN 0x70DF // 低噪声模式。#define ICP10111_CMD_MEAS_N 0x6825 // 正常模式。ICP10111_MODE_LN, // 低噪声。// 等待测量完成(根据模式不同等待时间不同)

zhusl6688的博客 417

SQL中的时间计算:员工每日工作时长

摘要:本文介绍了一个使用SQL查询计算员工每日工作时长的实用方法。通过分析包含员工打卡记录的数据库表,利用CTE(公共表表达式)将日期分组,计算最早和最晚打卡时间差,最终以"小时:分钟"格式输出工作时长。该方法适用于每日两次打卡的场景,并提示了处理漏打卡等特殊情况时的注意事项,为企业考勤管理提供了有效的数据支持方案。(148字)

m0_74337424的博客 413

EMF学习笔记1——模型实体类

<br />EMF是基于两种元模型来构建的,分别是Ecore和Genmodel。<br /> <br /> <br /><br />Ecore:主要用于定义模型结构的相关信息,并对外提供了一个根对象(犹如XML文件的根节点)用来代表要显示的模型,该对象的子节点为package(包

JavaMan_chen的专栏 4672

机器人中的数值优化(十三)——QP二次规划

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例

慕羽★的博客 2793

EMF Model Memo

EMF - Eclipse Model Framework, that can help you modeling your data model and creating Java code from it. EMF has a meta-model which includ...

195

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

EMF模型文件对比/比较(emf.compare)

如果使用Text形式比较EMF模型文件,对于模型的移动,不能很好的处理。如果使用EMF-compare则能很清晰的展现这种差异,对于团队协作对比/查看 修改的内容很有用。   dev环境搭建: 1、获取emf.compare的源码, https://github.com/eclipse/emf.compare 2、获取google的相关插件(恰好RAP插件中有,我就直接用了。也可以从下...

iteye_10853的博客 625

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

eps、emf等图片格式转换

1.将图片格式转化为eps的方法:在图片的目录,按住shift+鼠标右键,选择“在此处打开命令窗口”的选项,在该cmd输入bmeps  -c  image1.jpg image2.eps其中-c是使图片彩色输出,其中image1为原图,image2为所要输出的eps格式的图。 2.论文图片格式一些讨论:常用图片格式:jpg、png、bmp、emf、eps等·其中jpg压缩率高,优点是文件体积小但是

brave_stone的博客 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

围绕EMF探索(1)之存储和查询

围绕EMF探索(1)之存储       EMF(Eclipse Modeling Framework)的应用会越来越多,而围绕EMF的query, validate, transaction, persistency等等讲逐渐被大家使用,以及EMF eCore也有非常大的参考价值。今天先讲讲EMF的存储与查询方面的内容。首先讲讲EMF对象的存储       这两天抽空玩了玩EMF的对象存储

游弋在移动互联网的银狐999 5639

GWT中如何将EMF对象存储为XMI/从XMI反序列化为对象

由于GWT对XML解析的支持并不够,以及并没有提供java对象的反射,因此EMF对象的序列化/反序列化是一个世界难题。 幸运的是,gwt-html5-graph项目(http://code.google.com/p/gwt-html5-graph/)成功的解决了此问题。 我们来首先看一下gwt-html5-graph中是如何将EMF对象存储为XMI的: 1、假设我们以及创建了一个EMF对象c

443

第18章 MetaFile

MetaFile 壹佰软件开发小组  整理编译   MetaFile和向量图形的关系,就像位图和位映像图形的关系一样。位图通常来自实际的图像,而MetaFile则大多是通过计算机程序人为建立的。MetaFile由一系列与图形函数呼叫相同的二进制记录组成,这些记录一般用于绘制直线、曲线、填入的区域和文字等。 「画图(paint)」程序建立位图,而「绘图...

心情第一 2730

EMF的一些总结(3)——关于Resource的实现

Resource通过两种方式实现XML和XMI。1.XML实现Resource存储的重要方法是save, 只有在方法eIsSet()返回true时,相关的属性和引用才会被序列化到xml中。对于存储的xml文件的格式可以通过设置OPTION_XML_MAP属性来完成,如下面原文: There are several reasons why you might want to use OPTION_X...

老付 209

SWT中的FormLayout

 象其它的layout类一样,FormLayout用的data类是:FormData。FormData用另外一个类来控制窗口小部件的大小和位置: FormAttachment.一个FormData最多用4个FormAttachment,它们分别对应这个小部件的4个面:顶部,底部,左边和右边。FormAttachment定义了小部件在parent composite或是这个composite里其它部

Unplugged 7521

eclipse超cool新特性--JFace Data Binding

现在eclipse M4已经出来了,其中一个最cool的非UI特性就是JFace data binding framework.在M5发布的时候JFace binding小组会结束data binding API的开发.到现在为止,大量我们可以用到JFace data binding的例子在test包里。关于JFace data binding framework,在下面的网址可以找到具体的文档.

Unplugged 7240

解决eclipse安装插件时出现重复安装错误问题的小插件

因为现在eclipse插件是如此多,而且许多插件相当优秀,因此我们可以看到许多插件被其它插件使用。比如eclipse下的EMF和GEF,就是不少插件的基础。这两天装插件,碰到点问题,就是如果某插件比如EMF,我已经安装过,那么我要新安装的插件如果也包含EMF的话,每次启动时Error Log会出现一大堆错误日志,象这样:ErrorThu Aug 17 15:01:07 CST 2006Could

Unplugged 7029
上一篇: Xmanager and VNS Config how-to
下一篇: 使用WTP跨文件持久化EMF对象
W1nt3rs
W1nt3rs 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄22年 977粉丝 301原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值