中国式的emf(gef)建模,带来的问题
中国式的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)建模,带来的问题相关推荐
- EMF+GEF的属性页问题
最近有朋友问使用EMF作为GEF模型时,如何在选中editpart时在属性页里显示属性的问题.是的,因为GEF是这样判断是否填充属性 页的: public Object getAdapter(Clas ...
- 数学建模带来的商业机会和职业发展前景,你知道吗?
目录 1.数学建模CUMCM 2.个人介绍 3.欢迎关注 1.数学建模CUMCM 欢迎来到"数学建模CUMCM"公众号,本公众号致力于分享和推广数学建模相关知识,帮助读者提高数学 ...
- GEF+EMF Step By Step
转载着,留着用 学习GEF+EMF的曲线还是比较陡峭的,建议按照以下步骤来学(要求先熟悉Eclipse插件开发): Step 1:最经典的资料莫过于IBM的红宝书sg246302.pdf了,建议Dow ...
- Eclipse Modeling Framework, 2nd Edition. (EMF)学习笔记(一)——EMF介绍
EMF介绍 为了理解EMF究竟是什么,你只需要知道一件事:"模型"(model)是什么?"模型"的目的是什么? EMF不要求全新的方法论亦或是任何复杂的建模工具 ...
- 阿里广告技术最新突破:全链路联动-面向最终目标的全链路一致性建模
©作者 | 王哲 单位 | 阿里妈妈展示广告算法专家 研究方向 | 广告/推荐/深度学习/NLP 引言 深度学习时代的到来给搜推广业务带来了一波巨大的红利,一方面是深度学习模型带来的技术红利,另一方面 ...
- KDD 2021 | 一种使用真负样本的在线延迟反馈建模
▐ 摘要 电商场景的多目标模型预估,包括加购率,转化率,进店,时长等等.在展示广告领域,多目标体现了广告主对自己真实诉求的表达,因此,多目标模型既是技术项目,也有强烈的业务属性.广告排序系统,从上到 ...
- 深度学习数据集制作_深度学习时代的数据驱动建模之探讨
数据驱动三维建模的方法分类 从方法学角度来看,数据驱动的三维建模大致可分为两类:参数方法(parametric methods)和非参数方法(non-parametric methods). 参数方法 ...
- 阿里广告技术最新突破!全链路联动——面向最终目标的全链路一致性建模
作者 | 王哲,阿里妈妈展示广告算法专家 整理 | NewBeeNLP 1. 引言 深度学习时代的到来给搜推广业务带来了一波巨大的红利,一方面是深度学习模型带来的技术红利,另一方面是GPU/NPU等硬 ...
- 水箱建模最小二乘法_Comsol Multiphysics for Mac(建模仿真软件)
COMSOL Multiphysics 是一款全球通用的基于高级数值方法和模拟物理场问题的通用软件,拥有.网格划分.研究和优化.求解器.可视化和后处理.仿真 App等相关功能,轻松实现各个环节的流畅进 ...
最新文章
- (012) java后台开发之Apache与Tomcat有什么关系和区别
- 5.用户APC执行过程
- 什么是顺序一致性呢?
- 秒杀多线程第七篇 经典线程同步 互斥量Mutex
- linux命令 dstat,关于linux:每天学一个-Linux-命令103dstat
- 真正的Google搜索
- 金山办公上市,雷军心愿了却!
- 构建高性能数据库缓存之redis主从复制
- 89c51汇编语言流水灯,汇编语言流水灯
- 【VScode】优雅地将代码打印为 PDF
- 音轨分离软件 Spleeter 使用教程及踩过的坑
- 全网最详细ANSYS Maxwell16下载及安装
- 北华大学c语言题库百度云,北华大学C语言题库精简打印版(全).docx
- C语言运算符优先级(超级详细)
- 萤石云 android,Android-再次解读萤石云视频
- Make sure that `gem install libv8 -v '3.16.14.3'` succeeds before bundling.
- 怎么用u盘重装系统?石大师u盘重装win10系统步骤
- Eclipse报错:The import org.apache cannot be resolved
- 硬盘提示设备未就绪要如何办啊
- python量化实战 顾比倒数线_龙腾四海:顾比倒数线+顾比均线
热门文章
- centos中多台主机免密登录_centos免密码使用密钥登录
- POSIX线程专有数据的空间释放问题,pthread_key_create
- Linux PPP实现源码分析-2
- 三星U-Boot-1.1.6源码分析lowlevel_init.S (board\samsung\smdk6410)
- 彻底学会Spring的IOC和AOP——理论+实操
- 选择开还是关 pxe_商用披萨(53)开披萨店是选择加盟还是自创品牌呢?
- java二叉树原理_史上最全二叉树遍历详解(Java实现,原理相同)
- 【LeetCode】剑指 Offer 33. 二叉搜索树的后序遍历序列
- 硬币最小数量java
- 项目Beta冲刺(团队1/7)