确定元素是 Enterprise Architect 中的叉子还是连接
Identify if an element is a fork or a join in Enterprise Architect
我有一个 activity 图,其中使用了 fork/join 元素。我必须弄清楚该元素是用作分叉还是使用数据库或其 API 的连接。有什么办法可以找到这个吗?
仅通过查看传入和传出连接器的数量。 Fork
正好有一个入边,Join
正好有一个出边。
不太可能,但有可能:如果附有注释,您需要检查(最好总是)连接器是否属于对象类型 and/or 控制流。
在 EA 中它是同一个对象,所以在对象本身你看不到它是一个连接还是一个分支。
所以你需要想出另一种方法来知道它是用作连接还是分支。
不同之处在于链接的控制流
- 分叉:一个传入流,多个传出流
- 加入:多个传入流,一个传出流
我想我会给我们一个 SQL 查询来确定我的对象是用作 Fork 还是用作 Join
检查分叉的查询
select o.Object_ID from t_object o
where o.ea_guid = '{3E91C35F-A454-4282-944C-F07BD0D86F91}'
and 1 = --only one incoming flow
(select count(*) from t_connector c
where c.End_Object_ID = o.Object_ID
and c.Connector_Type = 'ControlFlow')
and 1 < --more than one outgoing flow
(select count(*) from t_connector c
where c.Start_Object_ID = o.Object_ID
and c.Connector_Type = 'ControlFlow')
检查加入的查询
select o.Object_ID from t_object o
where o.ea_guid = '{0CD27AF4-873C-4c64-A230-B40CE57E7F83}'
and 1 < --more than one incoming flow
(select count(*) from t_connector c
where c.End_Object_ID = o.Object_ID
and c.Connector_Type = 'ControlFlow')
and 1 = --exactly one outgoing flow
(select count(*) from t_connector c
where c.Start_Object_ID = o.Object_ID
and c.Connector_Type = 'ControlFlow')
将查询中的GUID替换为疑似Fork/Join的GUID
您可以使用 EA.Repository.SQLQuery()
来执行这些查询。
我有一个 activity 图,其中使用了 fork/join 元素。我必须弄清楚该元素是用作分叉还是使用数据库或其 API 的连接。有什么办法可以找到这个吗?
仅通过查看传入和传出连接器的数量。 Fork
正好有一个入边,Join
正好有一个出边。
不太可能,但有可能:如果附有注释,您需要检查(最好总是)连接器是否属于对象类型 and/or 控制流。
在 EA 中它是同一个对象,所以在对象本身你看不到它是一个连接还是一个分支。
所以你需要想出另一种方法来知道它是用作连接还是分支。
不同之处在于链接的控制流
- 分叉:一个传入流,多个传出流
- 加入:多个传入流,一个传出流
我想我会给我们一个 SQL 查询来确定我的对象是用作 Fork 还是用作 Join
检查分叉的查询
select o.Object_ID from t_object o
where o.ea_guid = '{3E91C35F-A454-4282-944C-F07BD0D86F91}'
and 1 = --only one incoming flow
(select count(*) from t_connector c
where c.End_Object_ID = o.Object_ID
and c.Connector_Type = 'ControlFlow')
and 1 < --more than one outgoing flow
(select count(*) from t_connector c
where c.Start_Object_ID = o.Object_ID
and c.Connector_Type = 'ControlFlow')
检查加入的查询
select o.Object_ID from t_object o
where o.ea_guid = '{0CD27AF4-873C-4c64-A230-B40CE57E7F83}'
and 1 < --more than one incoming flow
(select count(*) from t_connector c
where c.End_Object_ID = o.Object_ID
and c.Connector_Type = 'ControlFlow')
and 1 = --exactly one outgoing flow
(select count(*) from t_connector c
where c.Start_Object_ID = o.Object_ID
and c.Connector_Type = 'ControlFlow')
将查询中的GUID替换为疑似Fork/Join的GUID
您可以使用 EA.Repository.SQLQuery()
来执行这些查询。