EA16 - Helmut-Ortmann/EnterpriseArchitect_hoTools GitHub Wiki
EA16
hoTools now works also for:
- EA16 32 and 64 bit
There are two Setup WIX projects were you can see how it works. The *.msi takes care of everything.
Env. | Project | *.msi | Install-Folder | Registry (HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE) |
---|---|---|---|---|
AppData\Local\Apps\ho\ | HKEY_CURRENT_USER\Software\Sparx Systems | |||
x86 | Setup | hoTools.msi | hoTools | EAAddins\hoTools = hoTools.HoToolsRoot |
x64 | Setup64 | hoTools64.msi | hoToolsX64 | EAAddinsX64\hoTools = hoTools.HoToolsRoot |
Add-Ins
32Bit and 64Bit AddIns for the respective EA 32/64 bit version.
See: X64 Add-Ins
SQLITE
You need to adapt some SQLs in Queries and in Add-Ins.
In EA SQL Searches the easiest way is to use the macro:
#DB=Other# my SQLITE code #DB=Other#
- JET ==> SQLITE
- now() ==> date('now') or time('now')
- DateDiff("d",ModifiedDate, Now()) ==> Julianday(ModifiedDate) - Julianday(date('now'))
- Mid() ==> SubStr()
- Format() ==> nothing
Example
Handles:
- Mid() ==> Substr()
- Macros to encapsulate DB differences
SQL:
select d.ea_GUID,
d.Diagram_Type,
d.Name,
d.Diagram_Type,
d.stereotype,
d.Author,
#DB=ORACLE# Cast(d.ModifiedDate As Varchar(20)) As Modified, #DB=ORACLE#
#DB=JET# d.ModifiedDate As Modified, #DB=JET#
#DB=Other# d.ModifiedDate As Modified, #DB=Other#
#DB=SQLSVR# d.ModifiedDate As Modified, #DB=SQLSVR#
#DB=ORACLE# Cast(SubStr(d.notes,1,200) As Varchar(200)) #DB=ORACLE#
#DB=JET# Mid(d.notes,1,200) #DB=JET#
#DB=Other# Substr(d.notes,1,200) #DB=Other#
#DB=SQLSVR# Substring(d.notes,1,200) As Notes #DB=SQLSVR#
from t_diagram d
where d.ea_GUID = '<Search Term>'
Date Diff
Handles:
- Date Differences
SQL:
SELECT d.ea_GUID AS CLASSGUID,
d.diagram_type AS CLASSTYPE,
d.ModifiedDate,
#DB=ORACLE# /* Modified diagrams */ #DB=ORACLE#
#DB=ORACLE# Trunc(SYSDATE - d.ModifiedDate) As "Days" #DB=ORACLE#
#DB=JET# DateDiff("d",d.ModifiedDate,Now()) As "Days" #DB=JET#
#DB=Other# d.ModifiedDate - date('now') As "Days" #DB=Other#
#DB=SQLSVR# DATEDIFF(day, d.ModifiedDate, getdate()) #DB=SQLSVR#
,d.Name, d.diagram_type As Type,
d.Author, u.firstname, u.surname, d.StereoType, d.CreatedDate
FROM t_diagram d
left join t_secuser u on u.userlogin = d.author
WHERE d.package_id in ( #Branch#)
and d.name like '<Search Term>#WC#'
Order By modifiedDate desc
Format
Handles:
- Format()
- Format(o.Object_ID) = op.Classifier => o.Object_ID= op.Classifier
SQL:
select o.ea_GUID,
o.Object_Type,
'ReturnType',
o.name,
o.Object_Type,
o.stereotype,
'',
pkg.name,
o.ea_GUID
from t_operation op,
t_object o1, t_object o INNER JOIN t_package pkg on (o.package_id =pkg.package_id)
where
op.ea_GUID = '<Search Term>' AND
#DB=SQLSVR# o.Object_ID = op.Classifier #DB=SQLSVR#
#DB=JET# Format(o.Object_ID) = op.Classifier #DB=JET#
#DB=Other# o.Object_ID= op.Classifier #DB=Other#
#DB=ORACLE# o.Object_ID = op.Classifier #DB=ORACLE#
AND op.object_id = o1.object_id