- 浏览: 2447003 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (574)
- Book (62)
- Architecture (6)
- Java (39)
- Taobao (41)
- Distributed (4)
- Life (72)
- Database (7)
- Spring (16)
- Photography (15)
- Bicycle (41)
- Test (20)
- jBPM (8)
- Business (12)
- Movie (3)
- Ajax (15)
- Code (7)
- Eclipse (96)
- VIM (2)
- Music (6)
- Groovy (10)
- AutoHotKey (3)
- Dorado (10)
- Maven (7)
- Scrum (5)
- English (20)
- Financial (12)
- OSGi (3)
- Other (4)
- Tool (6)
- Browser (1)
- PPT (1)
- Project Management (4)
- Agile (6)
- Nosql (1)
- Search engine (6)
- Shell (2)
- Open Source (4)
- Storm (10)
- Guava (3)
- Baby (1)
- netty (1)
- Algorithm (1)
- Linux (1)
- Python (2)
最新评论
-
roy2011a:
https://github.com/ebottabi/sto ...
storm的序列化问题及与spring的结合方式 -
roy2011a:
能抗能打 写道哥们儿,你好!能共享下那个storm与sprin ...
storm的序列化问题及与spring的结合方式 -
Alick1:
兄弟,你之前是不是在深圳的正阳公司呆过啊?
storm的ack和fail -
liuleixwd:
先点个赞,写的非常好!有个问题请教下,如果我再bolt里不用e ...
storm的ack和fail -
yao-dd:
solr的facet查询
一般我们在对EMF模型内容进行输出,这里需要进行一些定制,下面是我在项目中做的一些定制,第一个是要将EMF Model输出的xml中去掉一些名称空间的信息,第二个就是希望把某些信息由Attribute类型转换成Content类型,在得到的content类型的内容默认情况下会对<, >, &等字符进行转换,这个也可以进行控制。借鉴EMF开发指南的做法,其实很简单,这里要注意save和load使用的控制选项设置必须一致。
具体做法如下,
因为保存和加载xml是在XMLResourceImpl里面进行的,所以我们需要从该类继承,overriding 相应的load和save方法,然后在使用到XMLResourceImpl的地方改成使用我们的派生之类,在定制的子类中,我们做了如下实现:
具体做法如下,
因为保存和加载xml是在XMLResourceImpl里面进行的,所以我们需要从该类继承,overriding 相应的load和save方法,然后在使用到XMLResourceImpl的地方改成使用我们的派生之类,在定制的子类中,我们做了如下实现:
java 代码
- public void load(Map options) throws IOException {
- super.load(addOptions(options));
- }
- public void save(Map options) throws IOException {
- super.save(addOptions(options));
- }
- /**
- * 设置序列化/反序列化选项
- *
- * @param options
- */
- private Map addOptions(Map options) {
- // 这里的map只应创建一次
- XMLResource.XMLMap xmlMap = new XMLMapImpl();
- EPackage ePackage = Configuration.INSTANCE.getViewEPackage();
- XMLResource.XMLInfo info = new XMLInfoImpl();
- info.setXMLRepresentation(XMLResource.XMLInfo.CONTENT);
- // 将event的内容在attribute和content之间转换
- EClass eClass = (EClass) ePackage
- .getEClassifier(Configuration.EVENT_NAME);
- xmlMap.add(eClass
- .getEStructuralFeature(Configuration.EVENT_ATTRIBUTE_CONTENT),
- info);
- // 在生成的ddxml中去掉namespace声明
- xmlMap.setNoNamespacePackage(ePackage);
- if (options == Collections.EMPTY_MAP) {
- options = new HashMap();
- }
- options.put(XMLResource.OPTION_XML_MAP, xmlMap);
- // 避免对<,>,&等字符进行转换
- options.put(XMLResource.OPTION_SKIP_ESCAPE, Boolean.TRUE);
- return options;
- }
因为我们这里没有对特殊字符进行转换,所以我们需要在生成的content类型的内容加上<![CDATA, ]]>, 这个我们需要生成自己的XMLSaveImpl,然后overriding getContent(EObject o, EStructuralFeature[] features)这个方法:
java 代码
- protected String getContent(EObject o, EStructuralFeature[] features) {
- if (map == null)
- {
- return null;
- }
- for (int i = 0; i < features.length; i++)
- {
- EStructuralFeature feature = features[i];
- XMLResource.XMLInfo info = map.getInfo(feature);
- if (info != null && info.getXMLRepresentation() == XMLResource.XMLInfo.CONTENT)
- {
- Object value = helper.getValue(o, feature);
- String svalue = getDatatypeValue(value, feature, false);
- if (toDOM)
- {
- Node text = document.createTextNode(svalue);
- currentNode.appendChild(text);
- handler.recordValues(text, o, feature, value);
- }else {
- // 将内容前后加上<![CDATA and ]]>
- svalue = "<![CDATA[\n" +svalue + "\n]]>";
- }
- return svalue;
- }
- }
- return null;
- }
当然了还必须在前面自己的XMLResourceImpl类里面重载createXMLSave()方法:
java 代码
- protected XMLSave createXMLSave() {
- return new DoradoXMLSaveImpl(createXMLHelper());
- }
发表评论
-
Java程序员25个必备的Eclipse插件
2012-01-12 22:36 21876原文:http://www.fromdev.com/2012/ ... -
关于插件更新安装的错误
2007-12-21 20:12 2179在更新插件的时候出现这样的错误: Unable to comp ... -
最近做eclipse branding, features的一些经验
2007-12-16 01:24 4464知道eclipse的splash怎么做 ... -
GEF学习笔记
2007-12-07 20:20 4116GEF以前学习过, 而且还 ... -
SWT布局深入学习
2007-11-30 23:00 7901以下内容是学习"The Definitive Gui ... -
Eclipse Action 深入学习笔记(3)
2007-11-25 17:59 4038filter元素是用来指定当 ... -
Eclipse Action 深入学习笔记(2)
2007-11-25 17:14 5147Object Action 这种Action是跟弹出的上下文菜 ... -
Eclipse Action 深入学习笔记(1)
2007-11-25 17:07 7619以前做插件用到的ActionSet都只是依葫芦画瓢,没有真正理 ... -
JFace Text Editor完全掌握之终极指南(4)
2007-11-24 17:08 5623错误标识(Error Marking) Error Marki ... -
JFace Text Editor完全掌握之终极指南(3)
2007-11-24 16:56 5453内容大纲 之所以要给编 ... -
JFace Text Editor完全掌握之终极指南(2)
2007-11-24 16:53 6678最后一步就是实现各种功能 语法高亮 首先我们要实现的是语法高亮 ... -
JFace Text Editor完全掌握之终极指南(1)
2007-11-24 16:17 9929JFace Text Editor是JFace里面一个功能强大 ... -
最近的Eclipse plugin开发总结
2007-11-24 11:30 4893List控件没有提供addDblClickListener方法 ... -
eclipse3.3关于JavaFileEditorInput兼容性问题的解决
2007-11-24 11:22 4635在eclipse3.3中,JavaFileEditor ... -
Eclipse WTP Projects Facets实战指南(2)
2007-11-21 21:13 5200修饰工作 给facet在选择列表中添加图标 格式如下: xml ... -
Eclipse WTP Projects Facets实战指南(1)
2007-11-21 20:21 9540这个文章基本是"Building Project F ... -
也说关于WizardPage的动态生成
2007-11-05 14:26 5122在Eclipse中一个Wizard=Wiza ... -
关于多页编辑器中不同Editor之间的Redo&Undo冲突的解决
2007-09-03 15:17 4030在我们的插件工具的开 ... -
TextEditor原理分析笔记
2007-08-23 15:48 3348Editor的语法着色原理:Eclipse使用damage , ... -
最近的Eclipse开发总结
2007-08-23 15:46 2031java.lang.IllegalAccessError: t ...
相关推荐
更新管理器中的以下 Eclipse p2 存储库(更新站点)(在 Eclipse 中, Help Menu > Install New Software... ,右上角的Add...按钮)提供所有版本的所有版本: 可以使用以下 URL 访问每个EMF版本的版本: 用于EMF...
使用将模型存储在图形数据库中,例如 Neo4J、OrientDB、Titan 等...。 当前版本是 0.3.0。 依赖关系 蓝图 2.6.0 或更高版本 安装 将在 maven central 上可用。 现在做 git clone ...
用法您可以克隆这个存储库并安装 Leiningen 来解析 IMDb 文件,也可以下载一个没有依赖项的预编译 JAR。用法:Git 从下载文件 actor.list.gz、actores.list.gz、movies.list.gz 和 ratings.list.gz,并将它们放在...
电动势休息什么是EMF-... 当前,这些对象然后作为XML文件存储在服务器中。 EMF-REST还生成JavaScript库,以促进客户端上API的管理(例如,使用点符号进行导航)。接下来会发生什么? 我们目前正在努力: 模型管理支持
火龙果软件工程技术中心 围绕EMF探索(1)之存储 EMF(EclipseModelingFramework)的应用会越来越多,而围绕EMF的query,validate,transaction,persistency等等讲逐渐被大家使用,以及EMFeCore也有非常大的参考价值。...
EMF-IncQuery-附加组件模型查询框架。 该存储库中的所有代码都可以在Eclipse Public License v1.0下获得: :
电磁场matlab仿真代码论文“从典型基站同时暴露于无限RF-EMF源”的仿真文件 该存储库有两个文件夹:“ java代码”和“ matlab代码”。 “ matlab代码”文件夹 该文件夹包含用于生成论文图形和表格的Matlab代码。 在...
迁移到 GITHUB:https://github.com/patins1/raas4emf/
EMF片段强调新数据的快速存储和持久化模型的快速导航。 该框架的要求来自实时存储和分析大量传感器数据。 EMF片段不同于基于对象关系映射(ORM)的框架,例如连接数据对象(CDO)。 虽然ORM映射将单个对象,属性和...
并把内容转成图片储存。并将图片传送到服务器机器上,并将打印内容传到服务器上面. 解决方案: 1. 先用api打印函数连接到指定的打印机.再试着用枚举函数()获得打印作业信息.根据信息得知打印的内容,及当前的状态. ...
本系统适用于所有用户,无管理员设置,可以创建多个网络邮箱帐号,可以编辑、接收和发送邮件等,不仅支持文本文件的发送与接收,还支持带附件邮件的发送与接收,支持抄送,还具有通讯录的存储功能。本系统在开发过程...
本系统适用于所有用户,无管理员设置,可以创建多个网络邮箱帐号,可以编辑、接收和发送邮件等,不仅支持文本文件的发送与接收,还支持带附件邮件的发送与接收,支持抄送,还具有通讯录的存储功能。本系统在开发过程...
*.emf)转换为RAW -当源文件不是bmp时可以选择同时将源文件转换为bmp -增加RGB1555格式文件的输出功能 -增加转换耗时显示 -增加将源文件不经过格式转换直接生成C功能(此功能下可以转换任意文件) -在生成的.c文件中...
该存储库包含示例项目,该示例项目演示了的用法。 样品 下表显示了此存储库中可用的示例。 项目 描述 emfjson-jackson-samples 具有EMF Resource API和Jackson API的EMFJson emfjson-gwt-sample EMFJson与GWT ...
同时支持存储为当前几乎所有的图片格式:BMP、JPG、Emf、Exif、Gif、Ico、MemoryBmp、Png、Tiff、Wmf等; 本软件无需安装,下载附件后直接解压缩出可运行文件运行即可,使用方法非常简单便捷;
将luna.target设置为目标平台窗口->首选项->插件开发->目标平台 安装方式: 克隆存储库: : 从文件夹中签出以下项目 插件/ ** 测试/ ** 生成项目(否则它将抱怨找不到Ocl22Parser) 在德累斯顿OCL的根目录上...
加载WMF,EMF和CUR文件格式 加载并保存为AVI, 动态的GIF和多页的TIFF文件格式 读取单独的AVI帧格式 从JPEG和TIFF图像中读取/写入IPTC(IIMV4)信息(像PhotoSho中的文信息)。无需加载XIng或改变原图像就能替换...
从图片,音频,视频文件提取BMP, JPG, GIF, IFF, PNG, PCX, TGA, ICO, CUR, TIFF, EMF, WMF, DDS, 3DS, LWO, TTC, TTF, FON, XM, MOD, WAV, OGG, MP3, MID, S3M, AVI, MPG, DAT, ASF, MOV, FLC, SWF, BIK, SMK, MPQ)...
•从图片,音频,视频文件提取BMP, JPG, GIF, IFF, PNG, PCX, TGA, ICO, CUR, TIFF, EMF, WMF, DDS, 3DS, LWO, TTC, TTF, FON, XM, MOD, WAV, OGG, MP3, MID, S3M, AVI, MPG, DAT, ASF, MOV, FLC, SWF, BIK, SMK, ...