`
yiliner
  • 浏览: 210187 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
1. GEF的View实际上包含有很多部分,而不仅仅只是figure:  还包括visual parts, feedback, handles, toolipts等等. It includes the visual part, which serves as the primary representation for the model object(s).  The most flexible visual parts are Figures from draw2d.  GEF also provides support for SWT TreeItems, but support for ...
在EMF中进行模型对象通知的时候,有时候不仅仅模型对象改变时需要得到通知,模型对象的子对象(通过Containment关系包含起来的)发生改变的时候,也希望能够得到同样的通知。简单的实现方式可以创建一个Adapter,通过递归的方式将其注册在这个模型对象树的每一个节点对象上,但是那样做比较复杂,要同时处理添加和删除Adapter的工作。   在EMF中提供了变通的方式,可以使用EContentAdapter类来帮助完成这个任务。如下例所示:          public class ComponentAdapter extends EContentAdapter {               ...
一个emf新手的学习笔记 --EMF 生成的代码阅读笔记(二) EMF不光为我们生成了模型类的代码。还为我们提供了一个默认的模型编辑器。要看到这个模型编辑器我们只需要运行一下就可以看到了(用Eclipse Application的方式)。共有三个部:1.       编辑器的主体。包括六种呈现方式。a)       Selection.b)     Parent.c)     List.d)     Treee)       Tablef)       Tree With Columns.2.       Outline部分。Properties,会根据选择不同的对象而改变显示的内容。关于Jfa ...
一个emf新手的学习笔记 --EMF 生成的Model Code阅读笔记(一) 在八进制的中讲述了从模型到应用程序的生成过程。我通过类似的方法生成了一个应用程序。代码生成后,我就想看看EMF为我生成了什么样的代码。我如果需要修改的话该如何修改。我的“Hellow world”是采用的“Using EMF”文中的模型。根据这个模型建立了一个EMF Model:根据这个模型生成model class的结构如下图所示:从图中我们可以看到有三个包:他们分别是:family,family.impl和family.util。family和family.impl包之间的差别就是一个是Interface,另外 ...
帮忙看看下面有关压缩及加密的问题,实在找不出原因,折腾了一整天了,请哪位知道的点拨一下可能的原因,小弟感激不尽!!Map options = new HashMap();options.put(XMIResource.OPTION_ENCODING, "UTF-8");options.put(XMIResource.OPTION_ZIP, Boolean.TRUE);options.put(Resource.OPTION_CIPHER, new CryptoCipherImpl("0123456789"));try {    resource.save(o ...
比如我的模型中有一个Class叫 Enumeration, 它在我的程序中实际上是整个模型的根.现在我需要在由EMF生成的Editor中得到该类的实例,不如该如何实现?比如我可以通过XXXPackage.eINSTANCE.getEnumeration() 得到 其对应的Eclass,不过不知道如何得到其对应的Eobject?或者有什么其它的方法实现我的需要? 1.可以用以下代码得到根:(Resource)getEditingDomain().getResourceSet().getResources().get(0)).getContents()不过各位大侠是否有更好的方法? 2.就是这么得到 ...
EMF保存数据都是通过Resource来保存的,Resource的接口有个load 和save方法load(Map options)save(Map options)这个map是需要你设置一些选项,例如Map options= new HashMap();map.set(Resource.OPTION_ZIP,"true");resource.save(options);那么保存后的文件就是压缩格式了。如果 options.put(Resource.OPTION_CIPHER, new CryptoCipherImpl("a very long key indeed ...
XSD to Ecore connection Mapping 关键字: xsd emf ecore 在MBI的intern主题就是做关于Model driven的工作,其中大部分是插件、rcp的开发,用的技术也主要是EMF,GEF和GMF。其中,EMF是基础,领域模型总是要放在最前面。EMF的对建模提供了好几种方式,用UML工具、java annotation,xmi,xsd等。当然,用UML工具,如EclipseUML是最方便的了。可是如果应用要涉及到xml的话,还是用xml schema吧,而且xml schema也是比较简单的。      虽然xsd的学习成本不大,不过对于xsd和 ...

修改GMF属性视图

    博客分类:
  • GMF
           上图中紫色的椭圆结点在ecore模型中代表Method,在属性视图中可见它的一些属性。如果要使TimeProperty属性值为"NONE" 时,TimeUnit和Value值分别变为"NONE"和0.0,应该如下修改MethodItemProvider类中的 notifyChanged()方法(紫色的代码是添加的,其他均为GMF生成的):     public void notifyChanged(Notification notification) {        updateChildren(notification);
GMF中的Link有两个,分别是基于Type的和基于Reference的。对于前者,在ecore模型中有一个类对应这个连接,创建一个连接即创建了该类的一个实例,试想,如果一个模型比较复杂,有很多连接时,这种方法要在模型中要为连接建立很多与业务无关的类,使得模型非常复杂;对于后者,没有必要为每个连接在ecore中建立一个类,而是设置该连接对应的Reference即可。下面用一个school的模型来说明基于Reference的连接的建立方法,这个模型非常简单,如下图(用gmf插件生成的对应school.ecore的school.ecore_diagram):一个学校里边有很多老师和学生,每个老师会指 ...
要让GMF编辑器中的图元更加生动,可以通过在gmfgraph中增加一些元素(比如前景色)来定制图元的显示形式,但是有些特征(比如字体)无法仅仅通过gmfgraph来完成,这就需要我们修改GMF生成的Diagram Code来达到所需要的效果。如下图所示:     1.前景色:      图中紫色的椭圆代表Method类型的元素,起前景色可以通过gmfgraph来定制:          2.线条宽度(2),线条种类(LINE_SOLID):        也可以通过修改MethodEditPart中的内部类MethodFigure的构造函数来完成1和2两个特征的定制: public Method ...
  DWR是一个框架,简单的说就是能够在javascript直接调用java方法,而不必去写一大堆的javascript代码。它的实现是基于ajax的,可以实现无刷新效果。     网上有不少DWR的例子,但大都只是某种方法的调用,本文只在使用层面上介绍DWR,并不涉更多的技术与设计,其目的是让初学者能够很快的学会各种java方法在javascript中是如何调用的。     本文以DWR 1.1 为基础,对于DWR 2.0,因为还没有正式发布版,故不做介绍。 一、 dwr配置篇之web.xml    1 、最小配置 <servlet>   <servlet-name ...
原文出处: http://www.javatang.com/archives/2007/12/03/1653250.html作者: Jet Mah from Java堂声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明! 如果没有进行设置的话,在使用MyEclipse的经常出现如 ...
DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务 端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).它的最新版本 DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作. http://getahead.ltd.uk/dwr/ 这段时间较闲,研 ...
Hibernate一共包括了23个jar包,令人眼花缭乱。本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍。 下载Hibernate,例如2.0.3稳定版本,解压缩,可以看到一个hibernate2.jar和lib目录下有22个jar包: hibernate2.jar: Hibernate的库,没有什么可说的,必须使用的jar包 cglib-asm.jar: CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包 dom4j.jar: dom4j是一个Java的XML API,类似于jdom,用来读写 ...
Global site tag (gtag.js) - Google Analytics