中国式的emf(gef)建模,带来的问题,,以下是中国式的建模
---------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<action:Diagram xmlns:action="http://www.j.com/action">
<logic name="业务逻辑1" description="" location="Point(290, 76)" size="Dimension(150, 40)" logicClass="">
<link to="//@logic.1"/>
<link to="//@logic.2"/>
</logic>
<logic name="业务逻辑2" description="" location="Point(278, 273)" size="Dimension(150, 40)" logicClass=""/>
<logic name="业务逻辑" description="" location="Point(61, 263)" size="Dimension(150, 40)" logicClass=""/>
</action:Diagram>
----------------------
从模型看是很票啦的,<link to="//@logic.1"/>指向<logic name="业务逻辑2" description="" location="Point(278, 273)"

但到了gef编码的时候,就容易出现编码了,因为你在建立连线的时候,在命令里面一般是这样实现:
link = ActionFactory.eINSTANCE.createLink();
link.setTo(target);
source.getLink().add(link);

注意这里,只是设置source.getLink().add(link); 就可以满足模型的需求了,当代码执行到source.getLink().add(link);的时候,就会出发souce这个监听器,,然后就是刷新连接,
但这个刷新连接都是source刷新,就算你执行了refreshTargetConnections也没用,因为这个执行的的对象是source对象editpart,而不是taget,,

那怎样触发taget所对应的editpart刷新呢?

如果你看一些经典的例子,你会发现别人的连线命令是这样:
source.getOutgoingConnections().add(connection);
target.getIncomingConnections().add(connection);

学别人,就在画线命令里面多加一项对taget模型的改动代码即可,,
例如:target.setId(target.getId()); 就是拿些无关重要的熟悉(最好是少被操作的属性)重置下值,既可以触发和source一样的动作,,也会走到notifyChanged方法上面去,然后多加一个判断:
case ActionPackage.NODE__ID:
refreshTargetConnections();
break;

即可。
感觉模型文件(指生成的结果那个,例如上面那个)和代码,不能都那么完美,要么,把中国式的模型改改,这样代码就没那么别扭,要么就类似我的做法。

中国式的emf(gef)建模,带来的问题相关推荐

  1. EMF+GEF的属性页问题

    最近有朋友问使用EMF作为GEF模型时,如何在选中editpart时在属性页里显示属性的问题.是的,因为GEF是这样判断是否填充属性 页的: public Object getAdapter(Clas ...

  2. 数学建模带来的商业机会和职业发展前景,你知道吗?

    目录 1.数学建模CUMCM 2.个人介绍 3.欢迎关注 1.数学建模CUMCM ​欢迎来到"数学建模CUMCM"公众号,本公众号致力于分享和推广数学建模相关知识,帮助读者提高数学 ...

  3. GEF+EMF Step By Step

    转载着,留着用 学习GEF+EMF的曲线还是比较陡峭的,建议按照以下步骤来学(要求先熟悉Eclipse插件开发): Step 1:最经典的资料莫过于IBM的红宝书sg246302.pdf了,建议Dow ...

  4. Eclipse Modeling Framework, 2nd Edition. (EMF)学习笔记(一)——EMF介绍

    EMF介绍 为了理解EMF究竟是什么,你只需要知道一件事:"模型"(model)是什么?"模型"的目的是什么? EMF不要求全新的方法论亦或是任何复杂的建模工具 ...

  5. 阿里广告技术最新突破:全链路联动-面向最终目标的全链路一致性建模

    ©作者 | 王哲 单位 | 阿里妈妈展示广告算法专家 研究方向 | 广告/推荐/深度学习/NLP 引言 深度学习时代的到来给搜推广业务带来了一波巨大的红利,一方面是深度学习模型带来的技术红利,另一方面 ...

  6. KDD 2021 | 一种使用真负样本的在线延迟反馈建模

    ▐  摘要 电商场景的多目标模型预估,包括加购率,转化率,进店,时长等等.在展示广告领域,多目标体现了广告主对自己真实诉求的表达,因此,多目标模型既是技术项目,也有强烈的业务属性.广告排序系统,从上到 ...

  7. 深度学习数据集制作_深度学习时代的数据驱动建模之探讨

    数据驱动三维建模的方法分类 从方法学角度来看,数据驱动的三维建模大致可分为两类:参数方法(parametric methods)和非参数方法(non-parametric methods). 参数方法 ...

  8. 阿里广告技术最新突破!全链路联动——面向最终目标的全链路一致性建模

    作者 | 王哲,阿里妈妈展示广告算法专家 整理 | NewBeeNLP 1. 引言 深度学习时代的到来给搜推广业务带来了一波巨大的红利,一方面是深度学习模型带来的技术红利,另一方面是GPU/NPU等硬 ...

  9. 水箱建模最小二乘法_Comsol Multiphysics for Mac(建模仿真软件)

    COMSOL Multiphysics 是一款全球通用的基于高级数值方法和模拟物理场问题的通用软件,拥有.网格划分.研究和优化.求解器.可视化和后处理.仿真 App等相关功能,轻松实现各个环节的流畅进 ...

最新文章

  1. (012) java后台开发之Apache与Tomcat有什么关系和区别
  2. 5.用户APC执行过程
  3. 什么是顺序一致性呢?
  4. 秒杀多线程第七篇 经典线程同步 互斥量Mutex
  5. linux命令 dstat,关于linux:每天学一个-Linux-命令103dstat
  6. 真正的Google搜索
  7. 金山办公上市,雷军心愿了却!
  8. 构建高性能数据库缓存之redis主从复制
  9. 89c51汇编语言流水灯,汇编语言流水灯
  10. 【VScode】优雅地将代码打印为 PDF
  11. 音轨分离软件 Spleeter 使用教程及踩过的坑
  12. 全网最详细ANSYS Maxwell16下载及安装
  13. 北华大学c语言题库百度云,北华大学C语言题库精简打印版(全).docx
  14. C语言运算符优先级(超级详细)
  15. 萤石云 android,Android-再次解读萤石云视频
  16. Make sure that `gem install libv8 -v '3.16.14.3'` succeeds before bundling.
  17. 怎么用u盘重装系统?石大师u盘重装win10系统步骤
  18. Eclipse报错:The import org.apache cannot be resolved
  19. 硬盘提示设备未就绪要如何办啊
  20. python量化实战 顾比倒数线_龙腾四海:顾比倒数线+顾比均线

热门文章

  1. centos中多台主机免密登录_centos免密码使用密钥登录
  2. POSIX线程专有数据的空间释放问题,pthread_key_create
  3. Linux PPP实现源码分析-2
  4. 三星U-Boot-1.1.6源码分析lowlevel_init.S (board\samsung\smdk6410)
  5. 彻底学会Spring的IOC和AOP——理论+实操
  6. 选择开还是关 pxe_商用披萨(53)开披萨店是选择加盟还是自创品牌呢?
  7. java二叉树原理_史上最全二叉树遍历详解(Java实现,原理相同)
  8. 【LeetCode】剑指 Offer 33. 二叉搜索树的后序遍历序列
  9. 硬币最小数量java
  10. 项目Beta冲刺(团队1/7)