Rebuild website
diff --git a/404.html b/404.html
index df2adb2..1c5cbbb 100644
--- a/404.html
+++ b/404.html
@@ -92,7 +92,7 @@
       <div class="md-flex__cell md-flex__cell--shrink">
         <a href="/." title="Eclipse Hawk" class="md-header-nav__button md-logo">
           
-            <img src="/img/hawk-logo-white.svg" width="24" height="24">
+            <img src="/assets/images/hawk-logo-white.svg" width="24" height="24">
           
         </a>
       </div>
@@ -178,7 +178,7 @@
   <label class="md-nav__title md-nav__title--site" for="__drawer">
     <a href="/." title="Eclipse Hawk" class="md-nav__button md-logo">
       
-        <img src="/img/hawk-logo-white.svg" width="48" height="48">
+        <img src="/assets/images/hawk-logo-white.svg" width="48" height="48">
       
     </a>
     Eclipse Hawk
diff --git a/additional-resources/index.html b/additional-resources/index.html
index 599e780..31310df 100644
--- a/additional-resources/index.html
+++ b/additional-resources/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Additional resources - Eclipse Hawk</title><link rel=stylesheet href=../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../assets/fonts/material-icons.css><link rel=stylesheet href=../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#screencasts tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Additional resources </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Additional resources </label> <a href=./ title="Additional resources" class="md-nav__link md-nav__link--active"> Additional resources </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#screencasts class=md-nav__link> Screencasts </a> </li> <li class=md-nav__item> <a href=#papers class=md-nav__link> Papers </a> </li> <li class=md-nav__item> <a href=#slides class=md-nav__link> Slides </a> </li> <li class=md-nav__item> <a href=#related-tools class=md-nav__link> Related tools </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#screencasts class=md-nav__link> Screencasts </a> </li> <li class=md-nav__item> <a href=#papers class=md-nav__link> Papers </a> </li> <li class=md-nav__item> <a href=#slides class=md-nav__link> Slides </a> </li> <li class=md-nav__item> <a href=#related-tools class=md-nav__link> Related tools </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Additional resources</h1> <h2 id=screencasts>Screencasts<a class=headerlink href=#screencasts title="Permanent link">&para;</a></h2> <p>We have several screencasts that show how to use Hawk and work on its code:</p> <ul> <li><a href="https://www.youtube.com/watch?v=hQbkA0jmBTY">Running of basic operations</a></li> <li><a href="https://www.youtube.com/watch?v=pGL2-lJ0HAg">Use of advanced features</a></li> <li><a href="https://www.youtube.com/watch?v=d_DqR-0v_4s">Download and configuration of Hawk onto a fresh Eclipse Luna (Modeling Tools) distribution</a></li> <li><a href="https://www.youtube.com/watch?v=63kg62HxgD4">How to use Hawk to add Modelio metamodel(s)</a></li> <li><a href="https://www.youtube.com/watch?v=swAgG8v-lLU">Use Hawk Server to auto-configure &amp; start Hawk Instances</a></li> </ul> <h2 id=papers>Papers<a class=headerlink href=#papers title="Permanent link">&para;</a></h2> <ul> <li><a href="http://dl.acm.org/citation.cfm?id=2487771">Hawk: towards a scalable model indexing architecture</a></li> <li><a href=http://link.springer.com/chapter/10.1007%2F978-3-319-11653-2_36>A Framework to Benchmark NoSQL Data Stores for Large-Scale Model Persistence</a></li> <li><a href=http://link.springer.com/chapter/10.1007%2F978-3-319-09195-2_3>Towards Scalable Querying of Large-Scale Models</a></li> <li><a href=http://www.jot.fm/contents/issue_2014_07/article3.html>Evaluation of Contemporary Graph Databases for Efficient Persistence of Large-Scale Models</a></li> <li><a href=http://link.springer.com/chapter/10.1007%2F978-3-319-21151-0_10>Towards Incremental Updates in Large-Scale Model Indexes</a></li> <li><a href=http://etheses.whiterose.ac.uk/14376/ >Towards Scalable Model Indexing (PhD Thesis)</a></li> <li><a href=http://dx.doi.org/10.1007/s10270-017-0606-9>Stress-testing remote model querying APIs for relational and graph-based stores</a></li> <li><a href="https://dl.acm.org/citation.cfm?doid=2976767.2976809">Integration of a graph-based model indexer in commercial modelling tools</a></li> <li><a href=https://doi.org/10.5220/0006732207190730>Integration of Hawk for Model Metrics into the MEASURE Platform</a></li> <li><a href=http://ceur-ws.org/Vol-2310/paper7.pdf>Hawk solutions to the TTC 2018 Social Media Case</a></li> <li><a href=https://doi.org/10.1016/j.infsof.2019.05.010>Scaling-up domain-specific modelling languages through modularity services</a></li> <li>Book chapter: <a href=https://doi.org/10.1016/B978-0-12-816649-9.00014-4>Monitoring model analytics over large repositories with Hawk and MEASURE</a></li> </ul> <h2 id=slides>Slides<a class=headerlink href=#slides title="Permanent link">&para;</a></h2> <ul> <li><a href=https://bitbucket.org/bluezio/hawk-cadiz2018/overview>Hawk: indexado de modelos en bases de datos NoSQL</a> - 90 minute slides in Spanish about the MONDO project and Hawk</li> <li><a href=https://github.com/SOM-Research/hawk-neoemf-models-2018-tutorial>MODELS18 tutorial on NeoEMF and Hawk</a></li> </ul> <h2 id=related-tools>Related tools<a class=headerlink href=#related-tools title="Permanent link">&para;</a></h2> <ul> <li>The <a href=https://github.com/Orjuwan-alwadeai/HawkQuerySMMMMeasureLib>HawkQuery SMM MEASURE library</a> allows using Hawk servers as metric providers for the MEASURE platform.</li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../developers/website/ title="Work on the website" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Work on the website </span> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:".."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Additional resources - Eclipse Hawk</title><link rel=stylesheet href=../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../assets/fonts/material-icons.css><link rel=stylesheet href=../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#screencasts tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Additional resources </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Additional resources </label> <a href=./ title="Additional resources" class="md-nav__link md-nav__link--active"> Additional resources </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#screencasts class=md-nav__link> Screencasts </a> </li> <li class=md-nav__item> <a href=#papers class=md-nav__link> Papers </a> </li> <li class=md-nav__item> <a href=#slides class=md-nav__link> Slides </a> </li> <li class=md-nav__item> <a href=#related-tools class=md-nav__link> Related tools </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#screencasts class=md-nav__link> Screencasts </a> </li> <li class=md-nav__item> <a href=#papers class=md-nav__link> Papers </a> </li> <li class=md-nav__item> <a href=#slides class=md-nav__link> Slides </a> </li> <li class=md-nav__item> <a href=#related-tools class=md-nav__link> Related tools </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Additional resources</h1> <h2 id=screencasts>Screencasts<a class=headerlink href=#screencasts title="Permanent link">&para;</a></h2> <p>We have several screencasts that show how to use Hawk and work on its code:</p> <ul> <li><a href="https://www.youtube.com/watch?v=hQbkA0jmBTY">Running of basic operations</a></li> <li><a href="https://www.youtube.com/watch?v=pGL2-lJ0HAg">Use of advanced features</a></li> <li><a href="https://www.youtube.com/watch?v=d_DqR-0v_4s">Download and configuration of Hawk onto a fresh Eclipse Luna (Modeling Tools) distribution</a></li> <li><a href="https://www.youtube.com/watch?v=63kg62HxgD4">How to use Hawk to add Modelio metamodel(s)</a></li> <li><a href="https://www.youtube.com/watch?v=swAgG8v-lLU">Use Hawk Server to auto-configure &amp; start Hawk Instances</a></li> </ul> <h2 id=papers>Papers<a class=headerlink href=#papers title="Permanent link">&para;</a></h2> <ul> <li><a href="http://dl.acm.org/citation.cfm?id=2487771">Hawk: towards a scalable model indexing architecture</a></li> <li><a href=http://link.springer.com/chapter/10.1007%2F978-3-319-11653-2_36>A Framework to Benchmark NoSQL Data Stores for Large-Scale Model Persistence</a></li> <li><a href=http://link.springer.com/chapter/10.1007%2F978-3-319-09195-2_3>Towards Scalable Querying of Large-Scale Models</a></li> <li><a href=http://www.jot.fm/contents/issue_2014_07/article3.html>Evaluation of Contemporary Graph Databases for Efficient Persistence of Large-Scale Models</a></li> <li><a href=http://link.springer.com/chapter/10.1007%2F978-3-319-21151-0_10>Towards Incremental Updates in Large-Scale Model Indexes</a></li> <li><a href=http://etheses.whiterose.ac.uk/14376/ >Towards Scalable Model Indexing (PhD Thesis)</a></li> <li><a href=http://dx.doi.org/10.1007/s10270-017-0606-9>Stress-testing remote model querying APIs for relational and graph-based stores</a></li> <li><a href="https://dl.acm.org/citation.cfm?doid=2976767.2976809">Integration of a graph-based model indexer in commercial modelling tools</a></li> <li><a href=https://doi.org/10.5220/0006732207190730>Integration of Hawk for Model Metrics into the MEASURE Platform</a></li> <li><a href=http://ceur-ws.org/Vol-2310/paper7.pdf>Hawk solutions to the TTC 2018 Social Media Case</a></li> <li><a href=https://doi.org/10.1016/j.infsof.2019.05.010>Scaling-up domain-specific modelling languages through modularity services</a></li> <li>Book chapter: <a href=https://doi.org/10.1016/B978-0-12-816649-9.00014-4>Monitoring model analytics over large repositories with Hawk and MEASURE</a></li> </ul> <h2 id=slides>Slides<a class=headerlink href=#slides title="Permanent link">&para;</a></h2> <ul> <li><a href=https://bitbucket.org/bluezio/hawk-cadiz2018/overview>Hawk: indexado de modelos en bases de datos NoSQL</a> - 90 minute slides in Spanish about the MONDO project and Hawk</li> <li><a href=https://github.com/SOM-Research/hawk-neoemf-models-2018-tutorial>MODELS18 tutorial on NeoEMF and Hawk</a></li> </ul> <h2 id=related-tools>Related tools<a class=headerlink href=#related-tools title="Permanent link">&para;</a></h2> <ul> <li>The <a href=https://github.com/Orjuwan-alwadeai/HawkQuerySMMMMeasureLib>HawkQuery SMM MEASURE library</a> allows using Hawk servers as metric providers for the MEASURE platform.</li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../developers/website/ title="Work on the website" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Work on the website </span> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:".."}})</script> </body> </html>
\ No newline at end of file
diff --git a/advanced-use/advanced-props/index.html b/advanced-use/advanced-props/index.html
index cc8f6a7..a0a6ff6 100644
--- a/advanced-use/advanced-props/index.html
+++ b/advanced-use/advanced-props/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Advanced properties - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Advanced properties </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3 checked> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Advanced properties" class="md-nav__link md-nav__link--active"> Advanced properties </a> </li> <li class=md-nav__item> <a href=../meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Advanced properties</h1> <p>When querying through EOL, we can access several extra properties on any model element:</p> <ul> <li><code>eContainer</code>: returns the model element that contains this one, or <code>null</code> if it does not have a container.</li> <li><code>eContents</code>: collection with all the model elements contained within this one.</li> <li><code>hawkFile</code>: string with the repository paths of the files that this model element belongs to, separated by ";".</li> <li><code>hawkFiles</code>: collection with the repository paths of all the files that this model element belongs to.</li> <li><code>hawkIn</code>: collection with all the model elements accessible through incoming references.</li> <li><code>hawkInEdges</code>: collection with all the incoming references (see their attributes below).</li> <li><code>hawkOut</code>: collection with all the model elements accessible through outgoing references.</li> <li><code>hawkOutEdges</code>: collection with all the outgoing references (see their attributes below).</li> <li><code>hawkRepo</code>: string with the URLs of the repositories that this model element belongs to, separated by ";".</li> <li><code>hawkRepos</code>: collection with all the repositories that this model element belongs to.</li> <li><code>hawkURIFragment</code>: URI fragment of the model element within its file.</li> </ul> <p>There is also the <code>isContainedWithin(repo, path)</code> method for checking if an element is directly or indirectly contained within a certain file.</p> <p>References are wrapped into entities of their own, with the following attributes:</p> <ul> <li><code>edge</code>: raw edge, without wrapping.</li> <li><code>type</code> / <code>name</code>: name of the reference.</li> <li><code>source</code> / <code>startNode</code>: source of the reference.</li> <li><code>target</code> / <code>endNode</code>: target of the reference.</li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../graph-as-emf/ title="Graph as EMF model" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Graph as EMF model </span> </div> </a> <a href=../meta-queries/ title="Meta-level queries" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Meta-level queries </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Advanced properties - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Advanced properties </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3 checked> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Advanced properties" class="md-nav__link md-nav__link--active"> Advanced properties </a> </li> <li class=md-nav__item> <a href=../meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Advanced properties</h1> <p>When querying through EOL, we can access several extra properties on any model element:</p> <ul> <li><code>eContainer</code>: returns the model element that contains this one, or <code>null</code> if it does not have a container.</li> <li><code>eContents</code>: collection with all the model elements contained within this one.</li> <li><code>hawkFile</code>: string with the repository paths of the files that this model element belongs to, separated by ";".</li> <li><code>hawkFiles</code>: collection with the repository paths of all the files that this model element belongs to.</li> <li><code>hawkIn</code>: collection with all the model elements accessible through incoming references.</li> <li><code>hawkInEdges</code>: collection with all the incoming references (see their attributes below).</li> <li><code>hawkOut</code>: collection with all the model elements accessible through outgoing references.</li> <li><code>hawkOutEdges</code>: collection with all the outgoing references (see their attributes below).</li> <li><code>hawkRepo</code>: string with the URLs of the repositories that this model element belongs to, separated by ";".</li> <li><code>hawkRepos</code>: collection with all the repositories that this model element belongs to.</li> <li><code>hawkURIFragment</code>: URI fragment of the model element within its file.</li> </ul> <p>There is also the <code>isContainedWithin(repo, path)</code> method for checking if an element is directly or indirectly contained within a certain file.</p> <p>References are wrapped into entities of their own, with the following attributes:</p> <ul> <li><code>edge</code>: raw edge, without wrapping.</li> <li><code>type</code> / <code>name</code>: name of the reference.</li> <li><code>source</code> / <code>startNode</code>: source of the reference.</li> <li><code>target</code> / <code>endNode</code>: target of the reference.</li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../graph-as-emf/ title="Graph as EMF model" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Graph as EMF model </span> </div> </a> <a href=../meta-queries/ title="Meta-level queries" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Meta-level queries </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/advanced-use/graph-as-emf/index.html b/advanced-use/graph-as-emf/index.html
index 6127e64..e7d98bf 100644
--- a/advanced-use/graph-as-emf/index.html
+++ b/advanced-use/graph-as-emf/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Graph as EMF model - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Graph as EMF model </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3 checked> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Graph as EMF model" class="md-nav__link md-nav__link--active"> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Graph as EMF model</h1> <p>In addition to regular querying, it is possible to use a Hawk graph as a model itself. To do so, use the "File &gt; New &gt; Other &gt; Hawk &gt; Local Hawk Model Descriptor" wizard and select the Hawk instance you want to access as a model.</p> <p>Once the wizard is finished, open the <code>.localhawkmodel</code> file to browse through it as an EMF model. You will need to ensure that the EPackages of the indexed models are part of your EMF package registry: normally Hawk should ensure this happens. For a Hawk index containing the GraBaTs 2009 <code>set0.xmi</code> file, it will look like this:</p> <p><img alt="Hawk EMF resource showing set0.xmi" src=../img/hawk_emfresource.png></p> <p>The actual editor is a customized version of the <a href=http://www.eclipse.org/epsilon/doc/articles/inspect-models-exeed/ >Epsilon Exeed</a> editor, which is based on the standard EMF reflective tree-based editor. The contents of the graph are navigated lazily, so we can open huge models very quickly and navigate through them.</p> <p>The editor also provides additional "Custom" actions when we right click on a top-level node (usually labelled with URLs). Currently, it supports an efficient <code>Fetch by EClass</code> method, that allows fetching all the instances of a type immediately, without having to load the rest of the model. Future versions of Hawk may expose additional operations through this menu.</p> <p>Finally, the EMF resource can be used normally from any EMF-based tools (e.g. transformation engines). However, to make the most out of the resources it will be necessary to extend the tools to have them integrate the efficient graph-based operations that are not part of the EMF Resource interface.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Papyrus UML support </span> </div> </a> <a href=../advanced-props/ title="Advanced properties" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Advanced properties </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Graph as EMF model - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Graph as EMF model </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3 checked> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Graph as EMF model" class="md-nav__link md-nav__link--active"> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Graph as EMF model</h1> <p>In addition to regular querying, it is possible to use a Hawk graph as a model itself. To do so, use the "File &gt; New &gt; Other &gt; Hawk &gt; Local Hawk Model Descriptor" wizard and select the Hawk instance you want to access as a model.</p> <p>Once the wizard is finished, open the <code>.localhawkmodel</code> file to browse through it as an EMF model. You will need to ensure that the EPackages of the indexed models are part of your EMF package registry: normally Hawk should ensure this happens. For a Hawk index containing the GraBaTs 2009 <code>set0.xmi</code> file, it will look like this:</p> <p><img alt="Hawk EMF resource showing set0.xmi" src=../img/hawk_emfresource.png></p> <p>The actual editor is a customized version of the <a href=http://www.eclipse.org/epsilon/doc/articles/inspect-models-exeed/ >Epsilon Exeed</a> editor, which is based on the standard EMF reflective tree-based editor. The contents of the graph are navigated lazily, so we can open huge models very quickly and navigate through them.</p> <p>The editor also provides additional "Custom" actions when we right click on a top-level node (usually labelled with URLs). Currently, it supports an efficient <code>Fetch by EClass</code> method, that allows fetching all the instances of a type immediately, without having to load the rest of the model. Future versions of Hawk may expose additional operations through this menu.</p> <p>Finally, the EMF resource can be used normally from any EMF-based tools (e.g. transformation engines). However, to make the most out of the resources it will be necessary to extend the tools to have them integrate the efficient graph-based operations that are not part of the EMF Resource interface.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Papyrus UML support </span> </div> </a> <a href=../advanced-props/ title="Advanced properties" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Advanced properties </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/advanced-use/meta-queries/index.html b/advanced-use/meta-queries/index.html
index f812ddf..a92d2ee 100644
--- a/advanced-use/meta-queries/index.html
+++ b/advanced-use/meta-queries/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Meta-level queries - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Meta-level queries </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3 checked> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Meta-level queries" class="md-nav__link md-nav__link--active"> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Meta-level queries</h1> <p>Hawk extends the regular EOL facilities to be able to query the metamodels registered within the instance:</p> <ul> <li><code>Model.types</code> lists all the types registered in Hawk (<code>EClass</code> instances for EMF).</li> <li><code>Model.metamodels</code> lists all the metamodels registered in Hawk (<code>EPackage</code> instances for EMF).</li> <li><code>Model.files</code> lists all the files indexed by Hawk (may be limited through the context).</li> <li><code>Model.getTypeOf(obj)</code> retrieves the type of the object <code>obj</code>.</li> <li><code>Model.getFileOf(obj)</code> retrieves the first file containing the object <code>obj</code>.</li> <li><code>Model.getFilesOf(obj)</code> retrieves all the files containing the object <code>obj</code>.</li> </ul> <p>For a metamodel <code>mm</code>, these attributes are available:</p> <ul> <li><code>mm.uri</code> is the namespace URI of the metamodel.</li> <li><code>mm.metamodelType</code> is the type of metamodel that was registered.</li> <li><code>mm.dependencies</code> lists the metamodels this metamodel depends on (usually at least the Ecore metamodel for EMF-based metamodels).</li> <li><code>mm.types</code> lists the types defined in this metamodel.</li> <li><code>mm.resource</code> retrieves the original string representation for this metamodel (the original <code>.ecore</code> file for EMF).</li> </ul> <p>For a type <code>t</code>, these attributes are available:</p> <ul> <li><code>t.metamodel</code> retrieves the metamodel that defines the type.</li> <li><code>t.all</code> retrieves all instances of that type efficiently (includes subtypes).</li> <li><code>t.name</code> retrieves the name of the type.</li> <li><code>t.attributes</code> lists the attributes of the type, as slots (see below).</li> <li><code>t.references</code> lists the references of the type, as slots.</li> <li><code>t.features</code> lists the attributes and references of the type.</li> </ul> <p>For a slot <code>sl</code>, these attributes are available:</p> <ul> <li><code>sl.name</code>: name of the slot.</li> <li><code>sl.type</code>: type of the value of the slot.</li> <li><code>sl.isMany</code>: true if this is a multi-valued slot.</li> <li><code>sl.isOrdered</code>: true if the values should follow some order.</li> <li><code>sl.isAttribute</code>: true if this is an attribute slot.</li> <li><code>sl.isReference</code>: true if this is a reference slot.</li> <li><code>sl.isUnique</code>: true if the value for this slot should be unique within its model.</li> </ul> <p>For a file <code>f</code>, these attributes are available:</p> <ul> <li><code>f.path</code>: returns the path of the file within the repository (e.g. <code>/input.xmi</code>).</li> <li><code>f.repository</code>: returns the URL of the repository (e.g. <code>file:///home/myuser/models</code>).</li> <li><code>f.roots</code>: returns the root model elements in the file.</li> <li><code>f.contents</code>: returns all the model elements in the file.</li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../advanced-props/ title="Advanced properties" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Advanced properties </span> </div> </a> <a href=../temporal-queries/ title="Temporal queries" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Temporal queries </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Meta-level queries - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Meta-level queries </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3 checked> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Meta-level queries" class="md-nav__link md-nav__link--active"> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Meta-level queries</h1> <p>Hawk extends the regular EOL facilities to be able to query the metamodels registered within the instance:</p> <ul> <li><code>Model.types</code> lists all the types registered in Hawk (<code>EClass</code> instances for EMF).</li> <li><code>Model.metamodels</code> lists all the metamodels registered in Hawk (<code>EPackage</code> instances for EMF).</li> <li><code>Model.files</code> lists all the files indexed by Hawk (may be limited through the context).</li> <li><code>Model.getTypeOf(obj)</code> retrieves the type of the object <code>obj</code>.</li> <li><code>Model.getFileOf(obj)</code> retrieves the first file containing the object <code>obj</code>.</li> <li><code>Model.getFilesOf(obj)</code> retrieves all the files containing the object <code>obj</code>.</li> </ul> <p>For a metamodel <code>mm</code>, these attributes are available:</p> <ul> <li><code>mm.uri</code> is the namespace URI of the metamodel.</li> <li><code>mm.metamodelType</code> is the type of metamodel that was registered.</li> <li><code>mm.dependencies</code> lists the metamodels this metamodel depends on (usually at least the Ecore metamodel for EMF-based metamodels).</li> <li><code>mm.types</code> lists the types defined in this metamodel.</li> <li><code>mm.resource</code> retrieves the original string representation for this metamodel (the original <code>.ecore</code> file for EMF).</li> </ul> <p>For a type <code>t</code>, these attributes are available:</p> <ul> <li><code>t.metamodel</code> retrieves the metamodel that defines the type.</li> <li><code>t.all</code> retrieves all instances of that type efficiently (includes subtypes).</li> <li><code>t.name</code> retrieves the name of the type.</li> <li><code>t.attributes</code> lists the attributes of the type, as slots (see below).</li> <li><code>t.references</code> lists the references of the type, as slots.</li> <li><code>t.features</code> lists the attributes and references of the type.</li> </ul> <p>For a slot <code>sl</code>, these attributes are available:</p> <ul> <li><code>sl.name</code>: name of the slot.</li> <li><code>sl.type</code>: type of the value of the slot.</li> <li><code>sl.isMany</code>: true if this is a multi-valued slot.</li> <li><code>sl.isOrdered</code>: true if the values should follow some order.</li> <li><code>sl.isAttribute</code>: true if this is an attribute slot.</li> <li><code>sl.isReference</code>: true if this is a reference slot.</li> <li><code>sl.isUnique</code>: true if the value for this slot should be unique within its model.</li> </ul> <p>For a file <code>f</code>, these attributes are available:</p> <ul> <li><code>f.path</code>: returns the path of the file within the repository (e.g. <code>/input.xmi</code>).</li> <li><code>f.repository</code>: returns the URL of the repository (e.g. <code>file:///home/myuser/models</code>).</li> <li><code>f.roots</code>: returns the root model elements in the file.</li> <li><code>f.contents</code>: returns all the model elements in the file.</li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../advanced-props/ title="Advanced properties" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Advanced properties </span> </div> </a> <a href=../temporal-queries/ title="Temporal queries" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Temporal queries </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/advanced-use/oomph/index.html b/advanced-use/oomph/index.html
index 8f04bce..8f371d6 100644
--- a/advanced-use/oomph/index.html
+++ b/advanced-use/oomph/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Oomph and Hawk - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Oomph and Hawk </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3 checked> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Oomph and Hawk" class="md-nav__link md-nav__link--active"> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Oomph and Hawk</h1> <p><a href=https://projects.eclipse.org/projects/tools.oomph>Oomph</a> has a feature that synchronizes preferences across workspaces (see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=490549">bug 490549</a>).</p> <p>This can be a problem if you expect different workspaces to have different Hawk indexes. If so, you should reconfigure Oomph so it does not record the <code>/instance/org.hawk.osgiserver</code> preferences node at the "User" and "Installation" levels.</p> <p>To do this, go to "Window &gt; Preferences", select "Oomph &gt; Setup Tasks &gt; Preference Recorder", check "Record into", select "User" and make sure <code>/instance/org.hawk.osgiserver/config</code> either does not appear or is <em>unchecked</em>. It should be the same for "Installation" and "Workspace".</p> <p><img alt="Oomph configuration" src=../img/oomph.png></p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../temporal-queries/ title="Temporal queries" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Temporal queries </span> </div> </a> <a href=../../server/architecture/ title=Architecture class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Architecture </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Oomph and Hawk - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Oomph and Hawk </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3 checked> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Oomph and Hawk" class="md-nav__link md-nav__link--active"> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Oomph and Hawk</h1> <p><a href=https://projects.eclipse.org/projects/tools.oomph>Oomph</a> has a feature that synchronizes preferences across workspaces (see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=490549">bug 490549</a>).</p> <p>This can be a problem if you expect different workspaces to have different Hawk indexes. If so, you should reconfigure Oomph so it does not record the <code>/instance/org.hawk.osgiserver</code> preferences node at the "User" and "Installation" levels.</p> <p>To do this, go to "Window &gt; Preferences", select "Oomph &gt; Setup Tasks &gt; Preference Recorder", check "Record into", select "User" and make sure <code>/instance/org.hawk.osgiserver/config</code> either does not appear or is <em>unchecked</em>. It should be the same for "Installation" and "Workspace".</p> <p><img alt="Oomph configuration" src=../img/oomph.png></p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../temporal-queries/ title="Temporal queries" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Temporal queries </span> </div> </a> <a href=../../server/architecture/ title=Architecture class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Architecture </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/advanced-use/temporal-queries/index.html b/advanced-use/temporal-queries/index.html
index 676aeb5..8433177 100644
--- a/advanced-use/temporal-queries/index.html
+++ b/advanced-use/temporal-queries/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Temporal queries - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#data-model tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Temporal queries </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3 checked> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Temporal queries </label> <a href=./ title="Temporal queries" class="md-nav__link md-nav__link--active"> Temporal queries </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#data-model class=md-nav__link> Data model </a> </li> <li class=md-nav__item> <a href=#basic-history-traversal-primitives class=md-nav__link> Basic history traversal primitives </a> </li> <li class=md-nav__item> <a href=#temporal-assertions class=md-nav__link> Temporal assertions </a> </li> <li class=md-nav__item> <a href=#scoping-views-predicate-based class=md-nav__link> Scoping views (predicate-based) </a> </li> <li class=md-nav__item> <a href=#scoping-views-context-based class=md-nav__link> Scoping views (context-based) </a> </li> <li class=md-nav__item> <a href=#scoping-views-based-on-derived-attributes class=md-nav__link> Scoping views (based on derived attributes) </a> </li> <li class=md-nav__item> <a href=#global-operations-on-the-model class=md-nav__link> Global operations on the model </a> </li> <li class=md-nav__item> <a href=#some-examples class=md-nav__link> Some examples </a> </li> <li class=md-nav__item> <a href=#timeline-queries class=md-nav__link> Timeline queries </a> </li> <li class=md-nav__item> <a href=#current-limitations class=md-nav__link> Current limitations </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#data-model class=md-nav__link> Data model </a> </li> <li class=md-nav__item> <a href=#basic-history-traversal-primitives class=md-nav__link> Basic history traversal primitives </a> </li> <li class=md-nav__item> <a href=#temporal-assertions class=md-nav__link> Temporal assertions </a> </li> <li class=md-nav__item> <a href=#scoping-views-predicate-based class=md-nav__link> Scoping views (predicate-based) </a> </li> <li class=md-nav__item> <a href=#scoping-views-context-based class=md-nav__link> Scoping views (context-based) </a> </li> <li class=md-nav__item> <a href=#scoping-views-based-on-derived-attributes class=md-nav__link> Scoping views (based on derived attributes) </a> </li> <li class=md-nav__item> <a href=#global-operations-on-the-model class=md-nav__link> Global operations on the model </a> </li> <li class=md-nav__item> <a href=#some-examples class=md-nav__link> Some examples </a> </li> <li class=md-nav__item> <a href=#timeline-queries class=md-nav__link> Timeline queries </a> </li> <li class=md-nav__item> <a href=#current-limitations class=md-nav__link> Current limitations </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Temporal queries</h1> <p>The latest versions of Hawk have the capability to index every version of all the models in the locations being monitored. To enable this capability, your Hawk index must meet certain conditions:</p> <ul> <li>You must be using a time-aware backend (currently, Greycat).</li> <li>You must be using the time-aware updater (TimeAwareModelUpdater) and not the standard one.</li> <li>You must be using the time-aware indexer factory and not the standard one (TimeAwareHawkFactory).</li> <li>You must query the index with a time-aware query language:</li> <li><code>org.hawk.timeaware.queries.TimeAwareEOLQueryEngine</code></li> <li><code>org.hawk.timeaware.queries.TimelineEOLQueryEngine</code></li> </ul> <p>If you meet these constraints, you can index a SVN repository with models and Hawk will turn the full history of every model into an integrated temporal graph database, or index a workspace/local folder and have Hawk remember the history of every model from then onwards. You will be able to query this temporal graph through an extension of Hawk's EOL dialect.</p> <p>This functionality was first discussed in our <a href=http://st.inf.tu-dresden.de/MRT18/ >MRT 2018</a> paper, "Reflecting on the past and the present with temporal graph-based models".</p> <h2 id=data-model>Data model<a class=headerlink href=#data-model title="Permanent link">&para;</a></h2> <p>The usual type -&gt; model element graph in Hawk is extended to give both types and model elements their own histories. The histories are defined as follows:</p> <ul> <li>Types are immortal: they are created at the first endpoint in the graph and last to the "end of time" of the graph. There is a new version whenever an instance of the type is created or destroyed.</li> <li>Model elements are created at a certain timepoint, and either survive or are destroyed at another timepoint. Model elements are assumed to have a persistent identity: either its natural/artificial identifier, or its location within the model. New versions are produced when an attribute or a reference changes.</li> </ul> <p>Timepoints are provided by the Hawk connectors, and they tend to be commit timestamps or file timestamps. In SVN, these are commit timestamps to millisecond precision.</p> <h2 id=basic-history-traversal-primitives>Basic history traversal primitives<a class=headerlink href=#basic-history-traversal-primitives title="Permanent link">&para;</a></h2> <p>The actual primitives are quite simple. In the time-aware dialect of Hawk, types and model elements expose the following additional attributes and operations:</p> <ul> <li><code>x.versions</code>: returns the sequence of all versions for <code>x</code>, from newest to oldest</li> <li><code>x.getVersionsBetween(from, to)</code>: versions within a range of timepoints</li> <li><code>x.getVersionsFrom(from)</code>: versions from a timepoint (included)</li> <li><code>x.getVersionsUpTo(from)</code>: versions up to a timepoint (included) </li> <li><code>x.earliest</code>, <code>x.latest</code>: earliest / latest version</li> <li><code>x.next</code>, <code>x.prev</code>/<code>x.previous</code>: next / previous version</li> <li><code>x.time</code>: version timepoint</li> </ul> <h2 id=temporal-assertions>Temporal assertions<a class=headerlink href=#temporal-assertions title="Permanent link">&para;</a></h2> <p>It is possible to evaluate assertions over the history of a type or model element:</p> <ul> <li><code>x.always(version | predicate over version)</code>: true if and only if ("iff") the predicate is true for every version of <code>x</code>.</li> <li><code>x.never(version | predicate over version)</code>: true iff the predicate is false for every version of <code>x</code>.</li> <li><code>x.eventually(version | predicate over version)</code>: true iff the predicate is true for some version of <code>x</code>.</li> <li><code>x.eventuallyAtLeast(version | predicate over version, count)</code>: true iff the predicate is true in at least <code>count</code> versions of <code>x</code>.</li> <li><code>x.eventuallyAtMost(version | predicate over version, count)</code>: true iff the predicate is true in at least one version and at most <code>count</code> versions of <code>x</code>.</li> </ul> <h2 id=scoping-views-predicate-based>Scoping views (predicate-based)<a class=headerlink href=#scoping-views-predicate-based title="Permanent link">&para;</a></h2> <p>The versions in scope for the above assertions and primitives can be limited with:</p> <ul> <li><code>x.since(version | predicate over version)</code> will return the type/model element in the oldest timepoint since that of <code>x</code> for which the predicate holds, or <code>null</code> if it does not exist. The returned type/model element will only report versions from its timepoint onwards. This esentially imposes a left-closed version interval.</li> <li><code>x.after(version | predicate over version)</code> will return the type/model element in the timepoint immediately after the oldest timepoint for which the predicate holds, or <code>null</code> if it does not exist. It is essentially a variant of <code>x.since</code> that implements a left-open interval.</li> <li><code>x.until(version | predicate over version)</code> will return the the same type/model element, but it will only report versions up to and including the first one for which the predicate holds, or <code>null</code> if such a version does not exist. This implements a right-closed version interval.</li> <li><code>x.before(version | predicate over version)</code> will return the same type/model element, but it will only report versions before (excluding) the first one for which the predicate holds, or <code>null</code> if such a version does not exist. This implements a right-open interval.</li> <li><code>x.when(version | predicate over version)</code> will return the type/model element in the oldest timepoint since that of <code>x</code> for which the predicate holds, or <code>null</code> if it does not exist. The returned type/model element will only report versions from its timepoint onwards that match the predicate. This is a left-closed, filtered interval.</li> </ul> <h2 id=scoping-views-context-based>Scoping views (context-based)<a class=headerlink href=#scoping-views-context-based title="Permanent link">&para;</a></h2> <p>You can also limit the available versions from an existing type / model element:</p> <ul> <li><code>x.sinceThen</code>: version of <code>x</code> that will only report the versions from <code>x</code> onwards (included).</li> <li><code>x.afterThen</code>: next version of <code>x</code> that will only report the versions after <code>x</code> (excluded). <code>null</code> if a next version does not exist.</li> <li><code>x.untilThen</code>: version of <code>x</code> that will only report the versions up to <code>x</code> (included).</li> <li><code>x.beforeThen</code>: previous version of <code>x</code> that will only report the versions before <code>x</code> (excluded). <code>null</code> if a previous version does not exist.</li> </ul> <p>You can undo the scoping with <code>.unscoped</code>. This will give you the same model element or type, but with all the versions available once more.</p> <h2 id=scoping-views-based-on-derived-attributes>Scoping views (based on derived attributes)<a class=headerlink href=#scoping-views-based-on-derived-attributes title="Permanent link">&para;</a></h2> <p>Some of the events we may be interested in may be very rare. In long histories, it may be very expensive to find such rare events by iterating over all the versions of a model element. In these cases, it is possible to define a derived Boolean attribute (e.g. <code>HasManyChildren</code> for a <code>Tree</code>, with definiton <code>return self.children.size &gt; 100;</code>) on a type, and then use these additional operations:</p> <ul> <li><code>x.whenAnnotated('AttributeName')</code>: returns a view of the model element <code>x</code> that exposes all the versions when the derived attribute named <code>AttributeName</code> defined on the type of <code>x</code> was <code>true</code>. The view will be at the earliest timepoint when this happened.</li> <li><code>x.sinceAnnotated('AttributeName')</code>: equivalent to <code>since</code>, but using the derived attribute <code>AttributeName</code>.</li> <li><code>x.afterAnnotated('AttributeName')</code>: equivalent to <code>after</code>. See above.</li> <li><code>x.untilAnnotated('AttributeName')</code>: equivalent to <code>until</code>. See above.</li> <li><code>x.beforeAnnotated('AttributeName')</code>: equivalent to <code>before</code>. See above.</li> </ul> <p><em>IMPORTANT</em>: until <a href=/mondo-project/mondo-hawk/issues/83>#83</a> is resolved, you will need to define these derived attributes <em>before</em> you index any model versions.</p> <h2 id=global-operations-on-the-model>Global operations on the model<a class=headerlink href=#global-operations-on-the-model title="Permanent link">&para;</a></h2> <p>The <code>Model</code> global reference is extended with new operations:</p> <ul> <li><code>Model.allInstancesNow</code> returns all instances of the model at the timepoint equal to current system time.</li> <li><code>Model.allInstancesAt(timepoint)</code> returns all instances of the model at the specified timepoint, measured in the integer amount of milliseconds elapsed since the epoch.</li> </ul> <h2 id=some-examples>Some examples<a class=headerlink href=#some-examples title="Permanent link">&para;</a></h2> <p>A simple query to find the number of instances of X in the latest version of the model would be:</p> <div class=codehilite><pre><span></span>return X.latest.all.size;
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Temporal queries - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#data-model tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Temporal queries </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3 checked> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Temporal queries </label> <a href=./ title="Temporal queries" class="md-nav__link md-nav__link--active"> Temporal queries </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#data-model class=md-nav__link> Data model </a> </li> <li class=md-nav__item> <a href=#basic-history-traversal-primitives class=md-nav__link> Basic history traversal primitives </a> </li> <li class=md-nav__item> <a href=#temporal-assertions class=md-nav__link> Temporal assertions </a> </li> <li class=md-nav__item> <a href=#scoping-views-predicate-based class=md-nav__link> Scoping views (predicate-based) </a> </li> <li class=md-nav__item> <a href=#scoping-views-context-based class=md-nav__link> Scoping views (context-based) </a> </li> <li class=md-nav__item> <a href=#scoping-views-based-on-derived-attributes class=md-nav__link> Scoping views (based on derived attributes) </a> </li> <li class=md-nav__item> <a href=#global-operations-on-the-model class=md-nav__link> Global operations on the model </a> </li> <li class=md-nav__item> <a href=#some-examples class=md-nav__link> Some examples </a> </li> <li class=md-nav__item> <a href=#timeline-queries class=md-nav__link> Timeline queries </a> </li> <li class=md-nav__item> <a href=#current-limitations class=md-nav__link> Current limitations </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#data-model class=md-nav__link> Data model </a> </li> <li class=md-nav__item> <a href=#basic-history-traversal-primitives class=md-nav__link> Basic history traversal primitives </a> </li> <li class=md-nav__item> <a href=#temporal-assertions class=md-nav__link> Temporal assertions </a> </li> <li class=md-nav__item> <a href=#scoping-views-predicate-based class=md-nav__link> Scoping views (predicate-based) </a> </li> <li class=md-nav__item> <a href=#scoping-views-context-based class=md-nav__link> Scoping views (context-based) </a> </li> <li class=md-nav__item> <a href=#scoping-views-based-on-derived-attributes class=md-nav__link> Scoping views (based on derived attributes) </a> </li> <li class=md-nav__item> <a href=#global-operations-on-the-model class=md-nav__link> Global operations on the model </a> </li> <li class=md-nav__item> <a href=#some-examples class=md-nav__link> Some examples </a> </li> <li class=md-nav__item> <a href=#timeline-queries class=md-nav__link> Timeline queries </a> </li> <li class=md-nav__item> <a href=#current-limitations class=md-nav__link> Current limitations </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Temporal queries</h1> <p>The latest versions of Hawk have the capability to index every version of all the models in the locations being monitored. To enable this capability, your Hawk index must meet certain conditions:</p> <ul> <li>You must be using a time-aware backend (currently, Greycat).</li> <li>You must be using the time-aware updater (TimeAwareModelUpdater) and not the standard one.</li> <li>You must be using the time-aware indexer factory and not the standard one (TimeAwareHawkFactory).</li> <li>You must query the index with a time-aware query language:</li> <li><code>org.hawk.timeaware.queries.TimeAwareEOLQueryEngine</code></li> <li><code>org.hawk.timeaware.queries.TimelineEOLQueryEngine</code></li> </ul> <p>If you meet these constraints, you can index a SVN repository with models and Hawk will turn the full history of every model into an integrated temporal graph database, or index a workspace/local folder and have Hawk remember the history of every model from then onwards. You will be able to query this temporal graph through an extension of Hawk's EOL dialect.</p> <p>This functionality was first discussed in our <a href=http://st.inf.tu-dresden.de/MRT18/ >MRT 2018</a> paper, "Reflecting on the past and the present with temporal graph-based models".</p> <h2 id=data-model>Data model<a class=headerlink href=#data-model title="Permanent link">&para;</a></h2> <p>The usual type -&gt; model element graph in Hawk is extended to give both types and model elements their own histories. The histories are defined as follows:</p> <ul> <li>Types are immortal: they are created at the first endpoint in the graph and last to the "end of time" of the graph. There is a new version whenever an instance of the type is created or destroyed.</li> <li>Model elements are created at a certain timepoint, and either survive or are destroyed at another timepoint. Model elements are assumed to have a persistent identity: either its natural/artificial identifier, or its location within the model. New versions are produced when an attribute or a reference changes.</li> </ul> <p>Timepoints are provided by the Hawk connectors, and they tend to be commit timestamps or file timestamps. In SVN, these are commit timestamps to millisecond precision.</p> <h2 id=basic-history-traversal-primitives>Basic history traversal primitives<a class=headerlink href=#basic-history-traversal-primitives title="Permanent link">&para;</a></h2> <p>The actual primitives are quite simple. In the time-aware dialect of Hawk, types and model elements expose the following additional attributes and operations:</p> <ul> <li><code>x.versions</code>: returns the sequence of all versions for <code>x</code>, from newest to oldest</li> <li><code>x.getVersionsBetween(from, to)</code>: versions within a range of timepoints</li> <li><code>x.getVersionsFrom(from)</code>: versions from a timepoint (included)</li> <li><code>x.getVersionsUpTo(from)</code>: versions up to a timepoint (included) </li> <li><code>x.earliest</code>, <code>x.latest</code>: earliest / latest version</li> <li><code>x.next</code>, <code>x.prev</code>/<code>x.previous</code>: next / previous version</li> <li><code>x.time</code>: version timepoint</li> </ul> <h2 id=temporal-assertions>Temporal assertions<a class=headerlink href=#temporal-assertions title="Permanent link">&para;</a></h2> <p>It is possible to evaluate assertions over the history of a type or model element:</p> <ul> <li><code>x.always(version | predicate over version)</code>: true if and only if ("iff") the predicate is true for every version of <code>x</code>.</li> <li><code>x.never(version | predicate over version)</code>: true iff the predicate is false for every version of <code>x</code>.</li> <li><code>x.eventually(version | predicate over version)</code>: true iff the predicate is true for some version of <code>x</code>.</li> <li><code>x.eventuallyAtLeast(version | predicate over version, count)</code>: true iff the predicate is true in at least <code>count</code> versions of <code>x</code>.</li> <li><code>x.eventuallyAtMost(version | predicate over version, count)</code>: true iff the predicate is true in at least one version and at most <code>count</code> versions of <code>x</code>.</li> </ul> <h2 id=scoping-views-predicate-based>Scoping views (predicate-based)<a class=headerlink href=#scoping-views-predicate-based title="Permanent link">&para;</a></h2> <p>The versions in scope for the above assertions and primitives can be limited with:</p> <ul> <li><code>x.since(version | predicate over version)</code> will return the type/model element in the oldest timepoint since that of <code>x</code> for which the predicate holds, or <code>null</code> if it does not exist. The returned type/model element will only report versions from its timepoint onwards. This esentially imposes a left-closed version interval.</li> <li><code>x.after(version | predicate over version)</code> will return the type/model element in the timepoint immediately after the oldest timepoint for which the predicate holds, or <code>null</code> if it does not exist. It is essentially a variant of <code>x.since</code> that implements a left-open interval.</li> <li><code>x.until(version | predicate over version)</code> will return the the same type/model element, but it will only report versions up to and including the first one for which the predicate holds, or <code>null</code> if such a version does not exist. This implements a right-closed version interval.</li> <li><code>x.before(version | predicate over version)</code> will return the same type/model element, but it will only report versions before (excluding) the first one for which the predicate holds, or <code>null</code> if such a version does not exist. This implements a right-open interval.</li> <li><code>x.when(version | predicate over version)</code> will return the type/model element in the oldest timepoint since that of <code>x</code> for which the predicate holds, or <code>null</code> if it does not exist. The returned type/model element will only report versions from its timepoint onwards that match the predicate. This is a left-closed, filtered interval.</li> </ul> <h2 id=scoping-views-context-based>Scoping views (context-based)<a class=headerlink href=#scoping-views-context-based title="Permanent link">&para;</a></h2> <p>You can also limit the available versions from an existing type / model element:</p> <ul> <li><code>x.sinceThen</code>: version of <code>x</code> that will only report the versions from <code>x</code> onwards (included).</li> <li><code>x.afterThen</code>: next version of <code>x</code> that will only report the versions after <code>x</code> (excluded). <code>null</code> if a next version does not exist.</li> <li><code>x.untilThen</code>: version of <code>x</code> that will only report the versions up to <code>x</code> (included).</li> <li><code>x.beforeThen</code>: previous version of <code>x</code> that will only report the versions before <code>x</code> (excluded). <code>null</code> if a previous version does not exist.</li> </ul> <p>You can undo the scoping with <code>.unscoped</code>. This will give you the same model element or type, but with all the versions available once more.</p> <h2 id=scoping-views-based-on-derived-attributes>Scoping views (based on derived attributes)<a class=headerlink href=#scoping-views-based-on-derived-attributes title="Permanent link">&para;</a></h2> <p>Some of the events we may be interested in may be very rare. In long histories, it may be very expensive to find such rare events by iterating over all the versions of a model element. In these cases, it is possible to define a derived Boolean attribute (e.g. <code>HasManyChildren</code> for a <code>Tree</code>, with definiton <code>return self.children.size &gt; 100;</code>) on a type, and then use these additional operations:</p> <ul> <li><code>x.whenAnnotated('AttributeName')</code>: returns a view of the model element <code>x</code> that exposes all the versions when the derived attribute named <code>AttributeName</code> defined on the type of <code>x</code> was <code>true</code>. The view will be at the earliest timepoint when this happened.</li> <li><code>x.sinceAnnotated('AttributeName')</code>: equivalent to <code>since</code>, but using the derived attribute <code>AttributeName</code>.</li> <li><code>x.afterAnnotated('AttributeName')</code>: equivalent to <code>after</code>. See above.</li> <li><code>x.untilAnnotated('AttributeName')</code>: equivalent to <code>until</code>. See above.</li> <li><code>x.beforeAnnotated('AttributeName')</code>: equivalent to <code>before</code>. See above.</li> </ul> <p><em>IMPORTANT</em>: until <a href=/mondo-project/mondo-hawk/issues/83>#83</a> is resolved, you will need to define these derived attributes <em>before</em> you index any model versions.</p> <h2 id=global-operations-on-the-model>Global operations on the model<a class=headerlink href=#global-operations-on-the-model title="Permanent link">&para;</a></h2> <p>The <code>Model</code> global reference is extended with new operations:</p> <ul> <li><code>Model.allInstancesNow</code> returns all instances of the model at the timepoint equal to current system time.</li> <li><code>Model.allInstancesAt(timepoint)</code> returns all instances of the model at the specified timepoint, measured in the integer amount of milliseconds elapsed since the epoch.</li> </ul> <h2 id=some-examples>Some examples<a class=headerlink href=#some-examples title="Permanent link">&para;</a></h2> <p>A simple query to find the number of instances of X in the latest version of the model would be:</p> <div class=codehilite><pre><span></span>return X.latest.all.size;
 </pre></div> <p>If we want to do find the second last time that instances of X were created, we could write something like:</p> <div class=codehilite><pre><span></span>return X.latest.prev.time;
 </pre></div> <p>If we want to find an X that at some point had <code>y</code> greater than 0 and still survives to the latest revision, we could write something like:</p> <div class=codehilite><pre><span></span>return X.latest.all.select(x|x.versions.exists(vx|vx.y &gt; 0));
 </pre></div> <p>More advanced queries can be found in the <a href=https://gitlab.com/a.garcia-dominguez/hawk-mrt2018/tree/master/code/uk.ac.aston.mrt2018.queries>Git repository for the MRT 2018 experiment tool</a>.</p> <h2 id=timeline-queries>Timeline queries<a class=headerlink href=#timeline-queries title="Permanent link">&para;</a></h2> <p>If you want to obtain the results of a certain query for all versions of a model, you can use the TimelineEOLQueryEngine instead. This operates by repeating the same query while changing the global timepoint of the graph, so you can write your query as a normal one and see how it evolves over time. For instance, if using <code>return Model.allInstances.size;</code>, you would see how the number of instances evolved over the various versions of the graph.</p> <p>NOTE: due to current implementation restrictions, this will only process versions where type nodes changed (i.e. objects were created or deleted). We plan to lift this restriction in the near future.</p> <h2 id=current-limitations>Current limitations<a class=headerlink href=#current-limitations title="Permanent link">&para;</a></h2> <ul> <li>Subtree contexts, file-first/derived allOf and traversal scoping are not yet implemented for this query engine. File/repository patterns <em>do</em> work.</li> <li>Derived features will only work if added before any VCSes are added, and the impact of adding multiple VCS with their own histories has not been tested yet. Please make sure to report any issues!</li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../meta-queries/ title="Meta-level queries" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Meta-level queries </span> </div> </a> <a href=../oomph/ title="Oomph and Hawk" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Oomph and Hawk </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/img/android-chrome-192x192.png b/assets/images/android-chrome-192x192.png
similarity index 100%
rename from img/android-chrome-192x192.png
rename to assets/images/android-chrome-192x192.png
Binary files differ
diff --git a/img/android-chrome-256x256.png b/assets/images/android-chrome-256x256.png
similarity index 100%
rename from img/android-chrome-256x256.png
rename to assets/images/android-chrome-256x256.png
Binary files differ
diff --git a/img/apple-touch-icon.png b/assets/images/apple-touch-icon.png
similarity index 100%
rename from img/apple-touch-icon.png
rename to assets/images/apple-touch-icon.png
Binary files differ
diff --git a/img/browserconfig.xml b/assets/images/browserconfig.xml
similarity index 100%
rename from img/browserconfig.xml
rename to assets/images/browserconfig.xml
diff --git a/img/favicon-16x16.png b/assets/images/favicon-16x16.png
similarity index 100%
rename from img/favicon-16x16.png
rename to assets/images/favicon-16x16.png
Binary files differ
diff --git a/img/favicon-310x310.png b/assets/images/favicon-310x310.png
similarity index 100%
rename from img/favicon-310x310.png
rename to assets/images/favicon-310x310.png
Binary files differ
diff --git a/img/favicon-32x32.png b/assets/images/favicon-32x32.png
similarity index 100%
rename from img/favicon-32x32.png
rename to assets/images/favicon-32x32.png
Binary files differ
diff --git a/img/favicon.ico b/assets/images/favicon.ico
similarity index 100%
rename from img/favicon.ico
rename to assets/images/favicon.ico
Binary files differ
diff --git a/assets/images/favicon.png b/assets/images/favicon.png
index 76d17f5..7576671 100644
--- a/assets/images/favicon.png
+++ b/assets/images/favicon.png
Binary files differ
diff --git a/img/hawk-logo-white.svg b/assets/images/hawk-logo-white.svg
similarity index 100%
rename from img/hawk-logo-white.svg
rename to assets/images/hawk-logo-white.svg
diff --git a/img/hawk-logo.svg b/assets/images/hawk-logo.svg
similarity index 100%
rename from img/hawk-logo.svg
rename to assets/images/hawk-logo.svg
diff --git a/img/mstile-150x150.png b/assets/images/mstile-150x150.png
similarity index 100%
rename from img/mstile-150x150.png
rename to assets/images/mstile-150x150.png
Binary files differ
diff --git a/img/safari-pinned-tab.svg b/assets/images/safari-pinned-tab.svg
similarity index 100%
rename from img/safari-pinned-tab.svg
rename to assets/images/safari-pinned-tab.svg
diff --git a/img/site.webmanifest b/assets/images/site.webmanifest
similarity index 100%
rename from img/site.webmanifest
rename to assets/images/site.webmanifest
diff --git a/basic-use/core-concepts/index.html b/basic-use/core-concepts/index.html
index 3045bf2..a2a9ec2 100644
--- a/basic-use/core-concepts/index.html
+++ b/basic-use/core-concepts/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Core concepts - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#core-concepts-and-general-usage tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Core concepts </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2 checked> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Core concepts </label> <a href=./ title="Core concepts" class="md-nav__link md-nav__link--active"> Core concepts </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#components class=md-nav__link> Components </a> </li> <li class=md-nav__item> <a href=#general-usage class=md-nav__link> General usage </a> </li> <li class=md-nav__item> <a href=#managing-indexes-with-the-hawk-view class=md-nav__link> Managing indexes with the Hawk view </a> </li> <li class=md-nav__item> <a href=#creating-a-new-index class=md-nav__link> Creating a new index </a> </li> <li class=md-nav__item> <a href=#managing-metamodels class=md-nav__link> Managing metamodels </a> </li> <li class=md-nav__item> <a href=#managing-repositories class=md-nav__link> Managing repositories </a> </li> <li class=md-nav__item> <a href=#managing-indexed-attributes class=md-nav__link> Managing indexed attributes </a> </li> <li class=md-nav__item> <a href=#managing-derived-attributes class=md-nav__link> Managing derived attributes </a> </li> <li class=md-nav__item> <a href=#querying-the-graph class=md-nav__link> Querying the graph </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#components class=md-nav__link> Components </a> </li> <li class=md-nav__item> <a href=#general-usage class=md-nav__link> General usage </a> </li> <li class=md-nav__item> <a href=#managing-indexes-with-the-hawk-view class=md-nav__link> Managing indexes with the Hawk view </a> </li> <li class=md-nav__item> <a href=#creating-a-new-index class=md-nav__link> Creating a new index </a> </li> <li class=md-nav__item> <a href=#managing-metamodels class=md-nav__link> Managing metamodels </a> </li> <li class=md-nav__item> <a href=#managing-repositories class=md-nav__link> Managing repositories </a> </li> <li class=md-nav__item> <a href=#managing-indexed-attributes class=md-nav__link> Managing indexed attributes </a> </li> <li class=md-nav__item> <a href=#managing-derived-attributes class=md-nav__link> Managing derived attributes </a> </li> <li class=md-nav__item> <a href=#querying-the-graph class=md-nav__link> Querying the graph </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1 id=core-concepts-and-general-usage>Core concepts and general usage<a class=headerlink href=#core-concepts-and-general-usage title="Permanent link">&para;</a></h1> <h2 id=components>Components<a class=headerlink href=#components title="Permanent link">&para;</a></h2> <p>Hawk is an extensible system. Currently, it contains the following kinds of components:</p> <table> <thead> <tr> <th>Type</th> <th>Role</th> <th>Current implementations</th> </tr> </thead> <tbody> <tr> <td>Change listeners</td> <td>React to changes in the graph produced by the updaters</td> <td>Tracing, Validation</td> </tr> <tr> <td>Graph backends</td> <td>Integrate database technologies</td> <td><a href=http://neo4j.com/ >Neo4j</a>, <a href=http://orientdb.com/ >OrientDB</a>, <a href=https://greycat.ai/doc/ >Greycat</a></td> </tr> <tr> <td>Model drivers</td> <td>Integrate modelling technologies</td> <td><a href=https://eclipse.org/modeling/emf/ >Ecore</a>, <a href=http://www.bpmn.org/ >BPMN</a>, <a href=https://www.modelio.org/ >Modelio</a>, <a href=http://www.buildingsmart-tech.org/specifications/ifc-overview>IFC2x3/IFC4</a> in <a href=https://github.com/mondo-project/mondo-hawk-ifc>this repo</a>, and <a href=https://wiki.eclipse.org/MDT/UML2>UML2</a></td> </tr> <tr> <td>Query languages</td> <td>Translate high-level queries into efficient graph queries</td> <td><a href=http://www.eclipse.org/epsilon/doc/eol/ >Epsilon Object Language</a>, <a href=https://www.eclipse.org/epsilon/doc/epl/ >Epsilon Pattern Language</a>, <a href=https://orientdb.com/docs/2.2/SQL.html>OrientDB SQL</a></td> </tr> <tr> <td>Updaters</td> <td>Update the graph based on the detected changes in the models and metamodels</td> <td>Built-in</td> </tr> <tr> <td>VCS managers</td> <td>Integrate file-based model repositories</td> <td>Local folders, <a href=https://subversion.apache.org/ >SVN</a> repos, Eclipse workspaces, HTTP files</td> </tr> </tbody> </table> <h2 id=general-usage>General usage<a class=headerlink href=#general-usage title="Permanent link">&para;</a></h2> <p>Using Hawk generally involves these steps:</p> <ol> <li>Create a new Hawk index, based on a specific backend (e.g. Neo4j or OrientDB).</li> <li>Add the required metamodels to the index.</li> <li>Add the model repositories to be monitored.</li> <li>Wait for the initial batch insert (may take some time in large repositories).</li> <li>Add the desired indexed and derived attributes.</li> <li>Perform fast and efficient queries on the graph, using one of the supported query languages (see table above).</li> </ol> <p>In the following sections, we will show how to perform these steps.</p> <h2 id=managing-indexes-with-the-hawk-view>Managing indexes with the Hawk view<a class=headerlink href=#managing-indexes-with-the-hawk-view title="Permanent link">&para;</a></h2> <p>To manage and use Hawk indexes, first open the "Hawk" Eclipse view, using "Window &gt; Show View &gt; Other... &gt; Hawk &gt; Hawk". It should look like this:</p> <p><img alt="Hawk view in Eclipse" src=../img/hawk_view.png></p> <p>Hawk indexes are queried and managed from this view. From left to right, the buttons are:</p> <ul> <li>Query: opens the query dialog.</li> <li>Run: starts a Hawk index if it was stopped.</li> <li>Stop: stops a Hawk index if it was running.</li> <li>Sync: request the Hawk index to check the indexed repositories immediately.</li> <li>Delete: removes an index from the Hawk view, without deleting the actual database (it can be usually recovered later using the "Import" button). To remove a local index completely, select it and press <code>Shift+Delete</code>.</li> <li>New: creates a new index (more info below).</li> <li>Import: imports a Hawk index from a factory. Hawk itself only provides a "local" factory that looks at the subdirectories of the current Eclipse workspace.</li> <li>Configure: opens the index configuration dialog, which allows for managing the registered metamodels, the repositories to be indexed, the attributes to be derived and the attributes to be indexed.</li> </ul> <h2 id=creating-a-new-index>Creating a new index<a class=headerlink href=#creating-a-new-index title="Permanent link">&para;</a></h2> <p>To create a new index, open the Hawk view and use the "New" button to open this dialog:</p> <p><img alt="New Hawk index creation dialog" src=../img/new_hawk.png></p> <p>The dialog requires these fields:</p> <ul> <li>Name: a descriptive name for the index. Only used as an identifier.</li> <li>Instance type: Hawk only supports local instances, but <a href=https://github.com/mondo-project/mondo-integration>mondo-integration</a> can add support for remote instances.</li> <li>Local storage folder: folder that will store the actual database. If the folder exists, Hawk will reuse that database instead of creating a new one.</li> <li>Remote location: only used for the remote instances in <code>mondo-integrtion</code>.</li> <li>Enabled plugins: list of plugins that are currently enabled in Hawk.</li> <li>Back-end: database backend to be used (currently either Neo4j or OrientDB).</li> <li>Min/max delay: minimum and maximum delays in milliseconds between synchronisations. Hawk will start at the minimum value: every time it does not find any changes, it will double the delay up to the maximum value. If it finds a change, it will reset back to the minimum value. Periodic synchronisation can be completely disabled by changing the minimum and maximum delays to 0: in this mode, Hawk will only synchronise on startup, when a repository is added or when the user requests it manually.</li> </ul> <p>Once these fields have been filled in, Hawk will create and set up the index in a short period.</p> <h2 id=managing-metamodels>Managing metamodels<a class=headerlink href=#managing-metamodels title="Permanent link">&para;</a></h2> <p>After creating the index, the next step is to register the metamodels of the models that are going to be indexed. To do this, select the index in the Hawk view and either double click it or click on the "Configure" button. The configure dialog will open:</p> <p><img alt="Hawk configure dialog" src=../img/hawk_metamodels.png></p> <p>The configure dialog has several tabs. For managing metamodels, we need to go to the "Metamodels" tab. It will list the URIs of the currently registered metamodels. If a metamodel we need is not listed there, we can use the "Add" button to provide Hawk with the appropriate file to be indexed (e.g. the <code>.ecore</code> file for EMF-based models, or the <code>metamodel-descriptor.xml</code> for Modelio-based models). We can also "Remove" metamodels: this will remove all dependent models and metamodels as well.</p> <p>To try out Hawk, we recommend adding the <a href=https://raw.githubusercontent.com/mondo-project/mondo-hawk/master/org.hawk.emf/src/org/hawk/emf/metamodel/examples/single/JDTAST.ecore>JDTAST.ecore</a> metamodel, which was used in the <a href=http://www.emn.fr/z-info/atlanmod/index.php/GraBaTs_2009_Case_Study>GraBaTs 2009 case study from AtlanMod</a>. For Modelio metamodels, use the <a href=https://github.com/mondo-project/mondo-hawk/raw/master/tests/org.hawk.modelio.exml.tests/resources/metamodel/metamodel_descriptor.xml>metamodel-descriptor.xml</a> for Modelio 3.6 projects (for older projects, use the older descriptors included as <code>metamodel_*.xml</code> files in the Modelio 3.6 <a href=http://forge.modelio.org/projects/modelio3-development-app/files>sources</a>).</p> <p>Keep in mind that metamodels may have dependencies to others. You will need to either add all metamodels at once, or add each metamodel after those it depends upon. If adding all the metamodels at once, Hawk will rearrange their addition taking into account their mutual dependencies.</p> <p><em>Note:</em> the EMF driver can parse regular Ecore metamodels with the <code>.ecore</code> extension.</p> <p><em>Note:</em> regarding the Modelio <code>metamodel-descriptor.xml</code> files, you can find those as part of the <a href=http://forge.modelio.org/projects/modelio3-development-app/repository/show/branches/modelio3.7/platform.core/metamodel.implementation/res/migration>Modelio source code</a>.</p> <h2 id=managing-repositories>Managing repositories<a class=headerlink href=#managing-repositories title="Permanent link">&para;</a></h2> <p>Having added the metamodels of the models to be indexed, the following step is to add the repositories to be indexed. To do so, go to the "Indexed Locations" tab of the Hawk configure dialog, and use the "Add" button. Hawk will present the following dialog:</p> <p><img alt="Hawk add repository dialog" src=../img/hawk_add_repo.png></p> <p>The fields to be used are as follows:</p> <ul> <li>Type: type of repository to be indexed.</li> <li>Location: URL or path to the repository. For local folders, it is recommended to use the "Browse..." button to produce the adequate <code>file://</code> URL. For SVN, it is best to copy and paste the full URL. Finally, the location is irrelevant for workspace repositories: selecting any directory from "Browse..." will work just the same.</li> <li>User + pass: for private SVN repositories, these will be the username and password to be used to connect to the repository. Hawk will store the password on the Eclipse secure storage.</li> </ul> <p>To try out Hawk, after adding the <code>JDTAST.ecore</code> metamodel from the previous section, we recommend adding a folder with a copy of the <a href=http://docatlanmod.emn.fr/GraBaTs/set0.xmi>set0.xmi</a> file. It has around 70k model elements. To watch over the indexing process, look at the "Error Log" view or run Eclipse with the <code>-console</code> option.</p> <p>The supported file extensions are as follows:</p> <table> <thead> <tr> <th>Driver</th> <th>Extensions</th> </tr> </thead> <tbody> <tr> <td>EMF</td> <td><code>.xmi</code>, <code>.model</code>, any extensions in the EMF extension factory map that use <code>XMIResourceFactoryImpl</code>, any extensions mentioned through the <code>org.hawk.emf.model.extraExtensions</code> Java system property (e.g. <code>-Dorg.hawk.emf.model.extraExtensions=.railway,.rail</code>).</td> </tr> <tr> <td>UML2</td> <td><code>.uml</code>. <code>.profile.uml</code> files can be indexed normally and also registered as metamodels.</td> </tr> <tr> <td>BPMN</td> <td><code>.bpmn</code>, <code>.bpmn2</code>.</td> </tr> <tr> <td>Modelio</td> <td><code>.exml</code>, <code>.ramc</code>. Parses <code>mmversion.dat</code> internally for metadata.</td> </tr> <tr> <td>IFC</td> <td><code>.ifc</code>, <code>.ifcxml</code>, <code>.ifc.txt</code>, <code>.ifcxml.txt</code>, <code>.ifc.zip</code>, <code>.ifczip</code>.</td> </tr> </tbody> </table> <h2 id=managing-indexed-attributes>Managing indexed attributes<a class=headerlink href=#managing-indexed-attributes title="Permanent link">&para;</a></h2> <p>Simply indexing the models into the graph will already speed up considerably some common queries, such as finding all the instances of a type: in Hawk, this is done through direct edge traversal instead of going through the entire model. However, queries that filter model elements through the value of their attributes will need additional indexing to be set up.</p> <p>For instance, if we wanted to speed up <code>return Class.all.selectOne(c|c.name='MyClass');</code> (which returns the class named "MyClass"), we would need to index the <code>name</code> attribute in the <code>Class</code> type. To do so, we need to go to the Hawk configure dialog, select the "Indexed Attributes" tab and press the "Add" button. This dialog will open:</p> <p><img alt="Hawk dialog for adding indexed attributes" src=../img/hawk_add_indexed.png></p> <p>Its fields are as follows:</p> <ul> <li>Metamodel URI: the URI of the metamodel that has the type we want.</li> <li>Type Name: the name of the type (here "Class").</li> <li>Attribute Name: the name of the attribute to be indexed (here "name").</li> </ul> <p>Please allow some time after the dialog is closed to have Hawk generate the index.</p> <p>Currently, Hawk can index attributes with strings, booleans and numbers. Indexing will speed up not only <code>=</code>, but also <code>&gt;</code> and all the other relational operators.</p> <h2 id=managing-derived-attributes>Managing derived attributes<a class=headerlink href=#managing-derived-attributes title="Permanent link">&para;</a></h2> <p>Sometimes we will need to filter model elements through a piece of information that is not directly stored among its attributes, but is rather computed from them. To speed up the process, Hawk can keep precompute these derived attributes in the graph, keeping them up to date and indexing them. For instance, if we wanted to quickly filter UML classes by their number of operations, we would go to the Hawk configure dialog, select the "Derived Attributes" tab and click on the "Add" button. This dialog would appear:</p> <p><img alt="Hawk dialog for adding derived attributes" src=../img/hawk_add_derived.png></p> <p>The fields are as follows:</p> <ul> <li>Metamodel URI: the URI of the metamodel with the type to be extended.</li> <li>Type Name: the name of the type we are going to extend.</li> <li>Attribute Name: the name of the new derived attribute (should be unique).</li> <li>Attribute Type: the type of the new derived attribute.</li> <li>isMany: true if this is a collection of values, false otherwise.</li> <li>isOrdered: true if this is an ordered collection of values, false otherwise.</li> <li>isUnique: true if the value should provide a unique identifier, false otherwise.</li> <li>Derivation Language: query language that the derivation logic will be written on. <a href=http://www.eclipse.org/epsilon/doc/eol/ >EOL</a> is the default choice.</li> <li>Derivation Logic: expression in the chosen language that will compute the value. Hawk provides the <code>self</code> variable to access the model element being extended.</li> </ul> <p>For this particular example, we'd set the fields like this:</p> <ul> <li>Metamodel URI: the URI of the UML metamodel.</li> <li>Type Name: Class.</li> <li>Attribute Name: ownedOperationCount.</li> <li>Attribute Type: Integer.</li> <li>isMany, isOrdered, isUnique: false.</li> <li>Derivation Language: EOLQueryEngine.</li> <li>Derivation Logic: <code>return self.ownedOperation.size;</code>.</li> </ul> <p>After pressing OK, Hawk will spend some time computing the derived attribute and indexing the value. After that, queries such as <code>return Class.all.select(c|c.ownedOperationCount &gt; 20);</code> will complete much faster.</p> <h2 id=querying-the-graph>Querying the graph<a class=headerlink href=#querying-the-graph title="Permanent link">&para;</a></h2> <p>To query the indexed models, use the "Query" button of the Hawk view. This dialog will open:</p> <p><img alt="Hawk query dialog" src=../img/query_hawk.png></p> <p>The actual query can be entered through the "Query" field manually, or loaded from a file using the "Query File" button. The query should be written in the language selected in "Query Engine". The scope of the query can be limited using the "Context Repositories" and "Context Files" fields: for instance, using <code>set1.xmi</code> on the "Context Files" field would limit it to the contents of the <code>set1.xmi</code> file.</p> <p>Running the query with "Run Query" button will place the results on the "Result" field.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../installation/ title=Installation class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Installation </span> </div> </a> <a href=../examples-xmi/ title="Examples (XMI)" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Examples (XMI) </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Core concepts - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#core-concepts-and-general-usage tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Core concepts </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2 checked> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Core concepts </label> <a href=./ title="Core concepts" class="md-nav__link md-nav__link--active"> Core concepts </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#components class=md-nav__link> Components </a> </li> <li class=md-nav__item> <a href=#general-usage class=md-nav__link> General usage </a> </li> <li class=md-nav__item> <a href=#managing-indexes-with-the-hawk-view class=md-nav__link> Managing indexes with the Hawk view </a> </li> <li class=md-nav__item> <a href=#creating-a-new-index class=md-nav__link> Creating a new index </a> </li> <li class=md-nav__item> <a href=#managing-metamodels class=md-nav__link> Managing metamodels </a> </li> <li class=md-nav__item> <a href=#managing-repositories class=md-nav__link> Managing repositories </a> </li> <li class=md-nav__item> <a href=#managing-indexed-attributes class=md-nav__link> Managing indexed attributes </a> </li> <li class=md-nav__item> <a href=#managing-derived-attributes class=md-nav__link> Managing derived attributes </a> </li> <li class=md-nav__item> <a href=#querying-the-graph class=md-nav__link> Querying the graph </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#components class=md-nav__link> Components </a> </li> <li class=md-nav__item> <a href=#general-usage class=md-nav__link> General usage </a> </li> <li class=md-nav__item> <a href=#managing-indexes-with-the-hawk-view class=md-nav__link> Managing indexes with the Hawk view </a> </li> <li class=md-nav__item> <a href=#creating-a-new-index class=md-nav__link> Creating a new index </a> </li> <li class=md-nav__item> <a href=#managing-metamodels class=md-nav__link> Managing metamodels </a> </li> <li class=md-nav__item> <a href=#managing-repositories class=md-nav__link> Managing repositories </a> </li> <li class=md-nav__item> <a href=#managing-indexed-attributes class=md-nav__link> Managing indexed attributes </a> </li> <li class=md-nav__item> <a href=#managing-derived-attributes class=md-nav__link> Managing derived attributes </a> </li> <li class=md-nav__item> <a href=#querying-the-graph class=md-nav__link> Querying the graph </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1 id=core-concepts-and-general-usage>Core concepts and general usage<a class=headerlink href=#core-concepts-and-general-usage title="Permanent link">&para;</a></h1> <h2 id=components>Components<a class=headerlink href=#components title="Permanent link">&para;</a></h2> <p>Hawk is an extensible system. Currently, it contains the following kinds of components:</p> <table> <thead> <tr> <th>Type</th> <th>Role</th> <th>Current implementations</th> </tr> </thead> <tbody> <tr> <td>Change listeners</td> <td>React to changes in the graph produced by the updaters</td> <td>Tracing, Validation</td> </tr> <tr> <td>Graph backends</td> <td>Integrate database technologies</td> <td><a href=http://neo4j.com/ >Neo4j</a>, <a href=http://orientdb.com/ >OrientDB</a>, <a href=https://greycat.ai/doc/ >Greycat</a></td> </tr> <tr> <td>Model drivers</td> <td>Integrate modelling technologies</td> <td><a href=https://eclipse.org/modeling/emf/ >Ecore</a>, <a href=http://www.bpmn.org/ >BPMN</a>, <a href=https://www.modelio.org/ >Modelio</a>, <a href=http://www.buildingsmart-tech.org/specifications/ifc-overview>IFC2x3/IFC4</a> in <a href=https://github.com/mondo-project/mondo-hawk-ifc>this repo</a>, and <a href=https://wiki.eclipse.org/MDT/UML2>UML2</a></td> </tr> <tr> <td>Query languages</td> <td>Translate high-level queries into efficient graph queries</td> <td><a href=http://www.eclipse.org/epsilon/doc/eol/ >Epsilon Object Language</a>, <a href=https://www.eclipse.org/epsilon/doc/epl/ >Epsilon Pattern Language</a>, <a href=https://orientdb.com/docs/2.2/SQL.html>OrientDB SQL</a></td> </tr> <tr> <td>Updaters</td> <td>Update the graph based on the detected changes in the models and metamodels</td> <td>Built-in</td> </tr> <tr> <td>VCS managers</td> <td>Integrate file-based model repositories</td> <td>Local folders, <a href=https://subversion.apache.org/ >SVN</a> repos, Eclipse workspaces, HTTP files</td> </tr> </tbody> </table> <h2 id=general-usage>General usage<a class=headerlink href=#general-usage title="Permanent link">&para;</a></h2> <p>Using Hawk generally involves these steps:</p> <ol> <li>Create a new Hawk index, based on a specific backend (e.g. Neo4j or OrientDB).</li> <li>Add the required metamodels to the index.</li> <li>Add the model repositories to be monitored.</li> <li>Wait for the initial batch insert (may take some time in large repositories).</li> <li>Add the desired indexed and derived attributes.</li> <li>Perform fast and efficient queries on the graph, using one of the supported query languages (see table above).</li> </ol> <p>In the following sections, we will show how to perform these steps.</p> <h2 id=managing-indexes-with-the-hawk-view>Managing indexes with the Hawk view<a class=headerlink href=#managing-indexes-with-the-hawk-view title="Permanent link">&para;</a></h2> <p>To manage and use Hawk indexes, first open the "Hawk" Eclipse view, using "Window &gt; Show View &gt; Other... &gt; Hawk &gt; Hawk". It should look like this:</p> <p><img alt="Hawk view in Eclipse" src=../img/hawk_view.png></p> <p>Hawk indexes are queried and managed from this view. From left to right, the buttons are:</p> <ul> <li>Query: opens the query dialog.</li> <li>Run: starts a Hawk index if it was stopped.</li> <li>Stop: stops a Hawk index if it was running.</li> <li>Sync: request the Hawk index to check the indexed repositories immediately.</li> <li>Delete: removes an index from the Hawk view, without deleting the actual database (it can be usually recovered later using the "Import" button). To remove a local index completely, select it and press <code>Shift+Delete</code>.</li> <li>New: creates a new index (more info below).</li> <li>Import: imports a Hawk index from a factory. Hawk itself only provides a "local" factory that looks at the subdirectories of the current Eclipse workspace.</li> <li>Configure: opens the index configuration dialog, which allows for managing the registered metamodels, the repositories to be indexed, the attributes to be derived and the attributes to be indexed.</li> </ul> <h2 id=creating-a-new-index>Creating a new index<a class=headerlink href=#creating-a-new-index title="Permanent link">&para;</a></h2> <p>To create a new index, open the Hawk view and use the "New" button to open this dialog:</p> <p><img alt="New Hawk index creation dialog" src=../img/new_hawk.png></p> <p>The dialog requires these fields:</p> <ul> <li>Name: a descriptive name for the index. Only used as an identifier.</li> <li>Instance type: Hawk only supports local instances, but <a href=https://github.com/mondo-project/mondo-integration>mondo-integration</a> can add support for remote instances.</li> <li>Local storage folder: folder that will store the actual database. If the folder exists, Hawk will reuse that database instead of creating a new one.</li> <li>Remote location: only used for the remote instances in <code>mondo-integrtion</code>.</li> <li>Enabled plugins: list of plugins that are currently enabled in Hawk.</li> <li>Back-end: database backend to be used (currently either Neo4j or OrientDB).</li> <li>Min/max delay: minimum and maximum delays in milliseconds between synchronisations. Hawk will start at the minimum value: every time it does not find any changes, it will double the delay up to the maximum value. If it finds a change, it will reset back to the minimum value. Periodic synchronisation can be completely disabled by changing the minimum and maximum delays to 0: in this mode, Hawk will only synchronise on startup, when a repository is added or when the user requests it manually.</li> </ul> <p>Once these fields have been filled in, Hawk will create and set up the index in a short period.</p> <h2 id=managing-metamodels>Managing metamodels<a class=headerlink href=#managing-metamodels title="Permanent link">&para;</a></h2> <p>After creating the index, the next step is to register the metamodels of the models that are going to be indexed. To do this, select the index in the Hawk view and either double click it or click on the "Configure" button. The configure dialog will open:</p> <p><img alt="Hawk configure dialog" src=../img/hawk_metamodels.png></p> <p>The configure dialog has several tabs. For managing metamodels, we need to go to the "Metamodels" tab. It will list the URIs of the currently registered metamodels. If a metamodel we need is not listed there, we can use the "Add" button to provide Hawk with the appropriate file to be indexed (e.g. the <code>.ecore</code> file for EMF-based models, or the <code>metamodel-descriptor.xml</code> for Modelio-based models). We can also "Remove" metamodels: this will remove all dependent models and metamodels as well.</p> <p>To try out Hawk, we recommend adding the <a href=https://raw.githubusercontent.com/mondo-project/mondo-hawk/master/org.hawk.emf/src/org/hawk/emf/metamodel/examples/single/JDTAST.ecore>JDTAST.ecore</a> metamodel, which was used in the <a href=http://www.emn.fr/z-info/atlanmod/index.php/GraBaTs_2009_Case_Study>GraBaTs 2009 case study from AtlanMod</a>. For Modelio metamodels, use the <a href=https://github.com/mondo-project/mondo-hawk/raw/master/tests/org.hawk.modelio.exml.tests/resources/metamodel/metamodel_descriptor.xml>metamodel-descriptor.xml</a> for Modelio 3.6 projects (for older projects, use the older descriptors included as <code>metamodel_*.xml</code> files in the Modelio 3.6 <a href=http://forge.modelio.org/projects/modelio3-development-app/files>sources</a>).</p> <p>Keep in mind that metamodels may have dependencies to others. You will need to either add all metamodels at once, or add each metamodel after those it depends upon. If adding all the metamodels at once, Hawk will rearrange their addition taking into account their mutual dependencies.</p> <p><em>Note:</em> the EMF driver can parse regular Ecore metamodels with the <code>.ecore</code> extension.</p> <p><em>Note:</em> regarding the Modelio <code>metamodel-descriptor.xml</code> files, you can find those as part of the <a href=http://forge.modelio.org/projects/modelio3-development-app/repository/show/branches/modelio3.7/platform.core/metamodel.implementation/res/migration>Modelio source code</a>.</p> <h2 id=managing-repositories>Managing repositories<a class=headerlink href=#managing-repositories title="Permanent link">&para;</a></h2> <p>Having added the metamodels of the models to be indexed, the following step is to add the repositories to be indexed. To do so, go to the "Indexed Locations" tab of the Hawk configure dialog, and use the "Add" button. Hawk will present the following dialog:</p> <p><img alt="Hawk add repository dialog" src=../img/hawk_add_repo.png></p> <p>The fields to be used are as follows:</p> <ul> <li>Type: type of repository to be indexed.</li> <li>Location: URL or path to the repository. For local folders, it is recommended to use the "Browse..." button to produce the adequate <code>file://</code> URL. For SVN, it is best to copy and paste the full URL. Finally, the location is irrelevant for workspace repositories: selecting any directory from "Browse..." will work just the same.</li> <li>User + pass: for private SVN repositories, these will be the username and password to be used to connect to the repository. Hawk will store the password on the Eclipse secure storage.</li> </ul> <p>To try out Hawk, after adding the <code>JDTAST.ecore</code> metamodel from the previous section, we recommend adding a folder with a copy of the <a href=http://docatlanmod.emn.fr/GraBaTs/set0.xmi>set0.xmi</a> file. It has around 70k model elements. To watch over the indexing process, look at the "Error Log" view or run Eclipse with the <code>-console</code> option.</p> <p>The supported file extensions are as follows:</p> <table> <thead> <tr> <th>Driver</th> <th>Extensions</th> </tr> </thead> <tbody> <tr> <td>EMF</td> <td><code>.xmi</code>, <code>.model</code>, any extensions in the EMF extension factory map that use <code>XMIResourceFactoryImpl</code>, any extensions mentioned through the <code>org.hawk.emf.model.extraExtensions</code> Java system property (e.g. <code>-Dorg.hawk.emf.model.extraExtensions=.railway,.rail</code>).</td> </tr> <tr> <td>UML2</td> <td><code>.uml</code>. <code>.profile.uml</code> files can be indexed normally and also registered as metamodels.</td> </tr> <tr> <td>BPMN</td> <td><code>.bpmn</code>, <code>.bpmn2</code>.</td> </tr> <tr> <td>Modelio</td> <td><code>.exml</code>, <code>.ramc</code>. Parses <code>mmversion.dat</code> internally for metadata.</td> </tr> <tr> <td>IFC</td> <td><code>.ifc</code>, <code>.ifcxml</code>, <code>.ifc.txt</code>, <code>.ifcxml.txt</code>, <code>.ifc.zip</code>, <code>.ifczip</code>.</td> </tr> </tbody> </table> <h2 id=managing-indexed-attributes>Managing indexed attributes<a class=headerlink href=#managing-indexed-attributes title="Permanent link">&para;</a></h2> <p>Simply indexing the models into the graph will already speed up considerably some common queries, such as finding all the instances of a type: in Hawk, this is done through direct edge traversal instead of going through the entire model. However, queries that filter model elements through the value of their attributes will need additional indexing to be set up.</p> <p>For instance, if we wanted to speed up <code>return Class.all.selectOne(c|c.name='MyClass');</code> (which returns the class named "MyClass"), we would need to index the <code>name</code> attribute in the <code>Class</code> type. To do so, we need to go to the Hawk configure dialog, select the "Indexed Attributes" tab and press the "Add" button. This dialog will open:</p> <p><img alt="Hawk dialog for adding indexed attributes" src=../img/hawk_add_indexed.png></p> <p>Its fields are as follows:</p> <ul> <li>Metamodel URI: the URI of the metamodel that has the type we want.</li> <li>Type Name: the name of the type (here "Class").</li> <li>Attribute Name: the name of the attribute to be indexed (here "name").</li> </ul> <p>Please allow some time after the dialog is closed to have Hawk generate the index.</p> <p>Currently, Hawk can index attributes with strings, booleans and numbers. Indexing will speed up not only <code>=</code>, but also <code>&gt;</code> and all the other relational operators.</p> <h2 id=managing-derived-attributes>Managing derived attributes<a class=headerlink href=#managing-derived-attributes title="Permanent link">&para;</a></h2> <p>Sometimes we will need to filter model elements through a piece of information that is not directly stored among its attributes, but is rather computed from them. To speed up the process, Hawk can keep precompute these derived attributes in the graph, keeping them up to date and indexing them. For instance, if we wanted to quickly filter UML classes by their number of operations, we would go to the Hawk configure dialog, select the "Derived Attributes" tab and click on the "Add" button. This dialog would appear:</p> <p><img alt="Hawk dialog for adding derived attributes" src=../img/hawk_add_derived.png></p> <p>The fields are as follows:</p> <ul> <li>Metamodel URI: the URI of the metamodel with the type to be extended.</li> <li>Type Name: the name of the type we are going to extend.</li> <li>Attribute Name: the name of the new derived attribute (should be unique).</li> <li>Attribute Type: the type of the new derived attribute.</li> <li>isMany: true if this is a collection of values, false otherwise.</li> <li>isOrdered: true if this is an ordered collection of values, false otherwise.</li> <li>isUnique: true if the value should provide a unique identifier, false otherwise.</li> <li>Derivation Language: query language that the derivation logic will be written on. <a href=http://www.eclipse.org/epsilon/doc/eol/ >EOL</a> is the default choice.</li> <li>Derivation Logic: expression in the chosen language that will compute the value. Hawk provides the <code>self</code> variable to access the model element being extended.</li> </ul> <p>For this particular example, we'd set the fields like this:</p> <ul> <li>Metamodel URI: the URI of the UML metamodel.</li> <li>Type Name: Class.</li> <li>Attribute Name: ownedOperationCount.</li> <li>Attribute Type: Integer.</li> <li>isMany, isOrdered, isUnique: false.</li> <li>Derivation Language: EOLQueryEngine.</li> <li>Derivation Logic: <code>return self.ownedOperation.size;</code>.</li> </ul> <p>After pressing OK, Hawk will spend some time computing the derived attribute and indexing the value. After that, queries such as <code>return Class.all.select(c|c.ownedOperationCount &gt; 20);</code> will complete much faster.</p> <h2 id=querying-the-graph>Querying the graph<a class=headerlink href=#querying-the-graph title="Permanent link">&para;</a></h2> <p>To query the indexed models, use the "Query" button of the Hawk view. This dialog will open:</p> <p><img alt="Hawk query dialog" src=../img/query_hawk.png></p> <p>The actual query can be entered through the "Query" field manually, or loaded from a file using the "Query File" button. The query should be written in the language selected in "Query Engine". The scope of the query can be limited using the "Context Repositories" and "Context Files" fields: for instance, using <code>set1.xmi</code> on the "Context Files" field would limit it to the contents of the <code>set1.xmi</code> file.</p> <p>Running the query with "Run Query" button will place the results on the "Result" field.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../installation/ title=Installation class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Installation </span> </div> </a> <a href=../examples-xmi/ title="Examples (XMI)" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Examples (XMI) </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/basic-use/examples-modelio/index.html b/basic-use/examples-modelio/index.html
index e5fe112..fcd143e 100644
--- a/basic-use/examples-modelio/index.html
+++ b/basic-use/examples-modelio/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Examples (Modelio) - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#example-queries-on-modelio-models tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Examples (Modelio) </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2 checked> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Examples (Modelio)" class="md-nav__link md-nav__link--active"> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1 id=example-queries-on-modelio-models>Example queries on Modelio models<a class=headerlink href=#example-queries-on-modelio-models title="Permanent link">&para;</a></h1> <p>This article shows several example queries on Modelio projects. The Modelio model driver does not use the XMI export in Modelio: instead, it parses <code>.exml</code> files directly (which might be contained in <code>.ramc</code> files) and understands metamodels described in Modelio <code>metamodel_descriptor.xml</code> files. (To obtain one, download the source code for your Modelio version and search within it. <a href=https://github.com/mondo-project/mondo-hawk/raw/master/tests/org.hawk.modelio.exml.tests/resources/metamodel/metamodel_descriptor.xml>Here</a> is a copy of the one used for Modelio 3.6.)</p> <p>All the queries are written in the <a href=http://www.eclipse.org/epsilon/doc/eol/ >Epsilon Object Language</a>, and assume that the <a href=https://github.com/mondo-project/mondo-hawk/raw/gh-pages/examples/models/zoo/Zoo.modelio.zip>toy Zoo Modelio project</a> has been indexed. The queries are based on those in [[the XMI-based UML examples page|Example queries on XMI based UML models]]. The underlying UML model looks like this:</p> <p><img alt="Example UML model" src=../img/zoo-classes.png></p> <p>To avoid ambiguity in type names, the default namespaces list in the query dialog should include <code>modelio://uml::statik</code>.</p> <h1 id=all-instances-of-a-type>All instances of a type<a class=headerlink href=#all-instances-of-a-type title="Permanent link">&para;</a></h1> <p>Returns the number of instances of "Class" in the index:</p> <div class=codehilite><pre><span></span><span class=k>return</span> <span class=nx>Class</span><span class=p>.</span><span class=nx>all</span><span class=p>.</span><span class=nx>size</span><span class=p>;</span>
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Examples (Modelio) - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#example-queries-on-modelio-models tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Examples (Modelio) </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2 checked> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Examples (Modelio)" class="md-nav__link md-nav__link--active"> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1 id=example-queries-on-modelio-models>Example queries on Modelio models<a class=headerlink href=#example-queries-on-modelio-models title="Permanent link">&para;</a></h1> <p>This article shows several example queries on Modelio projects. The Modelio model driver does not use the XMI export in Modelio: instead, it parses <code>.exml</code> files directly (which might be contained in <code>.ramc</code> files) and understands metamodels described in Modelio <code>metamodel_descriptor.xml</code> files. (To obtain one, download the source code for your Modelio version and search within it. <a href=https://github.com/mondo-project/mondo-hawk/raw/master/tests/org.hawk.modelio.exml.tests/resources/metamodel/metamodel_descriptor.xml>Here</a> is a copy of the one used for Modelio 3.6.)</p> <p>All the queries are written in the <a href=http://www.eclipse.org/epsilon/doc/eol/ >Epsilon Object Language</a>, and assume that the <a href=https://github.com/mondo-project/mondo-hawk/raw/gh-pages/examples/models/zoo/Zoo.modelio.zip>toy Zoo Modelio project</a> has been indexed. The queries are based on those in [[the XMI-based UML examples page|Example queries on XMI based UML models]]. The underlying UML model looks like this:</p> <p><img alt="Example UML model" src=../img/zoo-classes.png></p> <p>To avoid ambiguity in type names, the default namespaces list in the query dialog should include <code>modelio://uml::statik</code>.</p> <h1 id=all-instances-of-a-type>All instances of a type<a class=headerlink href=#all-instances-of-a-type title="Permanent link">&para;</a></h1> <p>Returns the number of instances of "Class" in the index:</p> <div class=codehilite><pre><span></span><span class=k>return</span> <span class=nx>Class</span><span class=p>.</span><span class=nx>all</span><span class=p>.</span><span class=nx>size</span><span class=p>;</span>
 </pre></div> <h1 id=metamodel-uri-for-the-class-type>Metamodel URI for the "Class" type<a class=headerlink href=#metamodel-uri-for-the-class-type title="Permanent link">&para;</a></h1> <p>Returns the URI of the metamodel that contains the "Class" type (<code>modelio://uml::statik</code>):</p> <div class=codehilite><pre><span></span><span class=k>return</span> <span class=nx>Model</span><span class=p>.</span><span class=nx>types</span><span class=p>.</span><span class=nx>selectOne</span><span class=p>(</span><span class=nx>t</span><span class=o>|</span><span class=nx>t</span><span class=p>.</span><span class=nx>name</span> <span class=o>=</span> <span class=s1>&#39;Class&#39;</span><span class=p>).</span><span class=nx>metamodel</span><span class=p>.</span><span class=nx>uri</span><span class=p>;</span>
 </pre></div> <h1 id=reference-slots-in-a-type>Reference slots in a type<a class=headerlink href=#reference-slots-in-a-type title="Permanent link">&para;</a></h1> <p>Returns the reference slots in the type "Class":</p> <div class=codehilite><pre><span></span><span class=k>return</span> <span class=nx>Model</span><span class=p>.</span><span class=nx>types</span><span class=p>.</span><span class=nx>select</span><span class=p>(</span><span class=nx>t</span><span class=o>|</span><span class=nx>t</span><span class=p>.</span><span class=nx>name</span><span class=o>=</span><span class=s1>&#39;Class&#39;</span><span class=p>).</span><span class=nx>references</span><span class=p>;</span>
 </pre></div> <h1 id=reference-traversal>Reference traversal<a class=headerlink href=#reference-traversal title="Permanent link">&para;</a></h1> <p>Returns the superclass of "Zebra" by navigating the "Parent" and "SuperType" associations present in the Modelio metamodel:</p> <div class=codehilite><pre><span></span><span class=k>return</span> <span class=nx>Class</span><span class=p>.</span><span class=nx>all</span>
diff --git a/basic-use/examples-xmi/index.html b/basic-use/examples-xmi/index.html
index 759d11c..37c4a74 100644
--- a/basic-use/examples-xmi/index.html
+++ b/basic-use/examples-xmi/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Examples (XMI) - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#example-queries-on-xmi-models tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Examples (XMI) </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2 checked> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Examples (XMI) </label> <a href=./ title="Examples (XMI)" class="md-nav__link md-nav__link--active"> Examples (XMI) </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#all-instances-of-a-type class=md-nav__link> All instances of a type </a> </li> <li class=md-nav__item> <a href=#reference-slots-in-a-type class=md-nav__link> Reference slots in a type </a> </li> <li class=md-nav__item> <a href=#reference-traversal class=md-nav__link> Reference traversal </a> </li> <li class=md-nav__item> <a href=#reverse-reference-traversal class=md-nav__link> Reverse reference traversal </a> </li> <li class=md-nav__item> <a href=#range-queries-with-indexed-or-derived-integer-attributes class=md-nav__link> Range queries with indexed or derived integer attributes </a> </li> <li class=md-nav__item> <a href=#advanced-example-loops-variables-and-custom-operations class=md-nav__link> Advanced example: loops, variables and custom operations </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#all-instances-of-a-type class=md-nav__link> All instances of a type </a> </li> <li class=md-nav__item> <a href=#reference-slots-in-a-type class=md-nav__link> Reference slots in a type </a> </li> <li class=md-nav__item> <a href=#reference-traversal class=md-nav__link> Reference traversal </a> </li> <li class=md-nav__item> <a href=#reverse-reference-traversal class=md-nav__link> Reverse reference traversal </a> </li> <li class=md-nav__item> <a href=#range-queries-with-indexed-or-derived-integer-attributes class=md-nav__link> Range queries with indexed or derived integer attributes </a> </li> <li class=md-nav__item> <a href=#advanced-example-loops-variables-and-custom-operations class=md-nav__link> Advanced example: loops, variables and custom operations </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1 id=example-queries-on-xmi-models>Example queries on XMI models<a class=headerlink href=#example-queries-on-xmi-models title="Permanent link">&para;</a></h1> <p>These are some sample queries that can be done on any set of indexed XMI-based UML models, assuming that <code>Class::name</code> has been added as an indexed attribute and <code>Class::ownedOperationCount</code> has been defined as a derived attribute (as showed in [[Basic concepts and usage]]). All the queries are written in the <a href=http://www.eclipse.org/epsilon/doc/eol/ >Epsilon Object Language</a>.</p> <p>In order to index XMI-based UML models, you only need to enable the <code>UMLMetaModelResourceFactory</code> and <code>UMLModelResourceFactory</code> plugins when you create a new Hawk instance, and ensure your files have the <code>.uml</code> extension. If you are using any predefined UML data types, you may also want to add a <code>PredefinedUMLLibraries</code> location inside "Indexed Locations": that will integrate those predefined objects into the Hawk graph, allowing you to reference them on queries.</p> <p>The rest of this article will run on <a href=https://raw.githubusercontent.com/mondo-project/mondo-hawk/gh-pages/examples/models/zoo/zoo.xmi>this toy XMI-based UML file</a>, which was exported from <a href=https://github.com/mondo-project/mondo-hawk/raw/gh-pages/examples/models/zoo/Zoo.modelio.zip>this Modelio 3.2.1 project</a>:</p> <p><img alt="Example UML model" src=../img/zoo-classes.png></p> <p>To avoid ambiguity in type names, the default namespaces list in the query dialog should include the UML metamodel URI (<code>http://www.eclipse.org/uml2/5.0.0/UML</code> for the above <code>UML.ecore</code> file).</p> <h2 id=all-instances-of-a-type>All instances of a type<a class=headerlink href=#all-instances-of-a-type title="Permanent link">&para;</a></h2> <div class=codehilite><pre><span></span>return Class.all.size;
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Examples (XMI) - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#example-queries-on-xmi-models tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Examples (XMI) </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2 checked> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Examples (XMI) </label> <a href=./ title="Examples (XMI)" class="md-nav__link md-nav__link--active"> Examples (XMI) </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#all-instances-of-a-type class=md-nav__link> All instances of a type </a> </li> <li class=md-nav__item> <a href=#reference-slots-in-a-type class=md-nav__link> Reference slots in a type </a> </li> <li class=md-nav__item> <a href=#reference-traversal class=md-nav__link> Reference traversal </a> </li> <li class=md-nav__item> <a href=#reverse-reference-traversal class=md-nav__link> Reverse reference traversal </a> </li> <li class=md-nav__item> <a href=#range-queries-with-indexed-or-derived-integer-attributes class=md-nav__link> Range queries with indexed or derived integer attributes </a> </li> <li class=md-nav__item> <a href=#advanced-example-loops-variables-and-custom-operations class=md-nav__link> Advanced example: loops, variables and custom operations </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#all-instances-of-a-type class=md-nav__link> All instances of a type </a> </li> <li class=md-nav__item> <a href=#reference-slots-in-a-type class=md-nav__link> Reference slots in a type </a> </li> <li class=md-nav__item> <a href=#reference-traversal class=md-nav__link> Reference traversal </a> </li> <li class=md-nav__item> <a href=#reverse-reference-traversal class=md-nav__link> Reverse reference traversal </a> </li> <li class=md-nav__item> <a href=#range-queries-with-indexed-or-derived-integer-attributes class=md-nav__link> Range queries with indexed or derived integer attributes </a> </li> <li class=md-nav__item> <a href=#advanced-example-loops-variables-and-custom-operations class=md-nav__link> Advanced example: loops, variables and custom operations </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1 id=example-queries-on-xmi-models>Example queries on XMI models<a class=headerlink href=#example-queries-on-xmi-models title="Permanent link">&para;</a></h1> <p>These are some sample queries that can be done on any set of indexed XMI-based UML models, assuming that <code>Class::name</code> has been added as an indexed attribute and <code>Class::ownedOperationCount</code> has been defined as a derived attribute (as showed in [[Basic concepts and usage]]). All the queries are written in the <a href=http://www.eclipse.org/epsilon/doc/eol/ >Epsilon Object Language</a>.</p> <p>In order to index XMI-based UML models, you only need to enable the <code>UMLMetaModelResourceFactory</code> and <code>UMLModelResourceFactory</code> plugins when you create a new Hawk instance, and ensure your files have the <code>.uml</code> extension. If you are using any predefined UML data types, you may also want to add a <code>PredefinedUMLLibraries</code> location inside "Indexed Locations": that will integrate those predefined objects into the Hawk graph, allowing you to reference them on queries.</p> <p>The rest of this article will run on <a href=https://raw.githubusercontent.com/mondo-project/mondo-hawk/gh-pages/examples/models/zoo/zoo.xmi>this toy XMI-based UML file</a>, which was exported from <a href=https://github.com/mondo-project/mondo-hawk/raw/gh-pages/examples/models/zoo/Zoo.modelio.zip>this Modelio 3.2.1 project</a>:</p> <p><img alt="Example UML model" src=../img/zoo-classes.png></p> <p>To avoid ambiguity in type names, the default namespaces list in the query dialog should include the UML metamodel URI (<code>http://www.eclipse.org/uml2/5.0.0/UML</code> for the above <code>UML.ecore</code> file).</p> <h2 id=all-instances-of-a-type>All instances of a type<a class=headerlink href=#all-instances-of-a-type title="Permanent link">&para;</a></h2> <div class=codehilite><pre><span></span>return Class.all.size;
 </pre></div> <p>Returns the total number of classes within the specified scope. If you leave "Context Files" empty, it'll count all the classes in all the projects. If you put "*OSS.modelio.zip" in "Context Files", it'll count only the classes within the OSS project. This is faster than going through the model because we can go to the Class node and then simply count all the incoming edges with label "ofType".</p> <p><img alt="Query result" src=../img/query01_all-instances.png></p> <h2 id=reference-slots-in-a-type>Reference slots in a type<a class=headerlink href=#reference-slots-in-a-type title="Permanent link">&para;</a></h2> <div class=codehilite><pre><span></span>return Model.types.select(t|t.name=&#39;Class&#39;).references;
 </pre></div> <p>Gives you all the reference slots in the UML "Class" type. This is an example of the queries that can be performed at the "meta" level: more details are available in [[Meta level queries in Hawk]]. The query dialog with the result would look like this:</p> <p><img alt="Query result" src=../img/query02_refslots.png></p> <h2 id=reference-traversal>Reference traversal<a class=headerlink href=#reference-traversal title="Permanent link">&para;</a></h2> <div class=codehilite><pre><span></span>return Class.all
   .select(c|c.qualifiedName=&#39;zoo::Zebra&#39;)
diff --git a/basic-use/installation/index.html b/basic-use/installation/index.html
index 843ba5e..390312f 100644
--- a/basic-use/installation/index.html
+++ b/basic-use/installation/index.html
@@ -1,2 +1,2 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Installation - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Installation </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2 checked> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title=Installation class="md-nav__link md-nav__link--active"> Installation </a> </li> <li class=md-nav__item> <a href=../core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Installation</h1> <p>Hawk can be used as a regular Java library (to be embedded within another Java program) or as a set of plugins for the <a href=http://www.eclipse.org/ >Eclipse</a> IDE.</p> <p>To install most of Hawk's Eclipse plugins, point your installation to this update site, which is kept up to date automatically using Travis:</p> <div class=codehilite><pre><span></span>https://download.eclipse.org/hawk/1.2.0/updates/
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Installation - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Installation </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2 checked> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title=Installation class="md-nav__link md-nav__link--active"> Installation </a> </li> <li class=md-nav__item> <a href=../core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Installation</h1> <p>Hawk can be used as a regular Java library (to be embedded within another Java program) or as a set of plugins for the <a href=http://www.eclipse.org/ >Eclipse</a> IDE.</p> <p>To install most of Hawk's Eclipse plugins, point your installation to this update site, which is kept up to date automatically using Travis:</p> <div class=codehilite><pre><span></span>https://download.eclipse.org/hawk/1.2.0/updates/
 </pre></div> <p>This is a composite update site, which contains not only Hawk, but also its dependencies. Simply check all the categories that start with "Hawk".</p> <p>Some of the components in Hawk cannot be redistributed in binary form due to incompatible licenses. You will need to build the update site for these restricted components yourself: please consult the developer resources in the wiki to do that.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../.. title=Home class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Home </span> </div> </a> <a href=../core-concepts/ title="Core concepts" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Core concepts </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/basic-use/papyrus/index.html b/basic-use/papyrus/index.html
index 7a53db5..48c60c8 100644
--- a/basic-use/papyrus/index.html
+++ b/basic-use/papyrus/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Papyrus UML support - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#supported-file-extensions tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Papyrus UML support </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2 checked> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Papyrus UML support </label> <a href=./ title="Papyrus UML support" class="md-nav__link md-nav__link--active"> Papyrus UML support </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#supported-file-extensions class=md-nav__link> Supported file extensions </a> </li> <li class=md-nav__item> <a href=#predefined-uml-packages class=md-nav__link> Predefined UML packages </a> </li> <li class=md-nav__item> <a href=#multi-version-papyrus-uml-profile-support class=md-nav__link> Multi-version Papyrus UML profile support </a> </li> <li class=md-nav__item> <a href=#example-using-hawk-to-index-all-uml-models-in-an-eclipse-workspace class=md-nav__link> Example: using Hawk to index all UML models in an Eclipse workspace </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#models class=md-nav__link> Models </a> </li> <li class=md-nav__item> <a href=#creating-the-hawk-index class=md-nav__link> Creating the Hawk index </a> </li> <li class=md-nav__item> <a href=#adding-metamodels-and-models class=md-nav__link> Adding metamodels and models </a> </li> <li class=md-nav__item> <a href=#querying-hawk class=md-nav__link> Querying Hawk </a> </li> <li class=md-nav__item> <a href=#finding-uml-objects-by-stereotype class=md-nav__link> Finding UML objects by stereotype </a> </li> <li class=md-nav__item> <a href=#finding-stereotype-applications-from-the-uml-object class=md-nav__link> Finding stereotype applications from the UML object </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#supported-file-extensions class=md-nav__link> Supported file extensions </a> </li> <li class=md-nav__item> <a href=#predefined-uml-packages class=md-nav__link> Predefined UML packages </a> </li> <li class=md-nav__item> <a href=#multi-version-papyrus-uml-profile-support class=md-nav__link> Multi-version Papyrus UML profile support </a> </li> <li class=md-nav__item> <a href=#example-using-hawk-to-index-all-uml-models-in-an-eclipse-workspace class=md-nav__link> Example: using Hawk to index all UML models in an Eclipse workspace </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#models class=md-nav__link> Models </a> </li> <li class=md-nav__item> <a href=#creating-the-hawk-index class=md-nav__link> Creating the Hawk index </a> </li> <li class=md-nav__item> <a href=#adding-metamodels-and-models class=md-nav__link> Adding metamodels and models </a> </li> <li class=md-nav__item> <a href=#querying-hawk class=md-nav__link> Querying Hawk </a> </li> <li class=md-nav__item> <a href=#finding-uml-objects-by-stereotype class=md-nav__link> Finding UML objects by stereotype </a> </li> <li class=md-nav__item> <a href=#finding-stereotype-applications-from-the-uml-object class=md-nav__link> Finding stereotype applications from the UML object </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Papyrus UML support</h1> <p>Hawk includes specific support for MDT2 UML models and UML profiles developed using Papyrus UML. This can be used by enabling the <code>UMLMetaModelResourceFactory</code> and <code>UMLModelResourceFactory</code> plugins when creating a Hawk instance.</p> <p>The implementation mostly reuses MDT UML2 and Papyrus UML as-is, in order to maximize compatibility. There are some minor caveats, which are documented in this page.</p> <h2 id=supported-file-extensions>Supported file extensions<a class=headerlink href=#supported-file-extensions title="Permanent link">&para;</a></h2> <p>Hawk indexes plain UML2 models with the <code>.uml</code> extension, and Papyrus profiles with the <code>.profile.uml</code> extension. It does not index <code>.di</code> nor <code>.notation</code> files at the moment, as these do not provide semantic information.</p> <p><code>.xmi</code> files are not indexed by the Hawk UML components, to avoid conflicts with the plain EMF support (matching the file to the proper model resource is done strictly by file extension). You are recommended to rename your UML2 XMI files to <code>.uml</code> for now.</p> <h2 id=predefined-uml-packages>Predefined UML packages<a class=headerlink href=#predefined-uml-packages title="Permanent link">&para;</a></h2> <p>UML2 provides an implementation of the UML standard libraries, with packages containing some common datatypes (e.g. String or Integer). If your models use any of these libraries, we heavily recommend that you add a <code>PredefinedUMLLibraries</code> component in your "Indexed Locations" section. Otherwise, any references from your models to the libraries will be left unresolved, and you will not be able to use those predefined entities in your queries.</p> <p>This is because Hawk operates normally on files, and the predefined UML libraries are generally bundled within the UML2 plugins. The <code>PredefinedUMLLibraries</code> exposes those bundled resources to Hawk in a way that is transparent to the querying language.</p> <h2 id=multi-version-papyrus-uml-profile-support>Multi-version Papyrus UML profile support<a class=headerlink href=#multi-version-papyrus-uml-profile-support title="Permanent link">&para;</a></h2> <p>Beyond registering all the metamodels required to index plain UML models, the UML metamodel resource factory in Hawk can register <code>.profile.uml</code> files as metamodels. This allows us to index UML models with custom profiles in Hawk.</p> <p>Since UML profiles can be versioned, Hawk will register version <code>X.Y.Z</code> of profile with URI <code>http://your/profile</code> with <code>http://your/profile/X.Y.Z</code> as the URI. When querying with Hawk, you will have to specify <code>http://your/profile/X.Y.Z</code> in your default namespaces, in order to resolve the ambiguity that may exist between multiple versions of the same metamodel.</p> <p>If a new version of the UML profile is created, you will need to register the <code>.profile.uml</code> file again with Hawk before it can index models that use that version of the profile. Hawk treats entities of different versions of the same profile as entirely different types.</p> <p>In terms of implementation details, Hawk takes advantage of the fact that <code>.profile.uml</code> files contain a collection of Ecore <code>EPackages</code>. Hawk simply adds the <code>/X.Y.Z</code> version suffix to their namespace URI, and otherwise leaves them untouched.</p> <h2 id=example-using-hawk-to-index-all-uml-models-in-an-eclipse-workspace>Example: using Hawk to index all UML models in an Eclipse workspace<a class=headerlink href=#example-using-hawk-to-index-all-uml-models-in-an-eclipse-workspace title="Permanent link">&para;</a></h2> <p>We will show how Hawk can be used to index all the UML models in an Eclipse workspace, including those that have custom profiles applied to them. To illustrate our approach, we will use <a href=https://github.com/mondo-project/mondo-hawk/raw/gh-pages/examples/models/profiles/specialThings.zip>these toy models</a> created with Papyrus. We assume that you have installed Hawk into your Eclipse instance, following the steps in [[this wiki page|Installation]].</p> <h3 id=models>Models<a class=headerlink href=#models title="Permanent link">&para;</a></h3> <p>The model is a very simple UML class diagram:</p> <p><img alt="Sample UML class diagram" src=../profiles/02-model.png></p> <p>It only has two classes, one of which has the <code>&lt;&lt;Special&gt;&gt;</code> stereotype with a <code>priority</code> property equal to 23. This value is not shown in the diagram, but it can be checked from the "Profile" page of the "Properties" view when the class is selected.</p> <p>The profile including the <code>&lt;&lt;Special&gt;&gt;</code> stereotype is also very simple:</p> <p><img alt="Sample UML profile" src=../profiles/01-model.profile.png></p> <p>The diagram imports the <code>Class</code> UML metaclass, and then extends it with the <code>&lt;&lt;Special&gt;&gt;</code> stereotype.</p> <h3 id=creating-the-hawk-index>Creating the Hawk index<a class=headerlink href=#creating-the-hawk-index title="Permanent link">&para;</a></h3> <p>Before we can run any queries, we need to create a Hawk index. If we have installed Hawk correctly, we will be able to open the "Hawk" view and see something like this:</p> <p><img alt="Hawk view with no instances" src=../profiles/03a-hawk-view-empty.png></p> <p>Right now, we have no indexes in Hawk. We need to press the "Add" button, which is highlighted in red above. We should see a dialog similar to this:</p> <p><img alt="Add new Hawk index dialog" src=../profiles/03b-hawk-configuration.png></p> <p>Important points:</p> <ul> <li>We can pick any name we want, as long as it is unique.</li> <li><code>Instance type</code> should be a <code>LocalHawkFactory</code> if we intend to index our workspace.</li> <li>The <code>Local storage folder</code> will contain some of the configuration of that Hawk instance, and the database.</li> <li><code>Remote location</code> is irrelevant when using the <code>LocalHawkFactory</code>.</li> <li>If we are only interested in indexing the UML models in the workspace, it is a good idea to <code>Disable all</code> the plugins and then check only the UML metamodel and model resource factories.</li> <li>You can choose to use Neo4j (if you [[build it on your own|Running from source]]), OrientDB, or any other backend we may support in the future.</li> <li><code>Min/Max Delay</code> indicate how often will Hawk poll all the indexed locations. If you are only indexing the current workspace, you can leave both at 0 to disable polling: regardless of this setting, Hawk will react automatically whenever something in the workspace changes.</li> </ul> <p>Once the index has been created, you should see an entry for it in the "Hawk" view:</p> <p><img alt="Hawk view with one instance" src=../profiles/03c-hawk-view.png></p> <h3 id=adding-metamodels-and-models>Adding metamodels and models<a class=headerlink href=#adding-metamodels-and-models title="Permanent link">&para;</a></h3> <p>From the screenshot above, we know that the index is <code>RUNNING</code> (available for queries) and not <code>UPDATING</code> nor <code>STOPPED</code>, so we can start configuring it as we need. First, we should double click on it to open the configuration dialog:</p> <p><img alt="Hawk index config dialog" src=../profiles/04-config-dialog.png></p> <p>We should go to the "Metamodels" tab and click on "Add...", then select the <code>specialThings.profile/model.profile.uml</code> file. Hawk will register our custom profile as a metamodel, and we will be ready to index models using all the versions of this profile so far. Should we define any newer versions, we will have to add the file again to Hawk.</p> <p>The dialog will now list the new metamodel:</p> <p><img alt="Hawk index config dialog after registering profile" src=../profiles/05-added-metamodel.png></p> <p>Now we are ready to add the locations where the models to be indexed are stored. We go to the "Indexed Locations" tab and click on "Add". First, we will add the predefined UML libraries with some commonly used instances (e.g. UML data types):</p> <p><img alt="Adding UML predefined libraries" src=https://github.com/mondo-project/mondo-hawk/blob/gh-pages/examples/models/profiles/06-add-predefinedlibs.png></p> <p>We need to pick the right "Type", and then enter <code>/</code> in the "Location" field. The location is ignored for this repository, but due to current limitations in the UI we have to enter something in the field.</p> <p>Next, we have to tell Hawk to index all the models in the workspace. We will "Add" another location, and this time fill the dialog like this:</p> <p><img alt="Adding workspace" src=../profiles/07-add-workspace.png></p> <p>Again, the <code>/</code> "Location" is irrelevant but required by the UI.</p> <p>Hawk will spend some time <code>UPDATING</code>, and once it is <code>RUNNING</code> again we will be ready to run some queries on it.</p> <h3 id=querying-hawk>Querying Hawk<a class=headerlink href=#querying-hawk title="Permanent link">&para;</a></h3> <p>We can finally query Hawk now. To do so, we need to select our index on the "Hawk" view and click on the "Query" button, which looks like a magnifying glass:</p> <p><img alt="Query button in the Hawk view" src=../profiles/08a-hawk-query.png></p> <p>We will see a dialog like this one, with all fields empty:</p> <p><img alt="Query dialog" src=../profiles/08-query-classNames.png></p> <p>Enter the query <code>return Class.all.name;</code> and click on the "Run Query" button. This query lists the names of all the classes indexed so far by Hawk. You will notice that we obtain these results:</p> <div class=codehilite><pre><span></span>[E, T, MyClass, Special, V, NotSoSpecial, Stereotype1, K, E]
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Papyrus UML support - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#supported-file-extensions tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Papyrus UML support </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2 checked> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Papyrus UML support </label> <a href=./ title="Papyrus UML support" class="md-nav__link md-nav__link--active"> Papyrus UML support </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#supported-file-extensions class=md-nav__link> Supported file extensions </a> </li> <li class=md-nav__item> <a href=#predefined-uml-packages class=md-nav__link> Predefined UML packages </a> </li> <li class=md-nav__item> <a href=#multi-version-papyrus-uml-profile-support class=md-nav__link> Multi-version Papyrus UML profile support </a> </li> <li class=md-nav__item> <a href=#example-using-hawk-to-index-all-uml-models-in-an-eclipse-workspace class=md-nav__link> Example: using Hawk to index all UML models in an Eclipse workspace </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#models class=md-nav__link> Models </a> </li> <li class=md-nav__item> <a href=#creating-the-hawk-index class=md-nav__link> Creating the Hawk index </a> </li> <li class=md-nav__item> <a href=#adding-metamodels-and-models class=md-nav__link> Adding metamodels and models </a> </li> <li class=md-nav__item> <a href=#querying-hawk class=md-nav__link> Querying Hawk </a> </li> <li class=md-nav__item> <a href=#finding-uml-objects-by-stereotype class=md-nav__link> Finding UML objects by stereotype </a> </li> <li class=md-nav__item> <a href=#finding-stereotype-applications-from-the-uml-object class=md-nav__link> Finding stereotype applications from the UML object </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#supported-file-extensions class=md-nav__link> Supported file extensions </a> </li> <li class=md-nav__item> <a href=#predefined-uml-packages class=md-nav__link> Predefined UML packages </a> </li> <li class=md-nav__item> <a href=#multi-version-papyrus-uml-profile-support class=md-nav__link> Multi-version Papyrus UML profile support </a> </li> <li class=md-nav__item> <a href=#example-using-hawk-to-index-all-uml-models-in-an-eclipse-workspace class=md-nav__link> Example: using Hawk to index all UML models in an Eclipse workspace </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#models class=md-nav__link> Models </a> </li> <li class=md-nav__item> <a href=#creating-the-hawk-index class=md-nav__link> Creating the Hawk index </a> </li> <li class=md-nav__item> <a href=#adding-metamodels-and-models class=md-nav__link> Adding metamodels and models </a> </li> <li class=md-nav__item> <a href=#querying-hawk class=md-nav__link> Querying Hawk </a> </li> <li class=md-nav__item> <a href=#finding-uml-objects-by-stereotype class=md-nav__link> Finding UML objects by stereotype </a> </li> <li class=md-nav__item> <a href=#finding-stereotype-applications-from-the-uml-object class=md-nav__link> Finding stereotype applications from the UML object </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Papyrus UML support</h1> <p>Hawk includes specific support for MDT2 UML models and UML profiles developed using Papyrus UML. This can be used by enabling the <code>UMLMetaModelResourceFactory</code> and <code>UMLModelResourceFactory</code> plugins when creating a Hawk instance.</p> <p>The implementation mostly reuses MDT UML2 and Papyrus UML as-is, in order to maximize compatibility. There are some minor caveats, which are documented in this page.</p> <h2 id=supported-file-extensions>Supported file extensions<a class=headerlink href=#supported-file-extensions title="Permanent link">&para;</a></h2> <p>Hawk indexes plain UML2 models with the <code>.uml</code> extension, and Papyrus profiles with the <code>.profile.uml</code> extension. It does not index <code>.di</code> nor <code>.notation</code> files at the moment, as these do not provide semantic information.</p> <p><code>.xmi</code> files are not indexed by the Hawk UML components, to avoid conflicts with the plain EMF support (matching the file to the proper model resource is done strictly by file extension). You are recommended to rename your UML2 XMI files to <code>.uml</code> for now.</p> <h2 id=predefined-uml-packages>Predefined UML packages<a class=headerlink href=#predefined-uml-packages title="Permanent link">&para;</a></h2> <p>UML2 provides an implementation of the UML standard libraries, with packages containing some common datatypes (e.g. String or Integer). If your models use any of these libraries, we heavily recommend that you add a <code>PredefinedUMLLibraries</code> component in your "Indexed Locations" section. Otherwise, any references from your models to the libraries will be left unresolved, and you will not be able to use those predefined entities in your queries.</p> <p>This is because Hawk operates normally on files, and the predefined UML libraries are generally bundled within the UML2 plugins. The <code>PredefinedUMLLibraries</code> exposes those bundled resources to Hawk in a way that is transparent to the querying language.</p> <h2 id=multi-version-papyrus-uml-profile-support>Multi-version Papyrus UML profile support<a class=headerlink href=#multi-version-papyrus-uml-profile-support title="Permanent link">&para;</a></h2> <p>Beyond registering all the metamodels required to index plain UML models, the UML metamodel resource factory in Hawk can register <code>.profile.uml</code> files as metamodels. This allows us to index UML models with custom profiles in Hawk.</p> <p>Since UML profiles can be versioned, Hawk will register version <code>X.Y.Z</code> of profile with URI <code>http://your/profile</code> with <code>http://your/profile/X.Y.Z</code> as the URI. When querying with Hawk, you will have to specify <code>http://your/profile/X.Y.Z</code> in your default namespaces, in order to resolve the ambiguity that may exist between multiple versions of the same metamodel.</p> <p>If a new version of the UML profile is created, you will need to register the <code>.profile.uml</code> file again with Hawk before it can index models that use that version of the profile. Hawk treats entities of different versions of the same profile as entirely different types.</p> <p>In terms of implementation details, Hawk takes advantage of the fact that <code>.profile.uml</code> files contain a collection of Ecore <code>EPackages</code>. Hawk simply adds the <code>/X.Y.Z</code> version suffix to their namespace URI, and otherwise leaves them untouched.</p> <h2 id=example-using-hawk-to-index-all-uml-models-in-an-eclipse-workspace>Example: using Hawk to index all UML models in an Eclipse workspace<a class=headerlink href=#example-using-hawk-to-index-all-uml-models-in-an-eclipse-workspace title="Permanent link">&para;</a></h2> <p>We will show how Hawk can be used to index all the UML models in an Eclipse workspace, including those that have custom profiles applied to them. To illustrate our approach, we will use <a href=https://github.com/mondo-project/mondo-hawk/raw/gh-pages/examples/models/profiles/specialThings.zip>these toy models</a> created with Papyrus. We assume that you have installed Hawk into your Eclipse instance, following the steps in [[this wiki page|Installation]].</p> <h3 id=models>Models<a class=headerlink href=#models title="Permanent link">&para;</a></h3> <p>The model is a very simple UML class diagram:</p> <p><img alt="Sample UML class diagram" src=../profiles/02-model.png></p> <p>It only has two classes, one of which has the <code>&lt;&lt;Special&gt;&gt;</code> stereotype with a <code>priority</code> property equal to 23. This value is not shown in the diagram, but it can be checked from the "Profile" page of the "Properties" view when the class is selected.</p> <p>The profile including the <code>&lt;&lt;Special&gt;&gt;</code> stereotype is also very simple:</p> <p><img alt="Sample UML profile" src=../profiles/01-model.profile.png></p> <p>The diagram imports the <code>Class</code> UML metaclass, and then extends it with the <code>&lt;&lt;Special&gt;&gt;</code> stereotype.</p> <h3 id=creating-the-hawk-index>Creating the Hawk index<a class=headerlink href=#creating-the-hawk-index title="Permanent link">&para;</a></h3> <p>Before we can run any queries, we need to create a Hawk index. If we have installed Hawk correctly, we will be able to open the "Hawk" view and see something like this:</p> <p><img alt="Hawk view with no instances" src=../profiles/03a-hawk-view-empty.png></p> <p>Right now, we have no indexes in Hawk. We need to press the "Add" button, which is highlighted in red above. We should see a dialog similar to this:</p> <p><img alt="Add new Hawk index dialog" src=../profiles/03b-hawk-configuration.png></p> <p>Important points:</p> <ul> <li>We can pick any name we want, as long as it is unique.</li> <li><code>Instance type</code> should be a <code>LocalHawkFactory</code> if we intend to index our workspace.</li> <li>The <code>Local storage folder</code> will contain some of the configuration of that Hawk instance, and the database.</li> <li><code>Remote location</code> is irrelevant when using the <code>LocalHawkFactory</code>.</li> <li>If we are only interested in indexing the UML models in the workspace, it is a good idea to <code>Disable all</code> the plugins and then check only the UML metamodel and model resource factories.</li> <li>You can choose to use Neo4j (if you [[build it on your own|Running from source]]), OrientDB, or any other backend we may support in the future.</li> <li><code>Min/Max Delay</code> indicate how often will Hawk poll all the indexed locations. If you are only indexing the current workspace, you can leave both at 0 to disable polling: regardless of this setting, Hawk will react automatically whenever something in the workspace changes.</li> </ul> <p>Once the index has been created, you should see an entry for it in the "Hawk" view:</p> <p><img alt="Hawk view with one instance" src=../profiles/03c-hawk-view.png></p> <h3 id=adding-metamodels-and-models>Adding metamodels and models<a class=headerlink href=#adding-metamodels-and-models title="Permanent link">&para;</a></h3> <p>From the screenshot above, we know that the index is <code>RUNNING</code> (available for queries) and not <code>UPDATING</code> nor <code>STOPPED</code>, so we can start configuring it as we need. First, we should double click on it to open the configuration dialog:</p> <p><img alt="Hawk index config dialog" src=../profiles/04-config-dialog.png></p> <p>We should go to the "Metamodels" tab and click on "Add...", then select the <code>specialThings.profile/model.profile.uml</code> file. Hawk will register our custom profile as a metamodel, and we will be ready to index models using all the versions of this profile so far. Should we define any newer versions, we will have to add the file again to Hawk.</p> <p>The dialog will now list the new metamodel:</p> <p><img alt="Hawk index config dialog after registering profile" src=../profiles/05-added-metamodel.png></p> <p>Now we are ready to add the locations where the models to be indexed are stored. We go to the "Indexed Locations" tab and click on "Add". First, we will add the predefined UML libraries with some commonly used instances (e.g. UML data types):</p> <p><img alt="Adding UML predefined libraries" src=https://github.com/mondo-project/mondo-hawk/blob/gh-pages/examples/models/profiles/06-add-predefinedlibs.png></p> <p>We need to pick the right "Type", and then enter <code>/</code> in the "Location" field. The location is ignored for this repository, but due to current limitations in the UI we have to enter something in the field.</p> <p>Next, we have to tell Hawk to index all the models in the workspace. We will "Add" another location, and this time fill the dialog like this:</p> <p><img alt="Adding workspace" src=../profiles/07-add-workspace.png></p> <p>Again, the <code>/</code> "Location" is irrelevant but required by the UI.</p> <p>Hawk will spend some time <code>UPDATING</code>, and once it is <code>RUNNING</code> again we will be ready to run some queries on it.</p> <h3 id=querying-hawk>Querying Hawk<a class=headerlink href=#querying-hawk title="Permanent link">&para;</a></h3> <p>We can finally query Hawk now. To do so, we need to select our index on the "Hawk" view and click on the "Query" button, which looks like a magnifying glass:</p> <p><img alt="Query button in the Hawk view" src=../profiles/08a-hawk-query.png></p> <p>We will see a dialog like this one, with all fields empty:</p> <p><img alt="Query dialog" src=../profiles/08-query-classNames.png></p> <p>Enter the query <code>return Class.all.name;</code> and click on the "Run Query" button. This query lists the names of all the classes indexed so far by Hawk. You will notice that we obtain these results:</p> <div class=codehilite><pre><span></span>[E, T, MyClass, Special, V, NotSoSpecial, Stereotype1, K, E]
 </pre></div> <p>The E/T/V/K/E classes came from the predefined UML libraries. If you want only the results from your workspace, you must tell Hawk through the "Context Repositories" field, by entering <code>platform:/resource</code>. This is the base URI used by Hawk to identify all the files in your workspace. Click on "Run Query" again, and you should obtain the results shown in the screenshot:</p> <div class=codehilite><pre><span></span>[MyClass, Stereotype1, Special, NotSoSpecial]
 </pre></div> <p>Note how the query also returns the classes in the profile. Should you want to avoid this, you can either use the "Context Files" field (<code>*model.uml</code> will do this) to further restrict the scope of the query.</p> <h3 id=finding-uml-objects-by-stereotype>Finding UML objects by stereotype<a class=headerlink href=#finding-uml-objects-by-stereotype title="Permanent link">&para;</a></h3> <p>If you would like to find all applications of stereotype <code>X</code>, you can simply use <code>X.all</code> and then use <code>base_Metaclass</code> to find the object that was annotated with that stereotype. For instance, this query will find the name of all the classes that had the <code>&lt;&lt;Special&gt;&gt;</code> stereotype applied to them:</p> <div class=codehilite><pre><span></span>return Special.all.base_Class.name;
 </pre></div> <p>You will get:</p> <div class=codehilite><pre><span></span>[MyClass]
diff --git a/developers/plain-maven/index.html b/developers/plain-maven/index.html
index 6e53450..33fcc51 100644
--- a/developers/plain-maven/index.html
+++ b/developers/plain-maven/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Build with plain Maven - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Build with plain Maven </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5 checked> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Build with plain Maven" class="md-nav__link md-nav__link--active"> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Build with plain Maven</h1> <p>Hawk can be reused as a library in a regular Java application, outside OSGi. Non-OSGi developers normally use Maven or a Maven-compatible build system (e.g. Ivy or SBT), rather than Tycho. To make it easier for these developers, Hawk provides a parallel hierarchy of <code>pom-plain.xml</code> files that can be used to build Hawk with plain Maven (<code>pom.xml</code> files are reserved for Tycho).</p> <p>Not all Hawk modules are available through this build, as they may rely on OSGi (e.g. <code>org.hawk.modelio</code>) or require downloading many external dependencies (e.g. <code>org.hawk.bpmn</code>). <code>.feature</code>, <code>.dependencies</code> and <code>.tests</code> projects are not included either, as they are OSGi-specific. For that reason, this build should only be used for distribution, and not for regular development.</p> <p>To build with regular Maven, run <code>mvn -f pom-plain.xml install</code> from the root of the repository to compile the artifacts and install them into the local Maven repository, so they can be used in other Maven builds.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../server-from-source/ title="Run Server from source" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Run Server from source </span> </div> </a> <a href=../website/ title="Work on the website" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Work on the website </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Build with plain Maven - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Build with plain Maven </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5 checked> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Build with plain Maven" class="md-nav__link md-nav__link--active"> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Build with plain Maven</h1> <p>Hawk can be reused as a library in a regular Java application, outside OSGi. Non-OSGi developers normally use Maven or a Maven-compatible build system (e.g. Ivy or SBT), rather than Tycho. To make it easier for these developers, Hawk provides a parallel hierarchy of <code>pom-plain.xml</code> files that can be used to build Hawk with plain Maven (<code>pom.xml</code> files are reserved for Tycho).</p> <p>Not all Hawk modules are available through this build, as they may rely on OSGi (e.g. <code>org.hawk.modelio</code>) or require downloading many external dependencies (e.g. <code>org.hawk.bpmn</code>). <code>.feature</code>, <code>.dependencies</code> and <code>.tests</code> projects are not included either, as they are OSGi-specific. For that reason, this build should only be used for distribution, and not for regular development.</p> <p>To build with regular Maven, run <code>mvn -f pom-plain.xml install</code> from the root of the repository to compile the artifacts and install them into the local Maven repository, so they can be used in other Maven builds.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../server-from-source/ title="Run Server from source" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Run Server from source </span> </div> </a> <a href=../website/ title="Work on the website" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Work on the website </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/developers/run-from-source/index.html b/developers/run-from-source/index.html
index ca3b8c2..31a5dd3 100644
--- a/developers/run-from-source/index.html
+++ b/developers/run-from-source/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Run GUI from source - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Run GUI from source </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5 checked> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Run GUI from source" class="md-nav__link md-nav__link--active"> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Run GUI from source</h1> <p>These instructions are from a clean download of an Eclipse Luna Modelling distribution and include all optional dependencies.</p> <ol> <li>Clone this Git repository on your Eclipse instance (e.g. using <code>git clone</code> or EGit) and import all projects into the workspace (File &gt; Import &gt; Existing Projects into Workspace).</li> <li>Open the <code>org.hawk.targetplatform/org.hawk.targetplatform.target</code> file, wait for the target definition to be resolved and click on <code>Set as Target Platform</code>.</li> <li>Install <a href=https://ant.apache.org/ivy/ivyde/ >IvyDE</a> into your Eclipse instance, right click on <code>org.hawk.neo4j-v2.dependencies</code> and use "Ivy &gt; Retrieve 'dependencies'". The libraries should appear within <code>Referenced Libraries</code>. Do the same for these other projects:<ul> <li><code>org.hawk.orientdb</code></li> <li><code>org.hawk.localfolder</code></li> <li><code>org.hawk.greycat</code></li> </ul> </li> <li>Force a full rebuild with <code>Project &gt; Clean... &gt; Clean all projects</code> if you still have errors.</li> </ol> <p>After all these steps, you should have a working version of Hawk with all optional dependencies and no errors. You can now use "Run as... &gt; Eclipse Application" to open a nested Eclipse with the Hawk GUI running inside it.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../../server/logging/ title=Logging class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Logging </span> </div> </a> <a href=../server-from-source/ title="Run Server from source" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Run Server from source </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Run GUI from source - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Run GUI from source </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5 checked> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Run GUI from source" class="md-nav__link md-nav__link--active"> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Run GUI from source</h1> <p>These instructions are from a clean download of an Eclipse Luna Modelling distribution and include all optional dependencies.</p> <ol> <li>Clone this Git repository on your Eclipse instance (e.g. using <code>git clone</code> or EGit) and import all projects into the workspace (File &gt; Import &gt; Existing Projects into Workspace).</li> <li>Open the <code>org.hawk.targetplatform/org.hawk.targetplatform.target</code> file, wait for the target definition to be resolved and click on <code>Set as Target Platform</code>.</li> <li>Install <a href=https://ant.apache.org/ivy/ivyde/ >IvyDE</a> into your Eclipse instance, right click on <code>org.hawk.neo4j-v2.dependencies</code> and use "Ivy &gt; Retrieve 'dependencies'". The libraries should appear within <code>Referenced Libraries</code>. Do the same for these other projects:<ul> <li><code>org.hawk.orientdb</code></li> <li><code>org.hawk.localfolder</code></li> <li><code>org.hawk.greycat</code></li> </ul> </li> <li>Force a full rebuild with <code>Project &gt; Clean... &gt; Clean all projects</code> if you still have errors.</li> </ol> <p>After all these steps, you should have a working version of Hawk with all optional dependencies and no errors. You can now use "Run as... &gt; Eclipse Application" to open a nested Eclipse with the Hawk GUI running inside it.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../../server/logging/ title=Logging class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Logging </span> </div> </a> <a href=../server-from-source/ title="Run Server from source" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Run Server from source </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/developers/server-from-source/index.html b/developers/server-from-source/index.html
index 23c877c..3ebe625 100644
--- a/developers/server-from-source/index.html
+++ b/developers/server-from-source/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Run Server from source - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Run Server from source </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5 checked> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Run Server from source" class="md-nav__link md-nav__link--active"> Run Server from source </a> </li> <li class=md-nav__item> <a href=../plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Run Server from source</h1> <p>In order to run the server products from the sources, you need to first install the [[Dependencies]] and follow the [[basic steps|Running from source]] for running Hawk from source. Once you have done that, to run the server product, you should open the relevant <code>.product</code> file. The editor will look like this one:</p> <p><img alt="Server product editor" src=../img/hawk-server-product.png></p> <p>You should use one of the buttons highlighted in red (the triangle "Run" button or the bug-like "Debug" button) to run the product for the first time. It may fail, due to the slightly buggy way in which Eclipse produces the launch configuration from the product. If you see this:</p> <div class=codehilite><pre><span></span>!ENTRY org.eclipse.osgi 4 0 2017-04-15 13:51:14.444
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Run Server from source - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Run Server from source </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5 checked> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Run Server from source" class="md-nav__link md-nav__link--active"> Run Server from source </a> </li> <li class=md-nav__item> <a href=../plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Run Server from source</h1> <p>In order to run the server products from the sources, you need to first install the [[Dependencies]] and follow the [[basic steps|Running from source]] for running Hawk from source. Once you have done that, to run the server product, you should open the relevant <code>.product</code> file. The editor will look like this one:</p> <p><img alt="Server product editor" src=../img/hawk-server-product.png></p> <p>You should use one of the buttons highlighted in red (the triangle "Run" button or the bug-like "Debug" button) to run the product for the first time. It may fail, due to the slightly buggy way in which Eclipse produces the launch configuration from the product. If you see this:</p> <div class=codehilite><pre><span></span>!ENTRY org.eclipse.osgi 4 0 2017-04-15 13:51:14.444
 !MESSAGE Application error
 !STACK 1
 java.lang.RuntimeException: No application id has been found.
diff --git a/developers/website/index.html b/developers/website/index.html
index 3c705fd..ffc3930 100644
--- a/developers/website/index.html
+++ b/developers/website/index.html
@@ -1,2 +1,2 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Work on the website - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Work on the website </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5 checked> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Work on the website" class="md-nav__link md-nav__link--active"> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Work on the website</h1> <p>The website for Eclipse Hawk is written in <a href=https://www.mkdocs.org>MkDocs</a>. The website repository is available here:</p> <div class=codehilite><pre><span></span>https://git.eclipse.org/c/www.eclipse.org/hawk.git/
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Work on the website - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Work on the website </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../../server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../../server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../../server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../../server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../../server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../../server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../../server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5 checked> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Work on the website" class="md-nav__link md-nav__link--active"> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Work on the website</h1> <p>The website for Eclipse Hawk is written in <a href=https://www.mkdocs.org>MkDocs</a>. The website repository is available here:</p> <div class=codehilite><pre><span></span>https://git.eclipse.org/c/www.eclipse.org/hawk.git/
 </pre></div> <p>To work on the website, clone it with your Eclipse credentials, and follow the instructions in the included <code>README.md</code> file.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../plain-maven/ title="Build with plain Maven" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Build with plain Maven </span> </div> </a> <a href=../../additional-resources/ title="Additional resources" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Additional resources </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/index.html b/index.html
index d372477..35fd2ba 100644
--- a/index.html
+++ b/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Eclipse Hawk</title><link rel=stylesheet href=assets/stylesheets/application.30686662.css><link rel=stylesheet href=assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=assets/fonts/material-icons.css><link rel=stylesheet href=stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#eclipse-hawk tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Home </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Home </label> <a href=. title=Home class="md-nav__link md-nav__link--active"> Home </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#interim-downloads-120 class=md-nav__link> Interim downloads (1.2.0) </a> </li> <li class=md-nav__item> <a href=#source-code class=md-nav__link> Source code </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#interim-downloads-120 class=md-nav__link> Interim downloads (1.2.0) </a> </li> <li class=md-nav__item> <a href=#source-code class=md-nav__link> Source code </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1 id=eclipse-hawk>Eclipse Hawk<a class=headerlink href=#eclipse-hawk title="Permanent link">&para;</a></h1> <p>Eclipse Hawk is a model indexing solution that can take models written with various technologies and turn them into graphs, for easier and faster querying.</p> <p>Hawk is licensed under the <a href=https://www.eclipse.org/legal/epl-2.0/ >Eclipse Public License 2.0</a>, with the <a href=https://www.gnu.org/licenses/gpl-3.0.en.html>GNU GPL 3.0</a> as secondary license.</p> <div class="admonition question"> <p class=admonition-title>Any questions?</p> <p>Check the other sections on the left for how to get started and use Hawk. If you cannot find an answer there, feel free to ask at the <a href="https://www.eclipse.org/forums/index.php/sf/thread/442/sub/0/?SQ=c1bf1ac983010df5037be417b0a8d5a1">official forum in Eclipse.org</a>.</p> </div> <h2 id=interim-downloads-120>Interim downloads (1.2.0)<a class=headerlink href=#interim-downloads-120 title="Permanent link">&para;</a></h2> <p>Interim versions of the core components of Hawk 1.2.0 and the OrientDB / Greycat backends can be installed from this Eclipse update site:</p> <div class=codehilite><pre><span></span>https://download.eclipse.org/hawk/1.2.0/updates/
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Eclipse Hawk</title><link rel=stylesheet href=assets/stylesheets/application.30686662.css><link rel=stylesheet href=assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=assets/fonts/material-icons.css><link rel=stylesheet href=stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#eclipse-hawk tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Home </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Home </label> <a href=. title=Home class="md-nav__link md-nav__link--active"> Home </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#interim-downloads-120 class=md-nav__link> Interim downloads (1.2.0) </a> </li> <li class=md-nav__item> <a href=#source-code class=md-nav__link> Source code </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=server/architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=server/api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=server/api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=server/deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=server/cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=server/eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=server/file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=server/logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#interim-downloads-120 class=md-nav__link> Interim downloads (1.2.0) </a> </li> <li class=md-nav__item> <a href=#source-code class=md-nav__link> Source code </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1 id=eclipse-hawk>Eclipse Hawk<a class=headerlink href=#eclipse-hawk title="Permanent link">&para;</a></h1> <p>Eclipse Hawk is a model indexing solution that can take models written with various technologies and turn them into graphs, for easier and faster querying.</p> <p>Hawk is licensed under the <a href=https://www.eclipse.org/legal/epl-2.0/ >Eclipse Public License 2.0</a>, with the <a href=https://www.gnu.org/licenses/gpl-3.0.en.html>GNU GPL 3.0</a> as secondary license.</p> <div class="admonition question"> <p class=admonition-title>Any questions?</p> <p>Check the other sections on the left for how to get started and use Hawk. If you cannot find an answer there, feel free to ask at the <a href="https://www.eclipse.org/forums/index.php/sf/thread/442/sub/0/?SQ=c1bf1ac983010df5037be417b0a8d5a1">official forum in Eclipse.org</a>.</p> </div> <h2 id=interim-downloads-120>Interim downloads (1.2.0)<a class=headerlink href=#interim-downloads-120 title="Permanent link">&para;</a></h2> <p>Interim versions of the core components of Hawk 1.2.0 and the OrientDB / Greycat backends can be installed from this Eclipse update site:</p> <div class=codehilite><pre><span></span>https://download.eclipse.org/hawk/1.2.0/updates/
 </pre></div> <p>There are <a href=http://thrift.apache.org/ >Apache Thrift</a> client libraries targeting Java, JavaScript and C++ for talking with a Hawk server. The Java library is available under <code>plugins-server</code>, in the <code>api</code> project. The other libraries are available from these links:</p> <ul> <li><a href=http://download.eclipse.org/hawk/1.2.0/hawk-thrift-cpp-1.2.0.tar.gz>C++</a></li> <li><a href=http://download.eclipse.org/hawk/1.2.0/hawk-thrift-js-1.2.0.tar.gz>JavaScript</a></li> </ul> <p>Prebuilt command-line client and server products for Linux, MacOS and Windows are available from the 1.2.0 <a href=https://download.eclipse.org/hawk/1.2.0/ >downloads folder</a>.</p> <h2 id=source-code>Source code<a class=headerlink href=#source-code title="Permanent link">&para;</a></h2> <p>To access the source code, clone the Git repository for Hawk with your preferred client from:</p> <div class=codehilite><pre><span></span>git://git.eclipse.org/gitroot/hawk/hawk.git
 </pre></div> <p>Committers will use a different URL:</p> <div class=codehilite><pre><span></span>ssh://user_id@git.eclipse.org:29418/hawk/hawk
 </pre></div> <p>You can also read the code through your browser from the <a href=https://git.eclipse.org/c/hawk/hawk.git/ >Git-web interface</a>.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=basic-use/installation/ title=Installation class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Installation </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"."}})</script> </body> </html>
\ No newline at end of file
diff --git a/server/api-security/index.html b/server/api-security/index.html
index f313b2c..90f2756 100644
--- a/server/api-security/index.html
+++ b/server/api-security/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Thrift API security - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Thrift API security </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Thrift API security" class="md-nav__link md-nav__link--active"> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Thrift API security</h1> <p>In some cases, we may want to protect the API from unaccounted use, as clients would have access to potentially sensitive information. In order to provide this access control, the <a href=https://shiro.apache.org/ >Apache Shiro</a> library has been integrated transparently as a filter for all incoming requests to the endpoints under <code>/thrift</code>. <code>/thrift-local</code> endpoints are not password-protected, as they only answer requests from other processes in the machine hosting the MONDO Server.</p> <p>Apache Shiro protects these <code>/thrift</code> endpoints using standard HTTP Basic authentication, which is transparent to Thrift, avoiding the need to pollute the web API with access tokens in every single method. Industrial partners will be instructed to always use the authentication layer in combination with SSL, since HTTP Basic by itself is insecure.</p> <p>One important advantage of Shiro is its configurability through a single <code>.ini</code> file, like this one:</p> <div class=codehilite><pre><span></span>[main]
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Thrift API security - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Thrift API security </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title="Thrift API security" class="md-nav__link md-nav__link--active"> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Thrift API security</h1> <p>In some cases, we may want to protect the API from unaccounted use, as clients would have access to potentially sensitive information. In order to provide this access control, the <a href=https://shiro.apache.org/ >Apache Shiro</a> library has been integrated transparently as a filter for all incoming requests to the endpoints under <code>/thrift</code>. <code>/thrift-local</code> endpoints are not password-protected, as they only answer requests from other processes in the machine hosting the MONDO Server.</p> <p>Apache Shiro protects these <code>/thrift</code> endpoints using standard HTTP Basic authentication, which is transparent to Thrift, avoiding the need to pollute the web API with access tokens in every single method. Industrial partners will be instructed to always use the authentication layer in combination with SSL, since HTTP Basic by itself is insecure.</p> <p>One important advantage of Shiro is its configurability through a single <code>.ini</code> file, like this one:</p> <div class=codehilite><pre><span></span>[main]
 # Objects and their properties are defined here,
 # Such as the securityManager, Realms and anything
 # else needed to build the SecurityManager
diff --git a/server/api/index.html b/server/api/index.html
index 8d0b1cf..4e83124 100644
--- a/server/api/index.html
+++ b/server/api/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Thrift API - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#services tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Thrift API </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Thrift API </label> <a href=./ title="Thrift API" class="md-nav__link md-nav__link--active"> Thrift API </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#services class=md-nav__link> Services </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#hawk class=md-nav__link> Hawk </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#hawkcreateinstance class=md-nav__link> Hawk.createInstance </a> </li> <li class=md-nav__item> <a href=#hawklistbackends class=md-nav__link> Hawk.listBackends </a> </li> <li class=md-nav__item> <a href=#hawklistplugins class=md-nav__link> Hawk.listPlugins </a> </li> <li class=md-nav__item> <a href=#hawklistinstances class=md-nav__link> Hawk.listInstances </a> </li> <li class=md-nav__item> <a href=#hawkremoveinstance class=md-nav__link> Hawk.removeInstance </a> </li> <li class=md-nav__item> <a href=#hawkstartinstance class=md-nav__link> Hawk.startInstance </a> </li> <li class=md-nav__item> <a href=#hawkstopinstance class=md-nav__link> Hawk.stopInstance </a> </li> <li class=md-nav__item> <a href=#hawksyncinstance class=md-nav__link> Hawk.syncInstance </a> </li> <li class=md-nav__item> <a href=#hawkregistermetamodels class=md-nav__link> Hawk.registerMetamodels </a> </li> <li class=md-nav__item> <a href=#hawkunregistermetamodels class=md-nav__link> Hawk.unregisterMetamodels </a> </li> <li class=md-nav__item> <a href=#hawklistmetamodels class=md-nav__link> Hawk.listMetamodels </a> </li> <li class=md-nav__item> <a href=#hawklistquerylanguages class=md-nav__link> Hawk.listQueryLanguages </a> </li> <li class=md-nav__item> <a href=#hawkquery class=md-nav__link> Hawk.query </a> </li> <li class=md-nav__item> <a href=#hawkresolveproxies class=md-nav__link> Hawk.resolveProxies </a> </li> <li class=md-nav__item> <a href=#hawkaddrepository class=md-nav__link> Hawk.addRepository </a> </li> <li class=md-nav__item> <a href=#hawkisfrozen class=md-nav__link> Hawk.isFrozen </a> </li> <li class=md-nav__item> <a href=#hawksetfrozen class=md-nav__link> Hawk.setFrozen </a> </li> <li class=md-nav__item> <a href=#hawkremoverepository class=md-nav__link> Hawk.removeRepository </a> </li> <li class=md-nav__item> <a href=#hawkupdaterepositorycredentials class=md-nav__link> Hawk.updateRepositoryCredentials </a> </li> <li class=md-nav__item> <a href=#hawklistrepositories class=md-nav__link> Hawk.listRepositories </a> </li> <li class=md-nav__item> <a href=#hawklistrepositorytypes class=md-nav__link> Hawk.listRepositoryTypes </a> </li> <li class=md-nav__item> <a href=#hawklistfiles class=md-nav__link> Hawk.listFiles </a> </li> <li class=md-nav__item> <a href=#hawkconfigurepolling class=md-nav__link> Hawk.configurePolling </a> </li> <li class=md-nav__item> <a href=#hawkaddderivedattribute class=md-nav__link> Hawk.addDerivedAttribute </a> </li> <li class=md-nav__item> <a href=#hawkremovederivedattribute class=md-nav__link> Hawk.removeDerivedAttribute </a> </li> <li class=md-nav__item> <a href=#hawklistderivedattributes class=md-nav__link> Hawk.listDerivedAttributes </a> </li> <li class=md-nav__item> <a href=#hawkaddindexedattribute class=md-nav__link> Hawk.addIndexedAttribute </a> </li> <li class=md-nav__item> <a href=#hawkremoveindexedattribute class=md-nav__link> Hawk.removeIndexedAttribute </a> </li> <li class=md-nav__item> <a href=#hawklistindexedattributes class=md-nav__link> Hawk.listIndexedAttributes </a> </li> <li class=md-nav__item> <a href=#hawkgetmodel class=md-nav__link> Hawk.getModel </a> </li> <li class=md-nav__item> <a href=#hawkgetrootelements class=md-nav__link> Hawk.getRootElements </a> </li> <li class=md-nav__item> <a href=#hawkwatchstatechanges class=md-nav__link> Hawk.watchStateChanges </a> </li> <li class=md-nav__item> <a href=#hawkwatchmodelchanges class=md-nav__link> Hawk.watchModelChanges </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#ifcexport class=md-nav__link> IFCExport </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#ifcexportexportasstep class=md-nav__link> IFCExport.exportAsSTEP </a> </li> <li class=md-nav__item> <a href=#ifcexportgetjobs class=md-nav__link> IFCExport.getJobs </a> </li> <li class=md-nav__item> <a href=#ifcexportgetjobstatus class=md-nav__link> IFCExport.getJobStatus </a> </li> <li class=md-nav__item> <a href=#ifcexportkilljob class=md-nav__link> IFCExport.killJob </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#users class=md-nav__link> Users </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#userscreateuser class=md-nav__link> Users.createUser </a> </li> <li class=md-nav__item> <a href=#usersupdateprofile class=md-nav__link> Users.updateProfile </a> </li> <li class=md-nav__item> <a href=#usersupdatepassword class=md-nav__link> Users.updatePassword </a> </li> <li class=md-nav__item> <a href=#usersdeleteuser class=md-nav__link> Users.deleteUser </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#entities class=md-nav__link> Entities </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#attributeslot class=md-nav__link> AttributeSlot </a> </li> <li class=md-nav__item> <a href=#commititem class=md-nav__link> CommitItem </a> </li> <li class=md-nav__item> <a href=#containerslot class=md-nav__link> ContainerSlot </a> </li> <li class=md-nav__item> <a href=#credentials class=md-nav__link> Credentials </a> </li> <li class=md-nav__item> <a href=#derivedattributespec class=md-nav__link> DerivedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#effectivemetamodel class=md-nav__link> EffectiveMetamodel </a> </li> <li class=md-nav__item> <a href=#effectivemetamodelmap class=md-nav__link> EffectiveMetamodelMap </a> </li> <li class=md-nav__item> <a href=#file class=md-nav__link> File </a> </li> <li class=md-nav__item> <a href=#hawkattributeremovalevent class=md-nav__link> HawkAttributeRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkattributeupdateevent class=md-nav__link> HawkAttributeUpdateEvent </a> </li> <li class=md-nav__item> <a href=#hawkchangeevent class=md-nav__link> HawkChangeEvent </a> </li> <li class=md-nav__item> <a href=#hawkfileadditionevent class=md-nav__link> HawkFileAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkfileremovalevent class=md-nav__link> HawkFileRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkinstance class=md-nav__link> HawkInstance </a> </li> <li class=md-nav__item> <a href=#hawkmodelelementadditionevent class=md-nav__link> HawkModelElementAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkmodelelementremovalevent class=md-nav__link> HawkModelElementRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkqueryoptions class=md-nav__link> HawkQueryOptions </a> </li> <li class=md-nav__item> <a href=#hawkreferenceadditionevent class=md-nav__link> HawkReferenceAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkreferenceremovalevent class=md-nav__link> HawkReferenceRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkstateevent class=md-nav__link> HawkStateEvent </a> </li> <li class=md-nav__item> <a href=#hawksynchronizationendevent class=md-nav__link> HawkSynchronizationEndEvent </a> </li> <li class=md-nav__item> <a href=#hawksynchronizationstartevent class=md-nav__link> HawkSynchronizationStartEvent </a> </li> <li class=md-nav__item> <a href=#ifcexportjob class=md-nav__link> IFCExportJob </a> </li> <li class=md-nav__item> <a href=#ifcexportoptions class=md-nav__link> IFCExportOptions </a> </li> <li class=md-nav__item> <a href=#indexedattributespec class=md-nav__link> IndexedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidmodelspec class=md-nav__link> InvalidModelSpec </a> </li> <li class=md-nav__item> <a href=#invalidtransformation class=md-nav__link> InvalidTransformation </a> </li> <li class=md-nav__item> <a href=#mixedreference class=md-nav__link> MixedReference </a> </li> <li class=md-nav__item> <a href=#modelelement class=md-nav__link> ModelElement </a> </li> <li class=md-nav__item> <a href=#modelelementtype class=md-nav__link> ModelElementType </a> </li> <li class=md-nav__item> <a href=#modelspec class=md-nav__link> ModelSpec </a> </li> <li class=md-nav__item> <a href=#queryresult class=md-nav__link> QueryResult </a> </li> <li class=md-nav__item> <a href=#queryresultmap class=md-nav__link> QueryResultMap </a> </li> <li class=md-nav__item> <a href=#referenceslot class=md-nav__link> ReferenceSlot </a> </li> <li class=md-nav__item> <a href=#repository class=md-nav__link> Repository </a> </li> <li class=md-nav__item> <a href=#slot class=md-nav__link> Slot </a> </li> <li class=md-nav__item> <a href=#slotmetadata class=md-nav__link> SlotMetadata </a> </li> <li class=md-nav__item> <a href=#slotvalue class=md-nav__link> SlotValue </a> </li> <li class=md-nav__item> <a href=#subscription class=md-nav__link> Subscription </a> </li> <li class=md-nav__item> <a href=#userprofile class=md-nav__link> UserProfile </a> </li> <li class=md-nav__item> <a href=#value class=md-nav__link> Value </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#enumerations class=md-nav__link> Enumerations </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#commititemchangetype class=md-nav__link> CommitItemChangeType </a> </li> <li class=md-nav__item> <a href=#hawkstate class=md-nav__link> HawkState </a> </li> <li class=md-nav__item> <a href=#ifcexportstatus class=md-nav__link> IFCExportStatus </a> </li> <li class=md-nav__item> <a href=#subscriptiondurability class=md-nav__link> SubscriptionDurability </a> </li> <li class=md-nav__item> <a href=#failedquery class=md-nav__link> FailedQuery </a> </li> <li class=md-nav__item> <a href=#hawkinstancenotfound class=md-nav__link> HawkInstanceNotFound </a> </li> <li class=md-nav__item> <a href=#hawkinstancenotrunning class=md-nav__link> HawkInstanceNotRunning </a> </li> <li class=md-nav__item> <a href=#invalidderivedattributespec class=md-nav__link> InvalidDerivedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidindexedattributespec class=md-nav__link> InvalidIndexedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidmetamodel class=md-nav__link> InvalidMetamodel </a> </li> <li class=md-nav__item> <a href=#invalidpollingconfiguration class=md-nav__link> InvalidPollingConfiguration </a> </li> <li class=md-nav__item> <a href=#invalidquery class=md-nav__link> InvalidQuery </a> </li> <li class=md-nav__item> <a href=#unknownquerylanguage class=md-nav__link> UnknownQueryLanguage </a> </li> <li class=md-nav__item> <a href=#unknownrepositorytype class=md-nav__link> UnknownRepositoryType </a> </li> <li class=md-nav__item> <a href=#userexists class=md-nav__link> UserExists </a> </li> <li class=md-nav__item> <a href=#usernotfound class=md-nav__link> UserNotFound </a> </li> <li class=md-nav__item> <a href=#vcsauthenticationfailed class=md-nav__link> VCSAuthenticationFailed </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#services class=md-nav__link> Services </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#hawk class=md-nav__link> Hawk </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#hawkcreateinstance class=md-nav__link> Hawk.createInstance </a> </li> <li class=md-nav__item> <a href=#hawklistbackends class=md-nav__link> Hawk.listBackends </a> </li> <li class=md-nav__item> <a href=#hawklistplugins class=md-nav__link> Hawk.listPlugins </a> </li> <li class=md-nav__item> <a href=#hawklistinstances class=md-nav__link> Hawk.listInstances </a> </li> <li class=md-nav__item> <a href=#hawkremoveinstance class=md-nav__link> Hawk.removeInstance </a> </li> <li class=md-nav__item> <a href=#hawkstartinstance class=md-nav__link> Hawk.startInstance </a> </li> <li class=md-nav__item> <a href=#hawkstopinstance class=md-nav__link> Hawk.stopInstance </a> </li> <li class=md-nav__item> <a href=#hawksyncinstance class=md-nav__link> Hawk.syncInstance </a> </li> <li class=md-nav__item> <a href=#hawkregistermetamodels class=md-nav__link> Hawk.registerMetamodels </a> </li> <li class=md-nav__item> <a href=#hawkunregistermetamodels class=md-nav__link> Hawk.unregisterMetamodels </a> </li> <li class=md-nav__item> <a href=#hawklistmetamodels class=md-nav__link> Hawk.listMetamodels </a> </li> <li class=md-nav__item> <a href=#hawklistquerylanguages class=md-nav__link> Hawk.listQueryLanguages </a> </li> <li class=md-nav__item> <a href=#hawkquery class=md-nav__link> Hawk.query </a> </li> <li class=md-nav__item> <a href=#hawkresolveproxies class=md-nav__link> Hawk.resolveProxies </a> </li> <li class=md-nav__item> <a href=#hawkaddrepository class=md-nav__link> Hawk.addRepository </a> </li> <li class=md-nav__item> <a href=#hawkisfrozen class=md-nav__link> Hawk.isFrozen </a> </li> <li class=md-nav__item> <a href=#hawksetfrozen class=md-nav__link> Hawk.setFrozen </a> </li> <li class=md-nav__item> <a href=#hawkremoverepository class=md-nav__link> Hawk.removeRepository </a> </li> <li class=md-nav__item> <a href=#hawkupdaterepositorycredentials class=md-nav__link> Hawk.updateRepositoryCredentials </a> </li> <li class=md-nav__item> <a href=#hawklistrepositories class=md-nav__link> Hawk.listRepositories </a> </li> <li class=md-nav__item> <a href=#hawklistrepositorytypes class=md-nav__link> Hawk.listRepositoryTypes </a> </li> <li class=md-nav__item> <a href=#hawklistfiles class=md-nav__link> Hawk.listFiles </a> </li> <li class=md-nav__item> <a href=#hawkconfigurepolling class=md-nav__link> Hawk.configurePolling </a> </li> <li class=md-nav__item> <a href=#hawkaddderivedattribute class=md-nav__link> Hawk.addDerivedAttribute </a> </li> <li class=md-nav__item> <a href=#hawkremovederivedattribute class=md-nav__link> Hawk.removeDerivedAttribute </a> </li> <li class=md-nav__item> <a href=#hawklistderivedattributes class=md-nav__link> Hawk.listDerivedAttributes </a> </li> <li class=md-nav__item> <a href=#hawkaddindexedattribute class=md-nav__link> Hawk.addIndexedAttribute </a> </li> <li class=md-nav__item> <a href=#hawkremoveindexedattribute class=md-nav__link> Hawk.removeIndexedAttribute </a> </li> <li class=md-nav__item> <a href=#hawklistindexedattributes class=md-nav__link> Hawk.listIndexedAttributes </a> </li> <li class=md-nav__item> <a href=#hawkgetmodel class=md-nav__link> Hawk.getModel </a> </li> <li class=md-nav__item> <a href=#hawkgetrootelements class=md-nav__link> Hawk.getRootElements </a> </li> <li class=md-nav__item> <a href=#hawkwatchstatechanges class=md-nav__link> Hawk.watchStateChanges </a> </li> <li class=md-nav__item> <a href=#hawkwatchmodelchanges class=md-nav__link> Hawk.watchModelChanges </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#ifcexport class=md-nav__link> IFCExport </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#ifcexportexportasstep class=md-nav__link> IFCExport.exportAsSTEP </a> </li> <li class=md-nav__item> <a href=#ifcexportgetjobs class=md-nav__link> IFCExport.getJobs </a> </li> <li class=md-nav__item> <a href=#ifcexportgetjobstatus class=md-nav__link> IFCExport.getJobStatus </a> </li> <li class=md-nav__item> <a href=#ifcexportkilljob class=md-nav__link> IFCExport.killJob </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#users class=md-nav__link> Users </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#userscreateuser class=md-nav__link> Users.createUser </a> </li> <li class=md-nav__item> <a href=#usersupdateprofile class=md-nav__link> Users.updateProfile </a> </li> <li class=md-nav__item> <a href=#usersupdatepassword class=md-nav__link> Users.updatePassword </a> </li> <li class=md-nav__item> <a href=#usersdeleteuser class=md-nav__link> Users.deleteUser </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#entities class=md-nav__link> Entities </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#attributeslot class=md-nav__link> AttributeSlot </a> </li> <li class=md-nav__item> <a href=#commititem class=md-nav__link> CommitItem </a> </li> <li class=md-nav__item> <a href=#containerslot class=md-nav__link> ContainerSlot </a> </li> <li class=md-nav__item> <a href=#credentials class=md-nav__link> Credentials </a> </li> <li class=md-nav__item> <a href=#derivedattributespec class=md-nav__link> DerivedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#effectivemetamodel class=md-nav__link> EffectiveMetamodel </a> </li> <li class=md-nav__item> <a href=#effectivemetamodelmap class=md-nav__link> EffectiveMetamodelMap </a> </li> <li class=md-nav__item> <a href=#file class=md-nav__link> File </a> </li> <li class=md-nav__item> <a href=#hawkattributeremovalevent class=md-nav__link> HawkAttributeRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkattributeupdateevent class=md-nav__link> HawkAttributeUpdateEvent </a> </li> <li class=md-nav__item> <a href=#hawkchangeevent class=md-nav__link> HawkChangeEvent </a> </li> <li class=md-nav__item> <a href=#hawkfileadditionevent class=md-nav__link> HawkFileAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkfileremovalevent class=md-nav__link> HawkFileRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkinstance class=md-nav__link> HawkInstance </a> </li> <li class=md-nav__item> <a href=#hawkmodelelementadditionevent class=md-nav__link> HawkModelElementAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkmodelelementremovalevent class=md-nav__link> HawkModelElementRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkqueryoptions class=md-nav__link> HawkQueryOptions </a> </li> <li class=md-nav__item> <a href=#hawkreferenceadditionevent class=md-nav__link> HawkReferenceAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkreferenceremovalevent class=md-nav__link> HawkReferenceRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkstateevent class=md-nav__link> HawkStateEvent </a> </li> <li class=md-nav__item> <a href=#hawksynchronizationendevent class=md-nav__link> HawkSynchronizationEndEvent </a> </li> <li class=md-nav__item> <a href=#hawksynchronizationstartevent class=md-nav__link> HawkSynchronizationStartEvent </a> </li> <li class=md-nav__item> <a href=#ifcexportjob class=md-nav__link> IFCExportJob </a> </li> <li class=md-nav__item> <a href=#ifcexportoptions class=md-nav__link> IFCExportOptions </a> </li> <li class=md-nav__item> <a href=#indexedattributespec class=md-nav__link> IndexedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidmodelspec class=md-nav__link> InvalidModelSpec </a> </li> <li class=md-nav__item> <a href=#invalidtransformation class=md-nav__link> InvalidTransformation </a> </li> <li class=md-nav__item> <a href=#mixedreference class=md-nav__link> MixedReference </a> </li> <li class=md-nav__item> <a href=#modelelement class=md-nav__link> ModelElement </a> </li> <li class=md-nav__item> <a href=#modelelementtype class=md-nav__link> ModelElementType </a> </li> <li class=md-nav__item> <a href=#modelspec class=md-nav__link> ModelSpec </a> </li> <li class=md-nav__item> <a href=#queryresult class=md-nav__link> QueryResult </a> </li> <li class=md-nav__item> <a href=#queryresultmap class=md-nav__link> QueryResultMap </a> </li> <li class=md-nav__item> <a href=#referenceslot class=md-nav__link> ReferenceSlot </a> </li> <li class=md-nav__item> <a href=#repository class=md-nav__link> Repository </a> </li> <li class=md-nav__item> <a href=#slot class=md-nav__link> Slot </a> </li> <li class=md-nav__item> <a href=#slotmetadata class=md-nav__link> SlotMetadata </a> </li> <li class=md-nav__item> <a href=#slotvalue class=md-nav__link> SlotValue </a> </li> <li class=md-nav__item> <a href=#subscription class=md-nav__link> Subscription </a> </li> <li class=md-nav__item> <a href=#userprofile class=md-nav__link> UserProfile </a> </li> <li class=md-nav__item> <a href=#value class=md-nav__link> Value </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#enumerations class=md-nav__link> Enumerations </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#commititemchangetype class=md-nav__link> CommitItemChangeType </a> </li> <li class=md-nav__item> <a href=#hawkstate class=md-nav__link> HawkState </a> </li> <li class=md-nav__item> <a href=#ifcexportstatus class=md-nav__link> IFCExportStatus </a> </li> <li class=md-nav__item> <a href=#subscriptiondurability class=md-nav__link> SubscriptionDurability </a> </li> <li class=md-nav__item> <a href=#failedquery class=md-nav__link> FailedQuery </a> </li> <li class=md-nav__item> <a href=#hawkinstancenotfound class=md-nav__link> HawkInstanceNotFound </a> </li> <li class=md-nav__item> <a href=#hawkinstancenotrunning class=md-nav__link> HawkInstanceNotRunning </a> </li> <li class=md-nav__item> <a href=#invalidderivedattributespec class=md-nav__link> InvalidDerivedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidindexedattributespec class=md-nav__link> InvalidIndexedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidmetamodel class=md-nav__link> InvalidMetamodel </a> </li> <li class=md-nav__item> <a href=#invalidpollingconfiguration class=md-nav__link> InvalidPollingConfiguration </a> </li> <li class=md-nav__item> <a href=#invalidquery class=md-nav__link> InvalidQuery </a> </li> <li class=md-nav__item> <a href=#unknownquerylanguage class=md-nav__link> UnknownQueryLanguage </a> </li> <li class=md-nav__item> <a href=#unknownrepositorytype class=md-nav__link> UnknownRepositoryType </a> </li> <li class=md-nav__item> <a href=#userexists class=md-nav__link> UserExists </a> </li> <li class=md-nav__item> <a href=#usernotfound class=md-nav__link> UserNotFound </a> </li> <li class=md-nav__item> <a href=#vcsauthenticationfailed class=md-nav__link> VCSAuthenticationFailed </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Thrift API</h1> <h2 id=services>Services<a class=headerlink href=#services title="Permanent link">&para;</a></h2> <h3 id=hawk>Hawk<a class=headerlink href=#hawk title="Permanent link">&para;</a></h3> <p>The following service operations expose the capabilities of the Hawk heterogeneous model indexing framework.</p> <h4 id=hawkcreateinstance>Hawk.createInstance<a class=headerlink href=#hawkcreateinstance title="Permanent link">&para;</a></h4> <p>Creates a new Hawk instance (stopped).</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The unique name of the new Hawk instance.</td> </tr> <tr> <td>backend</td> <td>string</td> <td>The name of the backend to be used, as returned by listBackends().</td> </tr> <tr> <td>minimumDelayMillis</td> <td>i32</td> <td>Minimum delay between periodic synchronization in milliseconds.</td> </tr> <tr> <td>maximumDelayMillis</td> <td>i32</td> <td>Maximum delay between periodic synchronization in milliseconds (0 to disable periodic synchronization).</td> </tr> <tr> <td>enabledPlugins (optional)</td> <td>list<string></td> <td>List of plugins to be enabled: if not set, all plugins are enabled.</td> </tr> </tbody> </table> <h4 id=hawklistbackends>Hawk.listBackends<a class=headerlink href=#hawklistbackends title="Permanent link">&para;</a></h4> <p>Lists the names of the available storage backends.</p> <p>Returns <code>list&lt;string&gt;</code>. Does not take any parameters. </p> <h4 id=hawklistplugins>Hawk.listPlugins<a class=headerlink href=#hawklistplugins title="Permanent link">&para;</a></h4> <p>Lists all the Hawk plugins that can be enabled or disabled: metamodel parsers, model parsers and graph change listeners.</p> <p>Returns <code>list&lt;string&gt;</code>. Does not take any parameters. </p> <h4 id=hawklistinstances>Hawk.listInstances<a class=headerlink href=#hawklistinstances title="Permanent link">&para;</a></h4> <p>Lists the details of all Hawk instances.</p> <p>Returns <code>list&lt;HawkInstance&gt;</code>. Does not take any parameters. </p> <h4 id=hawkremoveinstance>Hawk.removeInstance<a class=headerlink href=#hawkremoveinstance title="Permanent link">&para;</a></h4> <p>Removes an existing Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance to remove.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> </tbody> </table> <h4 id=hawkstartinstance>Hawk.startInstance<a class=headerlink href=#hawkstartinstance title="Permanent link">&para;</a></h4> <p>Starts a stopped Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance to start.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> </tbody> </table> <h4 id=hawkstopinstance>Hawk.stopInstance<a class=headerlink href=#hawkstopinstance title="Permanent link">&para;</a></h4> <p>Stops a running Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance to stop.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawksyncinstance>Hawk.syncInstance<a class=headerlink href=#hawksyncinstance title="Permanent link">&para;</a></h4> <p>Forces an immediate synchronization on a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance to stop.</td> </tr> <tr> <td>blockUntilDone (optional)</td> <td>bool</td> <td>If true, blocks the call until the synchronisation completes. False by default.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkregistermetamodels>Hawk.registerMetamodels<a class=headerlink href=#hawkregistermetamodels title="Permanent link">&para;</a></h4> <p>Registers a set of file-based metamodels with a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>metamodel</td> <td>list<file></td> <td>The metamodels to register. More than one metamodel file can be provided in one request, to accomodate fragmented metamodels.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>InvalidMetamodel</td> <td>The provided metamodel is not valid (e.g. unparsable or inconsistent).</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkunregistermetamodels>Hawk.unregisterMetamodels<a class=headerlink href=#hawkunregistermetamodels title="Permanent link">&para;</a></h4> <p>Unregisters a metamodel from a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>metamodel</td> <td>list<string></td> <td>The URIs of the metamodels.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistmetamodels>Hawk.listMetamodels<a class=headerlink href=#hawklistmetamodels title="Permanent link">&para;</a></h4> <p>Lists the URIs of the registered metamodels of a Hawk instance.</p> <p>Returns <code>list&lt;string&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistquerylanguages>Hawk.listQueryLanguages<a class=headerlink href=#hawklistquerylanguages title="Permanent link">&para;</a></h4> <p>Lists the supported query languages and their status.</p> <p>Returns <code>list&lt;string&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <h4 id=hawkquery>Hawk.query<a class=headerlink href=#hawkquery title="Permanent link">&para;</a></h4> <p>Runs a query on a Hawk instance and returns a sequence of scalar values and/or model elements.</p> <p>Returns <code>QueryResult</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>query</td> <td>string</td> <td>The query to be executed.</td> </tr> <tr> <td>language</td> <td>string</td> <td>The name of the query language used (e.g. EOL, OCL).</td> </tr> <tr> <td>options</td> <td>HawkQueryOptions</td> <td>Options for the query.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> <tr> <td>UnknownQueryLanguage</td> <td>The specified query language is not supported by the operation.</td> </tr> <tr> <td>InvalidQuery</td> <td>The specified query is not valid.</td> </tr> <tr> <td>FailedQuery</td> <td>The specified query failed to complete its execution.</td> </tr> </tbody> </table> <h4 id=hawkresolveproxies>Hawk.resolveProxies<a class=headerlink href=#hawkresolveproxies title="Permanent link">&para;</a></h4> <p>Returns populated model elements for the provided proxies.</p> <p>Returns <code>list&lt;ModelElement&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>ids</td> <td>list<string></td> <td>Proxy model element IDs to be resolved.</td> </tr> <tr> <td>options</td> <td>HawkQueryOptions</td> <td>Options for the query.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkaddrepository>Hawk.addRepository<a class=headerlink href=#hawkaddrepository title="Permanent link">&para;</a></h4> <p>Asks a Hawk instance to start monitoring a repository.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>repo</td> <td>Repository</td> <td>The repository to monitor.</td> </tr> <tr> <td>credentials (optional)</td> <td>Credentials</td> <td>A valid set of credentials that has read-access to the repository.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> <tr> <td>UnknownRepositoryType</td> <td>The specified repository type is not supported by the operation.</td> </tr> <tr> <td>VCSAuthenticationFailed</td> <td>The client failed to prove its identity in the VCS.</td> </tr> </tbody> </table> <h4 id=hawkisfrozen>Hawk.isFrozen<a class=headerlink href=#hawkisfrozen title="Permanent link">&para;</a></h4> <p>Returns true if a repository is frozen, false otherwise.</p> <p>Returns <code>bool</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI of the repository to query.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawksetfrozen>Hawk.setFrozen<a class=headerlink href=#hawksetfrozen title="Permanent link">&para;</a></h4> <p>Changes the 'frozen' state of a repository.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI of the repository to be changed.</td> </tr> <tr> <td>isFrozen</td> <td>bool</td> <td>Whether the repository should be frozen (true) or not (false).</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkremoverepository>Hawk.removeRepository<a class=headerlink href=#hawkremoverepository title="Permanent link">&para;</a></h4> <p>Asks a Hawk instance to stop monitoring a repository and remove its elements from the graph.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI of the repository to stop monitoring.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkupdaterepositorycredentials>Hawk.updateRepositoryCredentials<a class=headerlink href=#hawkupdaterepositorycredentials title="Permanent link">&para;</a></h4> <p>Changes the credentials used to monitor a repository.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI of the repository to update.</td> </tr> <tr> <td>cred</td> <td>Credentials</td> <td>The new credentials to be used.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistrepositories>Hawk.listRepositories<a class=headerlink href=#hawklistrepositories title="Permanent link">&para;</a></h4> <p>Lists the repositories monitored by a Hawk instance.</p> <p>Returns <code>list&lt;Repository&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistrepositorytypes>Hawk.listRepositoryTypes<a class=headerlink href=#hawklistrepositorytypes title="Permanent link">&para;</a></h4> <p>Lists the available repository types in this installation.</p> <p>Returns <code>list&lt;string&gt;</code>. Does not take any parameters. </p> <h4 id=hawklistfiles>Hawk.listFiles<a class=headerlink href=#hawklistfiles title="Permanent link">&para;</a></h4> <p>Lists the paths of the files of the indexed repository.</p> <p>Returns <code>list&lt;string&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>repository</td> <td>list<string></td> <td>The URI of the indexed repository.</td> </tr> <tr> <td>filePatterns</td> <td>list<string></td> <td>File name patterns to search for (* lists all files).</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkconfigurepolling>Hawk.configurePolling<a class=headerlink href=#hawkconfigurepolling title="Permanent link">&para;</a></h4> <p>Sets the base polling period and max interval of a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>base</td> <td>i32</td> <td>The base polling period (in seconds).</td> </tr> <tr> <td>max</td> <td>i32</td> <td>The maximum polling interval (in seconds).</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> <tr> <td>InvalidPollingConfiguration</td> <td>The polling configuration is not valid.</td> </tr> </tbody> </table> <h4 id=hawkaddderivedattribute>Hawk.addDerivedAttribute<a class=headerlink href=#hawkaddderivedattribute title="Permanent link">&para;</a></h4> <p>Add a new derived attribute to a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>spec</td> <td>DerivedAttributeSpec</td> <td>The details of the new derived attribute.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> <tr> <td>InvalidDerivedAttributeSpec</td> <td>The derived attribute specification is not valid.</td> </tr> </tbody> </table> <h4 id=hawkremovederivedattribute>Hawk.removeDerivedAttribute<a class=headerlink href=#hawkremovederivedattribute title="Permanent link">&para;</a></h4> <p>Remove a derived attribute from a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>spec</td> <td>DerivedAttributeSpec</td> <td>The details of the derived attribute to be removed. Only the first three fields of the spec need to be populated.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistderivedattributes>Hawk.listDerivedAttributes<a class=headerlink href=#hawklistderivedattributes title="Permanent link">&para;</a></h4> <p>Lists the derived attributes of a Hawk instance. Only the first three fields of the spec are currently populated.</p> <p>Returns <code>list&lt;DerivedAttributeSpec&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkaddindexedattribute>Hawk.addIndexedAttribute<a class=headerlink href=#hawkaddindexedattribute title="Permanent link">&para;</a></h4> <p>Add a new indexed attribute to a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>spec</td> <td>IndexedAttributeSpec</td> <td>The details of the new indexed attribute.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> <tr> <td>InvalidIndexedAttributeSpec</td> <td>The indexed attribute specification is not valid.</td> </tr> </tbody> </table> <h4 id=hawkremoveindexedattribute>Hawk.removeIndexedAttribute<a class=headerlink href=#hawkremoveindexedattribute title="Permanent link">&para;</a></h4> <p>Remove a indexed attribute from a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>spec</td> <td>IndexedAttributeSpec</td> <td>The details of the indexed attribute to be removed.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistindexedattributes>Hawk.listIndexedAttributes<a class=headerlink href=#hawklistindexedattributes title="Permanent link">&para;</a></h4> <p>Lists the indexed attributes of a Hawk instance.</p> <p>Returns <code>list&lt;IndexedAttributeSpec&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkgetmodel>Hawk.getModel<a class=headerlink href=#hawkgetmodel title="Permanent link">&para;</a></h4> <p>Returns the contents of one or more models indexed in a Hawk instance. Cross-model references are also resolved, and contained objects are always sent.</p> <p>Returns <code>list&lt;ModelElement&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>options</td> <td>HawkQueryOptions</td> <td>Options to limit the contents to be sent.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkgetrootelements>Hawk.getRootElements<a class=headerlink href=#hawkgetrootelements title="Permanent link">&para;</a></h4> <p>Returns the root objects of one or more models indexed in a Hawk instance. Node IDs are always sent, and contained objects are never sent.</p> <p>Returns <code>list&lt;ModelElement&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>options</td> <td>HawkQueryOptions</td> <td>Options to limit the contents to be sent.</td> </tr> </tbody> </table> <h4 id=hawkwatchstatechanges>Hawk.watchStateChanges<a class=headerlink href=#hawkwatchstatechanges title="Permanent link">&para;</a></h4> <p>Returns subscription details to a queue of HawkStateEvents with notifications about changes in the indexer's state.</p> <p>Returns <code>Subscription</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkwatchmodelchanges>Hawk.watchModelChanges<a class=headerlink href=#hawkwatchmodelchanges title="Permanent link">&para;</a></h4> <p>Returns subscription details to a queue of HawkChangeEvents with notifications about changes to a set of indexed models.</p> <p>Returns <code>Subscription</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>repositoryUri</td> <td>string</td> <td>The URI of the repository in which the model is contained.</td> </tr> <tr> <td>filePath</td> <td>list<string></td> <td>The pattern(s) for the model file(s) in the repository.</td> </tr> <tr> <td>clientID</td> <td>string</td> <td>Unique client ID (used as suffix for the queue name).</td> </tr> <tr> <td>durableEvents</td> <td>SubscriptionDurability</td> <td>Durability of the subscription.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h3 id=ifcexport>IFCExport<a class=headerlink href=#ifcexport title="Permanent link">&para;</a></h3> <p>IFC export facility for getting IFC models from the Hawk server.</p> <h4 id=ifcexportexportasstep>IFCExport.exportAsSTEP<a class=headerlink href=#ifcexportexportasstep title="Permanent link">&para;</a></h4> <p>Export part of a Hawk index in IFC STEP format.</p> <p>Returns <code>IFCExportJob</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>hawkInstance</td> <td>string</td> <td></td> </tr> <tr> <td>options</td> <td>IFCExportOptions</td> <td></td> </tr> </tbody> </table> <h4 id=ifcexportgetjobs>IFCExport.getJobs<a class=headerlink href=#ifcexportgetjobs title="Permanent link">&para;</a></h4> <p>List all the previously scheduled IFC export jobs.</p> <p>Returns <code>list&lt;IFCExportJob&gt;</code>. Does not take any parameters. </p> <h4 id=ifcexportgetjobstatus>IFCExport.getJobStatus<a class=headerlink href=#ifcexportgetjobstatus title="Permanent link">&para;</a></h4> <p>Retrieve the current status of the job with the specified ID.</p> <p>Returns <code>IFCExportJob</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>jobID</td> <td>string</td> <td></td> </tr> </tbody> </table> <h4 id=ifcexportkilljob>IFCExport.killJob<a class=headerlink href=#ifcexportkilljob title="Permanent link">&para;</a></h4> <p>Cancel the job with the specified ID.</p> <p>Returns <code>bool</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>jobID</td> <td>string</td> <td></td> </tr> </tbody> </table> <h3 id=users>Users<a class=headerlink href=#users title="Permanent link">&para;</a></h3> <p>The majority of service operations provided by the server require user authentication (indicated in the top-left cell of each operation table) to prevent unaccountable use. As such, the platform needs to provide basic user management service operations for creating, updating and deleting user accounts. When handling passwords, only SSL should be used, as otherwise they could be intercepted.</p> <h4 id=userscreateuser>Users.createUser<a class=headerlink href=#userscreateuser title="Permanent link">&para;</a></h4> <p>Creates a new platform user.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>string</td> <td>A unique identifier for the user.</td> </tr> <tr> <td>password</td> <td>string</td> <td>The desired password.</td> </tr> <tr> <td>profile</td> <td>UserProfile</td> <td>The profile of the user.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>UserExists</td> <td>The specified username already exists.</td> </tr> </tbody> </table> <h4 id=usersupdateprofile>Users.updateProfile<a class=headerlink href=#usersupdateprofile title="Permanent link">&para;</a></h4> <p>Updates the profile of a platform user.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>string</td> <td>The name of the user to update the profile of.</td> </tr> <tr> <td>profile</td> <td>UserProfile</td> <td>The updated profile of the user.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>UserNotFound</td> <td>The specified username does not exist.</td> </tr> </tbody> </table> <h4 id=usersupdatepassword>Users.updatePassword<a class=headerlink href=#usersupdatepassword title="Permanent link">&para;</a></h4> <p>Updates the password of a platform user.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>string</td> <td>The name of the user to update the profile of.</td> </tr> <tr> <td>newPassword</td> <td>string</td> <td>New password to be set.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>UserNotFound</td> <td>The specified username does not exist.</td> </tr> </tbody> </table> <h4 id=usersdeleteuser>Users.deleteUser<a class=headerlink href=#usersdeleteuser title="Permanent link">&para;</a></h4> <p>Deletes a platform user.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>string</td> <td>The name of the user to delete.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>UserNotFound</td> <td>The specified username does not exist.</td> </tr> </tbody> </table> <h2 id=entities>Entities<a class=headerlink href=#entities title="Permanent link">&para;</a></h2> <h3 id=attributeslot>AttributeSlot<a class=headerlink href=#attributeslot title="Permanent link">&para;</a></h3> <p>Represents a slot that can store the value(s) of an attribute of a model element.</p> <p>Inherits from: Slot.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name (inherited)</td> <td>string</td> <td>The name of the model element property the value of which is stored in this slot.</td> </tr> <tr> <td>value (optional)</td> <td>SlotValue</td> <td>Value of the slot (if set).</td> </tr> </tbody> </table> <p>Used in: ModelElement.</p> <h3 id=commititem>CommitItem<a class=headerlink href=#commititem title="Permanent link">&para;</a></h3> <p>Simplified entry within a commit of a repository.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>path</td> <td>string</td> <td>Path within the repository, using / as separator.</td> </tr> <tr> <td>repoURL</td> <td>string</td> <td>URL of the repository.</td> </tr> <tr> <td>revision</td> <td>string</td> <td>Unique identifier of the revision of the repository.</td> </tr> <tr> <td>type</td> <td>CommitItemChangeType</td> <td>Type of change within the commit.</td> </tr> </tbody> </table> <p>Used in: HawkModelElementAdditionEvent, HawkModelElementRemovalEvent, HawkAttributeUpdateEvent, HawkAttributeRemovalEvent, HawkReferenceAdditionEvent, HawkReferenceRemovalEvent, HawkFileAdditionEvent, HawkFileRemovalEvent.</p> <h3 id=containerslot>ContainerSlot<a class=headerlink href=#containerslot title="Permanent link">&para;</a></h3> <p>Represents a slot that can store other model elements within a model element.</p> <p>Inherits from: Slot.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>elements</td> <td>list<modelelement></td> <td>Contained elements for this slot.</td> </tr> <tr> <td>name (inherited)</td> <td>string</td> <td>The name of the model element property the value of which is stored in this slot.</td> </tr> </tbody> </table> <p>Used in: ModelElement.</p> <h3 id=credentials>Credentials<a class=headerlink href=#credentials title="Permanent link">&para;</a></h3> <p>Credentials of the client in the target VCS.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>password</td> <td>string</td> <td>Password for logging into the VCS.</td> </tr> <tr> <td>username</td> <td>string</td> <td>Username for logging into the VCS.</td> </tr> </tbody> </table> <p>Used in: Hawk.addRepository, Hawk.updateRepositoryCredentials.</p> <h3 id=derivedattributespec>DerivedAttributeSpec<a class=headerlink href=#derivedattributespec title="Permanent link">&para;</a></h3> <p>Used to configure Hawk's derived attributes (discussed in D5.3).</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attributeName</td> <td>string</td> <td>The name of the derived attribute.</td> </tr> <tr> <td>attributeType (optional)</td> <td>string</td> <td>The (primitive) type of the derived attribute.</td> </tr> <tr> <td>derivationLanguage (optional)</td> <td>string</td> <td>The language used to express the derivation logic.</td> </tr> <tr> <td>derivationLogic (optional)</td> <td>string</td> <td>An executable expression of the derivation logic in the language above.</td> </tr> <tr> <td>isMany (optional)</td> <td>bool</td> <td>The multiplicity of the derived attribute.</td> </tr> <tr> <td>isOrdered (optional)</td> <td>bool</td> <td>A flag specifying whether the order of the values of the derived attribute is significant (only makes sense when isMany=true).</td> </tr> <tr> <td>isUnique (optional)</td> <td>bool</td> <td>A flag specifying whether the the values of the derived attribute are unique (only makes sense when isMany=true).</td> </tr> <tr> <td>metamodelUri</td> <td>string</td> <td>The URI of the metamodel to which the derived attribute belongs.</td> </tr> <tr> <td>typeName</td> <td>string</td> <td>The name of the type to which the derived attribute belongs.</td> </tr> </tbody> </table> <p>Used in: Hawk.addDerivedAttribute, Hawk.removeDerivedAttribute, Hawk.listDerivedAttributes.</p> <h3 id=effectivemetamodel>EffectiveMetamodel<a class=headerlink href=#effectivemetamodel title="Permanent link">&para;</a></h3> <p>Representation of a set of rules for either including or excluding certain types and/or slots within a metamodel.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>slots</td> <td>set<string></td> <td>Slots within the type that should be included or excluded: empty means 'all slots'.</td> </tr> <tr> <td>type</td> <td>string</td> <td>Type that should be included or excluded.</td> </tr> </tbody> </table> <p>Used in: EffectiveMetamodelMap.</p> <h3 id=effectivemetamodelmap>EffectiveMetamodelMap<a class=headerlink href=#effectivemetamodelmap title="Permanent link">&para;</a></h3> <p>Representation of a set of rules for either including or excluding metamodels, types or slots.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>metamodel</td> <td>map<string,set&lt;string>&gt;</td> <td>Types and slots within the metamodel that should be included or excluded: empty means 'all types and slots'.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>Namespace URI of the metamodel.</td> </tr> </tbody> </table> <p>Used in: HawkQueryOptions, IFCExportOptions.</p> <h3 id=file>File<a class=headerlink href=#file title="Permanent link">&para;</a></h3> <p>A file to be sent through the network.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>contents</td> <td>binary</td> <td>Sequence of bytes with the contents of the file.</td> </tr> <tr> <td>name</td> <td>string</td> <td>Name of the file.</td> </tr> </tbody> </table> <p>Used in: Hawk.registerMetamodels.</p> <h3 id=hawkattributeremovalevent>HawkAttributeRemovalEvent<a class=headerlink href=#hawkattributeremovalevent title="Permanent link">&para;</a></h3> <p>Serialized form of an attribute removal event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attribute</td> <td>string</td> <td>Name of the attribute that was removed.</td> </tr> <tr> <td>id</td> <td>string</td> <td>Identifier of the model element that was changed.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkattributeupdateevent>HawkAttributeUpdateEvent<a class=headerlink href=#hawkattributeupdateevent title="Permanent link">&para;</a></h3> <p>Serialized form of an attribute update event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attribute</td> <td>string</td> <td>Name of the attribute that was changed.</td> </tr> <tr> <td>id</td> <td>string</td> <td>Identifier of the model element that was changed.</td> </tr> <tr> <td>value</td> <td>SlotValue</td> <td>New value for the attribute.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkchangeevent>HawkChangeEvent<a class=headerlink href=#hawkchangeevent title="Permanent link">&para;</a></h3> <p>Serialized form of a change in the indexed models of a Hawk instance.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>fileAddition</td> <td>HawkFileAdditionEvent</td> <td>A file was added.</td> </tr> <tr> <td>fileRemoval</td> <td>HawkFileRemovalEvent</td> <td>A file was removed.</td> </tr> <tr> <td>modelElementAddition</td> <td>HawkModelElementAdditionEvent</td> <td>A model element was added.</td> </tr> <tr> <td>modelElementAttributeRemoval</td> <td>HawkAttributeRemovalEvent</td> <td>An attribute was removed.</td> </tr> <tr> <td>modelElementAttributeUpdate</td> <td>HawkAttributeUpdateEvent</td> <td>An attribute was updated.</td> </tr> <tr> <td>modelElementRemoval</td> <td>HawkModelElementRemovalEvent</td> <td>A model element was removed.</td> </tr> <tr> <td>referenceAddition</td> <td>HawkReferenceAdditionEvent</td> <td>A reference was added.</td> </tr> <tr> <td>referenceRemoval</td> <td>HawkReferenceRemovalEvent</td> <td>A reference was removed.</td> </tr> <tr> <td>syncEnd</td> <td>HawkSynchronizationEndEvent</td> <td>Synchronization ended.</td> </tr> <tr> <td>syncStart</td> <td>HawkSynchronizationStartEvent</td> <td>Synchronization started.</td> </tr> </tbody> </table> <h3 id=hawkfileadditionevent>HawkFileAdditionEvent<a class=headerlink href=#hawkfileadditionevent title="Permanent link">&para;</a></h3> <p>Serialized form of a file addition event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Reference to file that was added, including VCS metadata.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkfileremovalevent>HawkFileRemovalEvent<a class=headerlink href=#hawkfileremovalevent title="Permanent link">&para;</a></h3> <p>A file was removed.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Reference to file that was removed, including VCS metadata.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkinstance>HawkInstance<a class=headerlink href=#hawkinstance title="Permanent link">&para;</a></h3> <p>Status of a Hawk instance.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>message</td> <td>string</td> <td>Last info message from the instance.</td> </tr> <tr> <td>name</td> <td>string</td> <td>The name of the instance.</td> </tr> <tr> <td>state</td> <td>HawkState</td> <td>Current state of the instance.</td> </tr> </tbody> </table> <p>Used in: Hawk.listInstances.</p> <h3 id=hawkmodelelementadditionevent>HawkModelElementAdditionEvent<a class=headerlink href=#hawkmodelelementadditionevent title="Permanent link">&para;</a></h3> <p>Serialized form of a model element addition event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>id</td> <td>string</td> <td>Identifier of the model element that was added.</td> </tr> <tr> <td>metamodelURI</td> <td>string</td> <td>Metamodel URI of the type of the model element.</td> </tr> <tr> <td>typeName</td> <td>string</td> <td>Name of the type of the model element.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkmodelelementremovalevent>HawkModelElementRemovalEvent<a class=headerlink href=#hawkmodelelementremovalevent title="Permanent link">&para;</a></h3> <p>Serialized form of a model element removal event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>id</td> <td>string</td> <td>Identifier of the model element that was removed.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkqueryoptions>HawkQueryOptions<a class=headerlink href=#hawkqueryoptions title="Permanent link">&para;</a></h3> <p>Options for a Hawk query.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>defaultNamespaces (optional)</td> <td>string</td> <td>The default namespaces to be used to resolve ambiguous unqualified types.</td> </tr> <tr> <td>effectiveMetamodelExcludes (optional)</td> <td>map<string,map&lt;string,set&lt;string>&gt;&gt;</td> <td>If set and not empty, the mentioned metamodels, types and features will not be fetched. The string '*' can be used to refer to all types within a metamodel or all fields within a type.</td> </tr> <tr> <td>effectiveMetamodelIncludes (optional)</td> <td>map<string,map&lt;string,set&lt;string>&gt;&gt;</td> <td>If set and not empty, only the specified metamodels, types and features will be fetched. Otherwise, everything that is not excluded will be fetched. The string '*' can be used to refer to all types within a metamodel or all fields within a type.</td> </tr> <tr> <td>filePatterns (optional)</td> <td>list<string></td> <td>The file patterns for the query (e.g. *.uml).</td> </tr> <tr> <td>includeAttributes (optional)</td> <td>bool</td> <td>Whether to include attributes (true) or not (false) in model element results.</td> </tr> <tr> <td>includeContained (optional)</td> <td>bool</td> <td>Whether to include all the child elements of the model element results (true) or not (false).</td> </tr> <tr> <td>includeDerived (optional)</td> <td>bool</td> <td>Whether to include derived attributes (true) or not (false) in model element results.</td> </tr> <tr> <td>includeNodeIDs (optional)</td> <td>bool</td> <td>Whether to include node IDs (true) or not (false) in model element results.</td> </tr> <tr> <td>includeReferences (optional)</td> <td>bool</td> <td>Whether to include references (true) or not (false) in model element results.</td> </tr> <tr> <td>repositoryPattern (optional)</td> <td>string</td> <td>The repository for the query (or * for all repositories).</td> </tr> </tbody> </table> <p>Used in: Hawk.query, Hawk.resolveProxies, Hawk.getModel, Hawk.getRootElements.</p> <h3 id=hawkreferenceadditionevent>HawkReferenceAdditionEvent<a class=headerlink href=#hawkreferenceadditionevent title="Permanent link">&para;</a></h3> <p>Serialized form of a reference addition event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>refName</td> <td>string</td> <td>Name of the reference that was added.</td> </tr> <tr> <td>sourceId</td> <td>string</td> <td>Identifier of the source model element.</td> </tr> <tr> <td>targetId</td> <td>string</td> <td>Identifier of the target model element.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkreferenceremovalevent>HawkReferenceRemovalEvent<a class=headerlink href=#hawkreferenceremovalevent title="Permanent link">&para;</a></h3> <p>Serialized form of a reference removal event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>refName</td> <td>string</td> <td>Name of the reference that was removed.</td> </tr> <tr> <td>sourceId</td> <td>string</td> <td>Identifier of the source model element.</td> </tr> <tr> <td>targetId</td> <td>string</td> <td>Identifier of the target model element.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkstateevent>HawkStateEvent<a class=headerlink href=#hawkstateevent title="Permanent link">&para;</a></h3> <p>Serialized form of a change in the state of a Hawk instance.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>message</td> <td>string</td> <td>Short message about the current status of the server.</td> </tr> <tr> <td>state</td> <td>HawkState</td> <td>State of the Hawk instance.</td> </tr> <tr> <td>timestamp</td> <td>i64</td> <td>Timestamp for this state change.</td> </tr> </tbody> </table> <h3 id=hawksynchronizationendevent>HawkSynchronizationEndEvent<a class=headerlink href=#hawksynchronizationendevent title="Permanent link">&para;</a></h3> <p>Serialized form of a sync end event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>timestampNanos</td> <td>i64</td> <td>Local timestamp, measured in nanoseconds. Only meant to be used to compute synchronization cost.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawksynchronizationstartevent>HawkSynchronizationStartEvent<a class=headerlink href=#hawksynchronizationstartevent title="Permanent link">&para;</a></h3> <p>Serialized form of a sync start event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>timestampNanos</td> <td>i64</td> <td>Local timestamp, measured in nanoseconds. Only meant to be used to compute synchronization cost.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=ifcexportjob>IFCExportJob<a class=headerlink href=#ifcexportjob title="Permanent link">&para;</a></h3> <p>Information about a server-side IFC export job.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>jobID</td> <td>string</td> <td></td> </tr> <tr> <td>message</td> <td>string</td> <td></td> </tr> <tr> <td>status</td> <td>IFCExportStatus</td> <td></td> </tr> </tbody> </table> <p>Used in: IFCExport.exportAsSTEP, IFCExport.getJobs, IFCExport.getJobStatus.</p> <h3 id=ifcexportoptions>IFCExportOptions<a class=headerlink href=#ifcexportoptions title="Permanent link">&para;</a></h3> <p>Options for a server-side IFC export.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>excludeRules (optional)</td> <td>map<string,map&lt;string,set&lt;string>&gt;&gt;</td> <td>If set and not empty, the mentioned metamodels, types and features will not be fetched. The string '*' can be used to refer to all types within a metamodel or all fields within a type.</td> </tr> <tr> <td>filePatterns (optional)</td> <td>list<string></td> <td>The file patterns for the query (e.g. *.uml).</td> </tr> <tr> <td>includeRules (optional)</td> <td>map<string,map&lt;string,set&lt;string>&gt;&gt;</td> <td>If set and not empty, only the specified metamodels, types and features will be fetched. Otherwise, everything that is not excluded will be fetched. The string '*' can be used to refer to all types within a metamodel or all fields within a type.</td> </tr> <tr> <td>repositoryPattern (optional)</td> <td>string</td> <td>The repository for the query (or * for all repositories).</td> </tr> </tbody> </table> <p>Used in: IFCExport.exportAsSTEP.</p> <h3 id=indexedattributespec>IndexedAttributeSpec<a class=headerlink href=#indexedattributespec title="Permanent link">&para;</a></h3> <p>Used to configure Hawk's indexed attributes (discussed in D5.3).</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attributeName</td> <td>string</td> <td>The name of the indexed attribute.</td> </tr> <tr> <td>metamodelUri</td> <td>string</td> <td>The URI of the metamodel to which the indexed attribute belongs.</td> </tr> <tr> <td>typeName</td> <td>string</td> <td>The name of the type to which the indexed attribute belongs.</td> </tr> </tbody> </table> <p>Used in: Hawk.addIndexedAttribute, Hawk.removeIndexedAttribute, Hawk.listIndexedAttributes.</p> <h3 id=invalidmodelspec>InvalidModelSpec<a class=headerlink href=#invalidmodelspec title="Permanent link">&para;</a></h3> <p>The model specification is not valid: the model or the metamodels are inaccessible or invalid.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the spec not being valid.</td> </tr> <tr> <td>spec</td> <td>ModelSpec</td> <td>A copy of the invalid model specification.</td> </tr> </tbody> </table> <h3 id=invalidtransformation>InvalidTransformation<a class=headerlink href=#invalidtransformation title="Permanent link">&para;</a></h3> <p>The transformation is not valid: it is unparsable or inconsistent.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>location</td> <td>string</td> <td>Location of the problem, if applicable. Usually a combination of line and column numbers.</td> </tr> <tr> <td>reason</td> <td>string</td> <td>Reason for the transformation not being valid.</td> </tr> </tbody> </table> <h3 id=mixedreference>MixedReference<a class=headerlink href=#mixedreference title="Permanent link">&para;</a></h3> <p>Represents a reference to a model element: it can be an identifier or a position. Only used when the same ReferenceSlot has both identifier-based and position-based references. This may be the case if we are retrieving a subset of the model which has references between its elements and with elements outside the subset at the same time.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>id</td> <td>string</td> <td>Identifier-based reference to a model element.</td> </tr> <tr> <td>position</td> <td>i32</td> <td>Position-based reference to a model element.</td> </tr> </tbody> </table> <p>Used in: ReferenceSlot.</p> <h3 id=modelelement>ModelElement<a class=headerlink href=#modelelement title="Permanent link">&para;</a></h3> <p>Represents a model element.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attributes (optional)</td> <td>list<attributeslot></td> <td>Slots holding the values of the model element's attributes, if any have been set.</td> </tr> <tr> <td>containers (optional)</td> <td>list<containerslot></td> <td>Slots holding contained model elements, if any have been set.</td> </tr> <tr> <td>file (optional)</td> <td>string</td> <td>Name of the file to which the element belongs (not set if equal to that of the previous model element).</td> </tr> <tr> <td>id (optional)</td> <td>string</td> <td>Unique ID of the model element (not set if using position-based references).</td> </tr> <tr> <td>metamodelUri (optional)</td> <td>string</td> <td>URI of the metamodel to which the type of the element belongs (not set if equal to that of the previous model element).</td> </tr> <tr> <td>references (optional)</td> <td>list<referenceslot></td> <td>Slots holding the values of the model element's references, if any have been set.</td> </tr> <tr> <td>repositoryURL (optional)</td> <td>string</td> <td>URI of the repository to which the element belongs (not set if equal to that of the previous model element).</td> </tr> <tr> <td>typeName (optional)</td> <td>string</td> <td>Name of the type that the model element is an instance of (not set if equal to that of the previous model element).</td> </tr> </tbody> </table> <p>Used in: Hawk.resolveProxies, Hawk.getModel, Hawk.getRootElements, ContainerSlot, QueryResult.</p> <h3 id=modelelementtype>ModelElementType<a class=headerlink href=#modelelementtype title="Permanent link">&para;</a></h3> <p>Represents a type of model element.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attributes (optional)</td> <td>list<slotmetadata></td> <td>Metadata for the attribute slots.</td> </tr> <tr> <td>id</td> <td>string</td> <td>Unique ID of the model element type.</td> </tr> <tr> <td>metamodelUri</td> <td>string</td> <td>URI of the metamodel to which the type belongs.</td> </tr> <tr> <td>references (optional)</td> <td>list<slotmetadata></td> <td>Metadata for the reference slots.</td> </tr> <tr> <td>typeName</td> <td>string</td> <td>Name of the type.</td> </tr> </tbody> </table> <p>Used in: QueryResult.</p> <h3 id=modelspec>ModelSpec<a class=headerlink href=#modelspec title="Permanent link">&para;</a></h3> <p>Captures information about source/target models of ATL transformations.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>metamodelUris</td> <td>list<string></td> <td>The URIs of the metamodels to which elements of the model conform.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI from which the model will be loaded or to which it will be persisted.</td> </tr> </tbody> </table> <p>Used in: InvalidModelSpec.</p> <h3 id=queryresult>QueryResult<a class=headerlink href=#queryresult title="Permanent link">&para;</a></h3> <p>Union type for a scalar value, a reference to a model element, a heterogeneous list or a string/value map. Query results may return all types of results, so we need to stay flexible.</p> <p>Inherits from: Value.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>vBoolean (inherited)</td> <td>bool</td> <td>Boolean (true/false) value.</td> </tr> <tr> <td>vByte (inherited)</td> <td>byte</td> <td>8-bit signed integer value.</td> </tr> <tr> <td>vDouble (inherited)</td> <td>double</td> <td>64-bit floating point value.</td> </tr> <tr> <td>vInteger (inherited)</td> <td>i32</td> <td>32-bit signed integer value.</td> </tr> <tr> <td>vList</td> <td>list<queryresult></td> <td>Nested list of query results.</td> </tr> <tr> <td>vLong (inherited)</td> <td>i64</td> <td>64-bit signed integer value.</td> </tr> <tr> <td>vMap</td> <td>map<string,queryresult></td> <td>Map between query results.</td> </tr> <tr> <td>vModelElement</td> <td>ModelElement</td> <td>Encoded model element.</td> </tr> <tr> <td>vModelElementType</td> <td>ModelElementType</td> <td>Encoded model element type.</td> </tr> <tr> <td>vShort (inherited)</td> <td>i16</td> <td>16-bit signed integer value.</td> </tr> <tr> <td>vString (inherited)</td> <td>string</td> <td>Sequence of UTF8 characters.</td> </tr> </tbody> </table> <p>Used in: Hawk.query, QueryResult, QueryResultMap.</p> <h3 id=queryresultmap>QueryResultMap<a class=headerlink href=#queryresultmap title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td></td> </tr> <tr> <td>value</td> <td>QueryResult</td> <td></td> </tr> </tbody> </table> <p>Used in: QueryResult.</p> <h3 id=referenceslot>ReferenceSlot<a class=headerlink href=#referenceslot title="Permanent link">&para;</a></h3> <p>Represents a slot that can store the value(s) of a reference of a model element. References can be expressed as positions within a result tree (using pre-order traversal) or IDs. id, ids, position, positions and mixed are all mutually exclusive. At least one position or one ID must be given.</p> <p>Inherits from: Slot.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>id (optional)</td> <td>string</td> <td>Unique identifier of the referenced element (if there is only one ID based reference in this slot).</td> </tr> <tr> <td>ids (optional)</td> <td>list<string></td> <td>Unique identifiers of the referenced elements (if more than one).</td> </tr> <tr> <td>mixed (optional)</td> <td>list<mixedreference></td> <td>Mix of identifier- and position-bsaed references (if there is at least one position and one ID).</td> </tr> <tr> <td>name (inherited)</td> <td>string</td> <td>The name of the model element property the value of which is stored in this slot.</td> </tr> <tr> <td>position (optional)</td> <td>i32</td> <td>Position of the referenced element (if there is only one position-based reference in this slot).</td> </tr> <tr> <td>positions (optional)</td> <td>list<i32></td> <td>Positions of the referenced elements (if more than one).</td> </tr> </tbody> </table> <p>Used in: ModelElement.</p> <h3 id=repository>Repository<a class=headerlink href=#repository title="Permanent link">&para;</a></h3> <p>Entity that represents a model repository.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>isFrozen (optional)</td> <td>bool</td> <td>True if the repository is frozen, false otherwise.</td> </tr> <tr> <td>type</td> <td>string</td> <td>The type of repository.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI to the repository.</td> </tr> </tbody> </table> <p>Used in: Hawk.addRepository, Hawk.listRepositories.</p> <h3 id=slot>Slot<a class=headerlink href=#slot title="Permanent link">&para;</a></h3> <p>Represents a slot that can store the value(s) of a property of a model element.</p> <p>Inherited by: AttributeSlot, ReferenceSlot, ContainerSlot.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the model element property the value of which is stored in this slot.</td> </tr> </tbody> </table> <h3 id=slotmetadata>SlotMetadata<a class=headerlink href=#slotmetadata title="Permanent link">&para;</a></h3> <p>Represents the metadata of a slot in a model element type.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>isMany</td> <td>bool</td> <td>True if this slot holds a collection of values instead of a single value.</td> </tr> <tr> <td>isOrdered</td> <td>bool</td> <td>True if the values in this slot are ordered.</td> </tr> <tr> <td>isUnique</td> <td>bool</td> <td>True if the value of this slot must be unique within its containing model.</td> </tr> <tr> <td>name</td> <td>string</td> <td>The name of the model element property that is stored in this slot.</td> </tr> <tr> <td>type</td> <td>string</td> <td>The type of the values in this slot.</td> </tr> </tbody> </table> <p>Used in: ModelElementType.</p> <h3 id=slotvalue>SlotValue<a class=headerlink href=#slotvalue title="Permanent link">&para;</a></h3> <p>Union type for a single scalar value or a homogeneous collection of scalar values.</p> <p>Inherits from: Value.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>vBoolean (inherited)</td> <td>bool</td> <td>Boolean (true/false) value.</td> </tr> <tr> <td>vBooleans</td> <td>list<bool></td> <td>List of true/false values.</td> </tr> <tr> <td>vByte (inherited)</td> <td>byte</td> <td>8-bit signed integer value.</td> </tr> <tr> <td>vBytes</td> <td>binary</td> <td>List of 8-bit signed integers.</td> </tr> <tr> <td>vDouble (inherited)</td> <td>double</td> <td>64-bit floating point value.</td> </tr> <tr> <td>vDoubles</td> <td>list<double></td> <td>List of 64-bit floating point values.</td> </tr> <tr> <td>vInteger (inherited)</td> <td>i32</td> <td>32-bit signed integer value.</td> </tr> <tr> <td>vIntegers</td> <td>list<i32></td> <td>List of 32-bit signed integers.</td> </tr> <tr> <td>vLong (inherited)</td> <td>i64</td> <td>64-bit signed integer value.</td> </tr> <tr> <td>vLongs</td> <td>list<i64></td> <td>List of 64-bit signed integers.</td> </tr> <tr> <td>vShort (inherited)</td> <td>i16</td> <td>16-bit signed integer value.</td> </tr> <tr> <td>vShorts</td> <td>list<i16></td> <td>List of 16-bit signed integers.</td> </tr> <tr> <td>vString (inherited)</td> <td>string</td> <td>Sequence of UTF8 characters.</td> </tr> <tr> <td>vStrings</td> <td>list<string></td> <td>List of sequences of UTF8 characters.</td> </tr> </tbody> </table> <p>Used in: HawkAttributeUpdateEvent, AttributeSlot.</p> <h3 id=subscription>Subscription<a class=headerlink href=#subscription title="Permanent link">&para;</a></h3> <p>Details about a subscription to a topic queue.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>host</td> <td>string</td> <td>Host name of the message queue server.</td> </tr> <tr> <td>port</td> <td>i32</td> <td>Port in which the message queue server is listening.</td> </tr> <tr> <td>queueAddress</td> <td>string</td> <td>Address of the topic queue.</td> </tr> <tr> <td>queueName</td> <td>string</td> <td>Name of the topic queue.</td> </tr> <tr> <td>sslRequired</td> <td>bool</td> <td>Whether SSL is required or not.</td> </tr> </tbody> </table> <p>Used in: Hawk.watchStateChanges, Hawk.watchModelChanges.</p> <h3 id=userprofile>UserProfile<a class=headerlink href=#userprofile title="Permanent link">&para;</a></h3> <p>Minimal details about registered users.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>admin</td> <td>bool</td> <td>Whether the user has admin rights (i.e. so that they can create new users, change the status of admin users etc).</td> </tr> <tr> <td>realName</td> <td>string</td> <td>The real name of the user.</td> </tr> </tbody> </table> <p>Used in: Users.createUser, Users.updateProfile.</p> <h3 id=value>Value<a class=headerlink href=#value title="Permanent link">&para;</a></h3> <p>Union type for a single scalar value.</p> <p>Inherited by: QueryResult, SlotValue.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>vBoolean</td> <td>bool</td> <td>Boolean (true/false) value.</td> </tr> <tr> <td>vByte</td> <td>byte</td> <td>8-bit signed integer value.</td> </tr> <tr> <td>vDouble</td> <td>double</td> <td>64-bit floating point value.</td> </tr> <tr> <td>vInteger</td> <td>i32</td> <td>32-bit signed integer value.</td> </tr> <tr> <td>vLong</td> <td>i64</td> <td>64-bit signed integer value.</td> </tr> <tr> <td>vShort</td> <td>i16</td> <td>16-bit signed integer value.</td> </tr> <tr> <td>vString</td> <td>string</td> <td>Sequence of UTF8 characters.</td> </tr> </tbody> </table> <h2 id=enumerations>Enumerations<a class=headerlink href=#enumerations title="Permanent link">&para;</a></h2> <h3 id=commititemchangetype>CommitItemChangeType<a class=headerlink href=#commititemchangetype title="Permanent link">&para;</a></h3> <p>Type of change within a commit.</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>ADDED</td> <td>File was added.</td> </tr> <tr> <td>DELETED</td> <td>File was removed.</td> </tr> <tr> <td>REPLACED</td> <td>File was removed.</td> </tr> <tr> <td>UNKNOWN</td> <td>Unknown type of change.</td> </tr> <tr> <td>UPDATED</td> <td>File was updated.</td> </tr> </tbody> </table> <h3 id=hawkstate>HawkState<a class=headerlink href=#hawkstate title="Permanent link">&para;</a></h3> <p>One of the states that a Hawk instance can be in.</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>RUNNING</td> <td>The instance is running and monitoring the indexed locations.</td> </tr> <tr> <td>STOPPED</td> <td>The instance is stopped and is not monitoring any indexed locations.</td> </tr> <tr> <td>UPDATING</td> <td>The instance is updating its contents from the indexed locations.</td> </tr> </tbody> </table> <h3 id=ifcexportstatus>IFCExportStatus<a class=headerlink href=#ifcexportstatus title="Permanent link">&para;</a></h3> <p>Status of a server-side IFC export job.</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>CANCELLED</td> <td>The job has been cancelled.</td> </tr> <tr> <td>DONE</td> <td>The job is completed.</td> </tr> <tr> <td>FAILED</td> <td>The job has failed.</td> </tr> <tr> <td>RUNNING</td> <td>The job is currently running.</td> </tr> <tr> <td>SCHEDULED</td> <td>The job has been scheduled but has not started yet.</td> </tr> </tbody> </table> <h3 id=subscriptiondurability>SubscriptionDurability<a class=headerlink href=#subscriptiondurability title="Permanent link">&para;</a></h3> <p>Durability of a subscription.</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>DEFAULT</td> <td>Subscription survives client disconnections but not server restarts.</td> </tr> <tr> <td>DURABLE</td> <td>Subscription survives client disconnections and server restarts.</td> </tr> <tr> <td>TEMPORARY</td> <td>Subscription removed after disconnecting.</td> </tr> <tr> <td>## Exceptions</td> <td></td> </tr> </tbody> </table> <h3 id=failedquery>FailedQuery<a class=headerlink href=#failedquery title="Permanent link">&para;</a></h3> <p>The specified query failed to complete its execution.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the query failing to complete its execution.</td> </tr> </tbody> </table> <p>Used in: Hawk.query.</p> <h3 id=hawkinstancenotfound>HawkInstanceNotFound<a class=headerlink href=#hawkinstancenotfound title="Permanent link">&para;</a></h3> <p>No Hawk instance exists with that name.</p> <p>No fields for this entity.</p> <p>Used in: Hawk.removeInstance, Hawk.startInstance, Hawk.stopInstance, Hawk.syncInstance, Hawk.registerMetamodels, Hawk.unregisterMetamodels, Hawk.listMetamodels, Hawk.query, Hawk.resolveProxies, Hawk.addRepository, Hawk.isFrozen, Hawk.setFrozen, Hawk.removeRepository, Hawk.updateRepositoryCredentials, Hawk.listRepositories, Hawk.listFiles, Hawk.configurePolling, Hawk.addDerivedAttribute, Hawk.removeDerivedAttribute, Hawk.listDerivedAttributes, Hawk.addIndexedAttribute, Hawk.removeIndexedAttribute, Hawk.listIndexedAttributes, Hawk.getModel, Hawk.watchStateChanges, Hawk.watchModelChanges.</p> <h3 id=hawkinstancenotrunning>HawkInstanceNotRunning<a class=headerlink href=#hawkinstancenotrunning title="Permanent link">&para;</a></h3> <p>The selected Hawk instance is not running.</p> <p>No fields for this entity.</p> <p>Used in: Hawk.stopInstance, Hawk.syncInstance, Hawk.registerMetamodels, Hawk.unregisterMetamodels, Hawk.listMetamodels, Hawk.query, Hawk.resolveProxies, Hawk.addRepository, Hawk.isFrozen, Hawk.setFrozen, Hawk.removeRepository, Hawk.updateRepositoryCredentials, Hawk.listRepositories, Hawk.listFiles, Hawk.configurePolling, Hawk.addDerivedAttribute, Hawk.removeDerivedAttribute, Hawk.listDerivedAttributes, Hawk.addIndexedAttribute, Hawk.removeIndexedAttribute, Hawk.listIndexedAttributes, Hawk.getModel, Hawk.watchStateChanges, Hawk.watchModelChanges.</p> <h3 id=invalidderivedattributespec>InvalidDerivedAttributeSpec<a class=headerlink href=#invalidderivedattributespec title="Permanent link">&para;</a></h3> <p>The derived attribute specification is not valid.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the spec not being valid.</td> </tr> </tbody> </table> <p>Used in: Hawk.addDerivedAttribute.</p> <h3 id=invalidindexedattributespec>InvalidIndexedAttributeSpec<a class=headerlink href=#invalidindexedattributespec title="Permanent link">&para;</a></h3> <p>The indexed attribute specification is not valid.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the spec not being valid.</td> </tr> </tbody> </table> <p>Used in: Hawk.addIndexedAttribute.</p> <h3 id=invalidmetamodel>InvalidMetamodel<a class=headerlink href=#invalidmetamodel title="Permanent link">&para;</a></h3> <p>The provided metamodel is not valid (e.g. unparsable or inconsistent).</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the metamodel not being valid.</td> </tr> </tbody> </table> <p>Used in: Hawk.registerMetamodels.</p> <h3 id=invalidpollingconfiguration>InvalidPollingConfiguration<a class=headerlink href=#invalidpollingconfiguration title="Permanent link">&para;</a></h3> <p>The polling configuration is not valid.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the spec not being valid.</td> </tr> </tbody> </table> <p>Used in: Hawk.configurePolling.</p> <h3 id=invalidquery>InvalidQuery<a class=headerlink href=#invalidquery title="Permanent link">&para;</a></h3> <p>The specified query is not valid.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the query not being valid.</td> </tr> </tbody> </table> <p>Used in: Hawk.query.</p> <h3 id=unknownquerylanguage>UnknownQueryLanguage<a class=headerlink href=#unknownquerylanguage title="Permanent link">&para;</a></h3> <p>The specified query language is not supported by the operation.</p> <p>No fields for this entity.</p> <p>Used in: Hawk.query.</p> <h3 id=unknownrepositorytype>UnknownRepositoryType<a class=headerlink href=#unknownrepositorytype title="Permanent link">&para;</a></h3> <p>The specified repository type is not supported by the operation.</p> <p>No fields for this entity.</p> <p>Used in: Hawk.addRepository.</p> <h3 id=userexists>UserExists<a class=headerlink href=#userexists title="Permanent link">&para;</a></h3> <p>The specified username already exists.</p> <p>No fields for this entity.</p> <p>Used in: Users.createUser.</p> <h3 id=usernotfound>UserNotFound<a class=headerlink href=#usernotfound title="Permanent link">&para;</a></h3> <p>The specified username does not exist.</p> <p>No fields for this entity.</p> <p>Used in: Users.updateProfile, Users.updatePassword, Users.deleteUser.</p> <h3 id=vcsauthenticationfailed>VCSAuthenticationFailed<a class=headerlink href=#vcsauthenticationfailed title="Permanent link">&para;</a></h3> <p>The client failed to prove its identity in the VCS.</p> <p>No fields for this entity.</p> <p>Used in: Hawk.addRepository.</p> <hr> <p>This file was automatically generated by Ecore2Thrift.</p> <p>https://github.com/bluezio/ecore2thrift</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../architecture/ title=Architecture class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Architecture </span> </div> </a> <a href=../api-security/ title="Thrift API security" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Thrift API security </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Thrift API - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#services tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Thrift API </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Thrift API </label> <a href=./ title="Thrift API" class="md-nav__link md-nav__link--active"> Thrift API </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#services class=md-nav__link> Services </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#hawk class=md-nav__link> Hawk </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#hawkcreateinstance class=md-nav__link> Hawk.createInstance </a> </li> <li class=md-nav__item> <a href=#hawklistbackends class=md-nav__link> Hawk.listBackends </a> </li> <li class=md-nav__item> <a href=#hawklistplugins class=md-nav__link> Hawk.listPlugins </a> </li> <li class=md-nav__item> <a href=#hawklistinstances class=md-nav__link> Hawk.listInstances </a> </li> <li class=md-nav__item> <a href=#hawkremoveinstance class=md-nav__link> Hawk.removeInstance </a> </li> <li class=md-nav__item> <a href=#hawkstartinstance class=md-nav__link> Hawk.startInstance </a> </li> <li class=md-nav__item> <a href=#hawkstopinstance class=md-nav__link> Hawk.stopInstance </a> </li> <li class=md-nav__item> <a href=#hawksyncinstance class=md-nav__link> Hawk.syncInstance </a> </li> <li class=md-nav__item> <a href=#hawkregistermetamodels class=md-nav__link> Hawk.registerMetamodels </a> </li> <li class=md-nav__item> <a href=#hawkunregistermetamodels class=md-nav__link> Hawk.unregisterMetamodels </a> </li> <li class=md-nav__item> <a href=#hawklistmetamodels class=md-nav__link> Hawk.listMetamodels </a> </li> <li class=md-nav__item> <a href=#hawklistquerylanguages class=md-nav__link> Hawk.listQueryLanguages </a> </li> <li class=md-nav__item> <a href=#hawkquery class=md-nav__link> Hawk.query </a> </li> <li class=md-nav__item> <a href=#hawkresolveproxies class=md-nav__link> Hawk.resolveProxies </a> </li> <li class=md-nav__item> <a href=#hawkaddrepository class=md-nav__link> Hawk.addRepository </a> </li> <li class=md-nav__item> <a href=#hawkisfrozen class=md-nav__link> Hawk.isFrozen </a> </li> <li class=md-nav__item> <a href=#hawksetfrozen class=md-nav__link> Hawk.setFrozen </a> </li> <li class=md-nav__item> <a href=#hawkremoverepository class=md-nav__link> Hawk.removeRepository </a> </li> <li class=md-nav__item> <a href=#hawkupdaterepositorycredentials class=md-nav__link> Hawk.updateRepositoryCredentials </a> </li> <li class=md-nav__item> <a href=#hawklistrepositories class=md-nav__link> Hawk.listRepositories </a> </li> <li class=md-nav__item> <a href=#hawklistrepositorytypes class=md-nav__link> Hawk.listRepositoryTypes </a> </li> <li class=md-nav__item> <a href=#hawklistfiles class=md-nav__link> Hawk.listFiles </a> </li> <li class=md-nav__item> <a href=#hawkconfigurepolling class=md-nav__link> Hawk.configurePolling </a> </li> <li class=md-nav__item> <a href=#hawkaddderivedattribute class=md-nav__link> Hawk.addDerivedAttribute </a> </li> <li class=md-nav__item> <a href=#hawkremovederivedattribute class=md-nav__link> Hawk.removeDerivedAttribute </a> </li> <li class=md-nav__item> <a href=#hawklistderivedattributes class=md-nav__link> Hawk.listDerivedAttributes </a> </li> <li class=md-nav__item> <a href=#hawkaddindexedattribute class=md-nav__link> Hawk.addIndexedAttribute </a> </li> <li class=md-nav__item> <a href=#hawkremoveindexedattribute class=md-nav__link> Hawk.removeIndexedAttribute </a> </li> <li class=md-nav__item> <a href=#hawklistindexedattributes class=md-nav__link> Hawk.listIndexedAttributes </a> </li> <li class=md-nav__item> <a href=#hawkgetmodel class=md-nav__link> Hawk.getModel </a> </li> <li class=md-nav__item> <a href=#hawkgetrootelements class=md-nav__link> Hawk.getRootElements </a> </li> <li class=md-nav__item> <a href=#hawkwatchstatechanges class=md-nav__link> Hawk.watchStateChanges </a> </li> <li class=md-nav__item> <a href=#hawkwatchmodelchanges class=md-nav__link> Hawk.watchModelChanges </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#ifcexport class=md-nav__link> IFCExport </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#ifcexportexportasstep class=md-nav__link> IFCExport.exportAsSTEP </a> </li> <li class=md-nav__item> <a href=#ifcexportgetjobs class=md-nav__link> IFCExport.getJobs </a> </li> <li class=md-nav__item> <a href=#ifcexportgetjobstatus class=md-nav__link> IFCExport.getJobStatus </a> </li> <li class=md-nav__item> <a href=#ifcexportkilljob class=md-nav__link> IFCExport.killJob </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#users class=md-nav__link> Users </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#userscreateuser class=md-nav__link> Users.createUser </a> </li> <li class=md-nav__item> <a href=#usersupdateprofile class=md-nav__link> Users.updateProfile </a> </li> <li class=md-nav__item> <a href=#usersupdatepassword class=md-nav__link> Users.updatePassword </a> </li> <li class=md-nav__item> <a href=#usersdeleteuser class=md-nav__link> Users.deleteUser </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#entities class=md-nav__link> Entities </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#attributeslot class=md-nav__link> AttributeSlot </a> </li> <li class=md-nav__item> <a href=#commititem class=md-nav__link> CommitItem </a> </li> <li class=md-nav__item> <a href=#containerslot class=md-nav__link> ContainerSlot </a> </li> <li class=md-nav__item> <a href=#credentials class=md-nav__link> Credentials </a> </li> <li class=md-nav__item> <a href=#derivedattributespec class=md-nav__link> DerivedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#effectivemetamodel class=md-nav__link> EffectiveMetamodel </a> </li> <li class=md-nav__item> <a href=#effectivemetamodelmap class=md-nav__link> EffectiveMetamodelMap </a> </li> <li class=md-nav__item> <a href=#file class=md-nav__link> File </a> </li> <li class=md-nav__item> <a href=#hawkattributeremovalevent class=md-nav__link> HawkAttributeRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkattributeupdateevent class=md-nav__link> HawkAttributeUpdateEvent </a> </li> <li class=md-nav__item> <a href=#hawkchangeevent class=md-nav__link> HawkChangeEvent </a> </li> <li class=md-nav__item> <a href=#hawkfileadditionevent class=md-nav__link> HawkFileAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkfileremovalevent class=md-nav__link> HawkFileRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkinstance class=md-nav__link> HawkInstance </a> </li> <li class=md-nav__item> <a href=#hawkmodelelementadditionevent class=md-nav__link> HawkModelElementAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkmodelelementremovalevent class=md-nav__link> HawkModelElementRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkqueryoptions class=md-nav__link> HawkQueryOptions </a> </li> <li class=md-nav__item> <a href=#hawkreferenceadditionevent class=md-nav__link> HawkReferenceAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkreferenceremovalevent class=md-nav__link> HawkReferenceRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkstateevent class=md-nav__link> HawkStateEvent </a> </li> <li class=md-nav__item> <a href=#hawksynchronizationendevent class=md-nav__link> HawkSynchronizationEndEvent </a> </li> <li class=md-nav__item> <a href=#hawksynchronizationstartevent class=md-nav__link> HawkSynchronizationStartEvent </a> </li> <li class=md-nav__item> <a href=#ifcexportjob class=md-nav__link> IFCExportJob </a> </li> <li class=md-nav__item> <a href=#ifcexportoptions class=md-nav__link> IFCExportOptions </a> </li> <li class=md-nav__item> <a href=#indexedattributespec class=md-nav__link> IndexedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidmodelspec class=md-nav__link> InvalidModelSpec </a> </li> <li class=md-nav__item> <a href=#invalidtransformation class=md-nav__link> InvalidTransformation </a> </li> <li class=md-nav__item> <a href=#mixedreference class=md-nav__link> MixedReference </a> </li> <li class=md-nav__item> <a href=#modelelement class=md-nav__link> ModelElement </a> </li> <li class=md-nav__item> <a href=#modelelementtype class=md-nav__link> ModelElementType </a> </li> <li class=md-nav__item> <a href=#modelspec class=md-nav__link> ModelSpec </a> </li> <li class=md-nav__item> <a href=#queryresult class=md-nav__link> QueryResult </a> </li> <li class=md-nav__item> <a href=#queryresultmap class=md-nav__link> QueryResultMap </a> </li> <li class=md-nav__item> <a href=#referenceslot class=md-nav__link> ReferenceSlot </a> </li> <li class=md-nav__item> <a href=#repository class=md-nav__link> Repository </a> </li> <li class=md-nav__item> <a href=#slot class=md-nav__link> Slot </a> </li> <li class=md-nav__item> <a href=#slotmetadata class=md-nav__link> SlotMetadata </a> </li> <li class=md-nav__item> <a href=#slotvalue class=md-nav__link> SlotValue </a> </li> <li class=md-nav__item> <a href=#subscription class=md-nav__link> Subscription </a> </li> <li class=md-nav__item> <a href=#userprofile class=md-nav__link> UserProfile </a> </li> <li class=md-nav__item> <a href=#value class=md-nav__link> Value </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#enumerations class=md-nav__link> Enumerations </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#commititemchangetype class=md-nav__link> CommitItemChangeType </a> </li> <li class=md-nav__item> <a href=#hawkstate class=md-nav__link> HawkState </a> </li> <li class=md-nav__item> <a href=#ifcexportstatus class=md-nav__link> IFCExportStatus </a> </li> <li class=md-nav__item> <a href=#subscriptiondurability class=md-nav__link> SubscriptionDurability </a> </li> <li class=md-nav__item> <a href=#failedquery class=md-nav__link> FailedQuery </a> </li> <li class=md-nav__item> <a href=#hawkinstancenotfound class=md-nav__link> HawkInstanceNotFound </a> </li> <li class=md-nav__item> <a href=#hawkinstancenotrunning class=md-nav__link> HawkInstanceNotRunning </a> </li> <li class=md-nav__item> <a href=#invalidderivedattributespec class=md-nav__link> InvalidDerivedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidindexedattributespec class=md-nav__link> InvalidIndexedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidmetamodel class=md-nav__link> InvalidMetamodel </a> </li> <li class=md-nav__item> <a href=#invalidpollingconfiguration class=md-nav__link> InvalidPollingConfiguration </a> </li> <li class=md-nav__item> <a href=#invalidquery class=md-nav__link> InvalidQuery </a> </li> <li class=md-nav__item> <a href=#unknownquerylanguage class=md-nav__link> UnknownQueryLanguage </a> </li> <li class=md-nav__item> <a href=#unknownrepositorytype class=md-nav__link> UnknownRepositoryType </a> </li> <li class=md-nav__item> <a href=#userexists class=md-nav__link> UserExists </a> </li> <li class=md-nav__item> <a href=#usernotfound class=md-nav__link> UserNotFound </a> </li> <li class=md-nav__item> <a href=#vcsauthenticationfailed class=md-nav__link> VCSAuthenticationFailed </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#services class=md-nav__link> Services </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#hawk class=md-nav__link> Hawk </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#hawkcreateinstance class=md-nav__link> Hawk.createInstance </a> </li> <li class=md-nav__item> <a href=#hawklistbackends class=md-nav__link> Hawk.listBackends </a> </li> <li class=md-nav__item> <a href=#hawklistplugins class=md-nav__link> Hawk.listPlugins </a> </li> <li class=md-nav__item> <a href=#hawklistinstances class=md-nav__link> Hawk.listInstances </a> </li> <li class=md-nav__item> <a href=#hawkremoveinstance class=md-nav__link> Hawk.removeInstance </a> </li> <li class=md-nav__item> <a href=#hawkstartinstance class=md-nav__link> Hawk.startInstance </a> </li> <li class=md-nav__item> <a href=#hawkstopinstance class=md-nav__link> Hawk.stopInstance </a> </li> <li class=md-nav__item> <a href=#hawksyncinstance class=md-nav__link> Hawk.syncInstance </a> </li> <li class=md-nav__item> <a href=#hawkregistermetamodels class=md-nav__link> Hawk.registerMetamodels </a> </li> <li class=md-nav__item> <a href=#hawkunregistermetamodels class=md-nav__link> Hawk.unregisterMetamodels </a> </li> <li class=md-nav__item> <a href=#hawklistmetamodels class=md-nav__link> Hawk.listMetamodels </a> </li> <li class=md-nav__item> <a href=#hawklistquerylanguages class=md-nav__link> Hawk.listQueryLanguages </a> </li> <li class=md-nav__item> <a href=#hawkquery class=md-nav__link> Hawk.query </a> </li> <li class=md-nav__item> <a href=#hawkresolveproxies class=md-nav__link> Hawk.resolveProxies </a> </li> <li class=md-nav__item> <a href=#hawkaddrepository class=md-nav__link> Hawk.addRepository </a> </li> <li class=md-nav__item> <a href=#hawkisfrozen class=md-nav__link> Hawk.isFrozen </a> </li> <li class=md-nav__item> <a href=#hawksetfrozen class=md-nav__link> Hawk.setFrozen </a> </li> <li class=md-nav__item> <a href=#hawkremoverepository class=md-nav__link> Hawk.removeRepository </a> </li> <li class=md-nav__item> <a href=#hawkupdaterepositorycredentials class=md-nav__link> Hawk.updateRepositoryCredentials </a> </li> <li class=md-nav__item> <a href=#hawklistrepositories class=md-nav__link> Hawk.listRepositories </a> </li> <li class=md-nav__item> <a href=#hawklistrepositorytypes class=md-nav__link> Hawk.listRepositoryTypes </a> </li> <li class=md-nav__item> <a href=#hawklistfiles class=md-nav__link> Hawk.listFiles </a> </li> <li class=md-nav__item> <a href=#hawkconfigurepolling class=md-nav__link> Hawk.configurePolling </a> </li> <li class=md-nav__item> <a href=#hawkaddderivedattribute class=md-nav__link> Hawk.addDerivedAttribute </a> </li> <li class=md-nav__item> <a href=#hawkremovederivedattribute class=md-nav__link> Hawk.removeDerivedAttribute </a> </li> <li class=md-nav__item> <a href=#hawklistderivedattributes class=md-nav__link> Hawk.listDerivedAttributes </a> </li> <li class=md-nav__item> <a href=#hawkaddindexedattribute class=md-nav__link> Hawk.addIndexedAttribute </a> </li> <li class=md-nav__item> <a href=#hawkremoveindexedattribute class=md-nav__link> Hawk.removeIndexedAttribute </a> </li> <li class=md-nav__item> <a href=#hawklistindexedattributes class=md-nav__link> Hawk.listIndexedAttributes </a> </li> <li class=md-nav__item> <a href=#hawkgetmodel class=md-nav__link> Hawk.getModel </a> </li> <li class=md-nav__item> <a href=#hawkgetrootelements class=md-nav__link> Hawk.getRootElements </a> </li> <li class=md-nav__item> <a href=#hawkwatchstatechanges class=md-nav__link> Hawk.watchStateChanges </a> </li> <li class=md-nav__item> <a href=#hawkwatchmodelchanges class=md-nav__link> Hawk.watchModelChanges </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#ifcexport class=md-nav__link> IFCExport </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#ifcexportexportasstep class=md-nav__link> IFCExport.exportAsSTEP </a> </li> <li class=md-nav__item> <a href=#ifcexportgetjobs class=md-nav__link> IFCExport.getJobs </a> </li> <li class=md-nav__item> <a href=#ifcexportgetjobstatus class=md-nav__link> IFCExport.getJobStatus </a> </li> <li class=md-nav__item> <a href=#ifcexportkilljob class=md-nav__link> IFCExport.killJob </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#users class=md-nav__link> Users </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#userscreateuser class=md-nav__link> Users.createUser </a> </li> <li class=md-nav__item> <a href=#usersupdateprofile class=md-nav__link> Users.updateProfile </a> </li> <li class=md-nav__item> <a href=#usersupdatepassword class=md-nav__link> Users.updatePassword </a> </li> <li class=md-nav__item> <a href=#usersdeleteuser class=md-nav__link> Users.deleteUser </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#entities class=md-nav__link> Entities </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#attributeslot class=md-nav__link> AttributeSlot </a> </li> <li class=md-nav__item> <a href=#commititem class=md-nav__link> CommitItem </a> </li> <li class=md-nav__item> <a href=#containerslot class=md-nav__link> ContainerSlot </a> </li> <li class=md-nav__item> <a href=#credentials class=md-nav__link> Credentials </a> </li> <li class=md-nav__item> <a href=#derivedattributespec class=md-nav__link> DerivedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#effectivemetamodel class=md-nav__link> EffectiveMetamodel </a> </li> <li class=md-nav__item> <a href=#effectivemetamodelmap class=md-nav__link> EffectiveMetamodelMap </a> </li> <li class=md-nav__item> <a href=#file class=md-nav__link> File </a> </li> <li class=md-nav__item> <a href=#hawkattributeremovalevent class=md-nav__link> HawkAttributeRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkattributeupdateevent class=md-nav__link> HawkAttributeUpdateEvent </a> </li> <li class=md-nav__item> <a href=#hawkchangeevent class=md-nav__link> HawkChangeEvent </a> </li> <li class=md-nav__item> <a href=#hawkfileadditionevent class=md-nav__link> HawkFileAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkfileremovalevent class=md-nav__link> HawkFileRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkinstance class=md-nav__link> HawkInstance </a> </li> <li class=md-nav__item> <a href=#hawkmodelelementadditionevent class=md-nav__link> HawkModelElementAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkmodelelementremovalevent class=md-nav__link> HawkModelElementRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkqueryoptions class=md-nav__link> HawkQueryOptions </a> </li> <li class=md-nav__item> <a href=#hawkreferenceadditionevent class=md-nav__link> HawkReferenceAdditionEvent </a> </li> <li class=md-nav__item> <a href=#hawkreferenceremovalevent class=md-nav__link> HawkReferenceRemovalEvent </a> </li> <li class=md-nav__item> <a href=#hawkstateevent class=md-nav__link> HawkStateEvent </a> </li> <li class=md-nav__item> <a href=#hawksynchronizationendevent class=md-nav__link> HawkSynchronizationEndEvent </a> </li> <li class=md-nav__item> <a href=#hawksynchronizationstartevent class=md-nav__link> HawkSynchronizationStartEvent </a> </li> <li class=md-nav__item> <a href=#ifcexportjob class=md-nav__link> IFCExportJob </a> </li> <li class=md-nav__item> <a href=#ifcexportoptions class=md-nav__link> IFCExportOptions </a> </li> <li class=md-nav__item> <a href=#indexedattributespec class=md-nav__link> IndexedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidmodelspec class=md-nav__link> InvalidModelSpec </a> </li> <li class=md-nav__item> <a href=#invalidtransformation class=md-nav__link> InvalidTransformation </a> </li> <li class=md-nav__item> <a href=#mixedreference class=md-nav__link> MixedReference </a> </li> <li class=md-nav__item> <a href=#modelelement class=md-nav__link> ModelElement </a> </li> <li class=md-nav__item> <a href=#modelelementtype class=md-nav__link> ModelElementType </a> </li> <li class=md-nav__item> <a href=#modelspec class=md-nav__link> ModelSpec </a> </li> <li class=md-nav__item> <a href=#queryresult class=md-nav__link> QueryResult </a> </li> <li class=md-nav__item> <a href=#queryresultmap class=md-nav__link> QueryResultMap </a> </li> <li class=md-nav__item> <a href=#referenceslot class=md-nav__link> ReferenceSlot </a> </li> <li class=md-nav__item> <a href=#repository class=md-nav__link> Repository </a> </li> <li class=md-nav__item> <a href=#slot class=md-nav__link> Slot </a> </li> <li class=md-nav__item> <a href=#slotmetadata class=md-nav__link> SlotMetadata </a> </li> <li class=md-nav__item> <a href=#slotvalue class=md-nav__link> SlotValue </a> </li> <li class=md-nav__item> <a href=#subscription class=md-nav__link> Subscription </a> </li> <li class=md-nav__item> <a href=#userprofile class=md-nav__link> UserProfile </a> </li> <li class=md-nav__item> <a href=#value class=md-nav__link> Value </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#enumerations class=md-nav__link> Enumerations </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#commititemchangetype class=md-nav__link> CommitItemChangeType </a> </li> <li class=md-nav__item> <a href=#hawkstate class=md-nav__link> HawkState </a> </li> <li class=md-nav__item> <a href=#ifcexportstatus class=md-nav__link> IFCExportStatus </a> </li> <li class=md-nav__item> <a href=#subscriptiondurability class=md-nav__link> SubscriptionDurability </a> </li> <li class=md-nav__item> <a href=#failedquery class=md-nav__link> FailedQuery </a> </li> <li class=md-nav__item> <a href=#hawkinstancenotfound class=md-nav__link> HawkInstanceNotFound </a> </li> <li class=md-nav__item> <a href=#hawkinstancenotrunning class=md-nav__link> HawkInstanceNotRunning </a> </li> <li class=md-nav__item> <a href=#invalidderivedattributespec class=md-nav__link> InvalidDerivedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidindexedattributespec class=md-nav__link> InvalidIndexedAttributeSpec </a> </li> <li class=md-nav__item> <a href=#invalidmetamodel class=md-nav__link> InvalidMetamodel </a> </li> <li class=md-nav__item> <a href=#invalidpollingconfiguration class=md-nav__link> InvalidPollingConfiguration </a> </li> <li class=md-nav__item> <a href=#invalidquery class=md-nav__link> InvalidQuery </a> </li> <li class=md-nav__item> <a href=#unknownquerylanguage class=md-nav__link> UnknownQueryLanguage </a> </li> <li class=md-nav__item> <a href=#unknownrepositorytype class=md-nav__link> UnknownRepositoryType </a> </li> <li class=md-nav__item> <a href=#userexists class=md-nav__link> UserExists </a> </li> <li class=md-nav__item> <a href=#usernotfound class=md-nav__link> UserNotFound </a> </li> <li class=md-nav__item> <a href=#vcsauthenticationfailed class=md-nav__link> VCSAuthenticationFailed </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Thrift API</h1> <h2 id=services>Services<a class=headerlink href=#services title="Permanent link">&para;</a></h2> <h3 id=hawk>Hawk<a class=headerlink href=#hawk title="Permanent link">&para;</a></h3> <p>The following service operations expose the capabilities of the Hawk heterogeneous model indexing framework.</p> <h4 id=hawkcreateinstance>Hawk.createInstance<a class=headerlink href=#hawkcreateinstance title="Permanent link">&para;</a></h4> <p>Creates a new Hawk instance (stopped).</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The unique name of the new Hawk instance.</td> </tr> <tr> <td>backend</td> <td>string</td> <td>The name of the backend to be used, as returned by listBackends().</td> </tr> <tr> <td>minimumDelayMillis</td> <td>i32</td> <td>Minimum delay between periodic synchronization in milliseconds.</td> </tr> <tr> <td>maximumDelayMillis</td> <td>i32</td> <td>Maximum delay between periodic synchronization in milliseconds (0 to disable periodic synchronization).</td> </tr> <tr> <td>enabledPlugins (optional)</td> <td>list<string></td> <td>List of plugins to be enabled: if not set, all plugins are enabled.</td> </tr> </tbody> </table> <h4 id=hawklistbackends>Hawk.listBackends<a class=headerlink href=#hawklistbackends title="Permanent link">&para;</a></h4> <p>Lists the names of the available storage backends.</p> <p>Returns <code>list&lt;string&gt;</code>. Does not take any parameters. </p> <h4 id=hawklistplugins>Hawk.listPlugins<a class=headerlink href=#hawklistplugins title="Permanent link">&para;</a></h4> <p>Lists all the Hawk plugins that can be enabled or disabled: metamodel parsers, model parsers and graph change listeners.</p> <p>Returns <code>list&lt;string&gt;</code>. Does not take any parameters. </p> <h4 id=hawklistinstances>Hawk.listInstances<a class=headerlink href=#hawklistinstances title="Permanent link">&para;</a></h4> <p>Lists the details of all Hawk instances.</p> <p>Returns <code>list&lt;HawkInstance&gt;</code>. Does not take any parameters. </p> <h4 id=hawkremoveinstance>Hawk.removeInstance<a class=headerlink href=#hawkremoveinstance title="Permanent link">&para;</a></h4> <p>Removes an existing Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance to remove.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> </tbody> </table> <h4 id=hawkstartinstance>Hawk.startInstance<a class=headerlink href=#hawkstartinstance title="Permanent link">&para;</a></h4> <p>Starts a stopped Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance to start.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> </tbody> </table> <h4 id=hawkstopinstance>Hawk.stopInstance<a class=headerlink href=#hawkstopinstance title="Permanent link">&para;</a></h4> <p>Stops a running Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance to stop.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawksyncinstance>Hawk.syncInstance<a class=headerlink href=#hawksyncinstance title="Permanent link">&para;</a></h4> <p>Forces an immediate synchronization on a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance to stop.</td> </tr> <tr> <td>blockUntilDone (optional)</td> <td>bool</td> <td>If true, blocks the call until the synchronisation completes. False by default.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkregistermetamodels>Hawk.registerMetamodels<a class=headerlink href=#hawkregistermetamodels title="Permanent link">&para;</a></h4> <p>Registers a set of file-based metamodels with a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>metamodel</td> <td>list<file></td> <td>The metamodels to register. More than one metamodel file can be provided in one request, to accomodate fragmented metamodels.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>InvalidMetamodel</td> <td>The provided metamodel is not valid (e.g. unparsable or inconsistent).</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkunregistermetamodels>Hawk.unregisterMetamodels<a class=headerlink href=#hawkunregistermetamodels title="Permanent link">&para;</a></h4> <p>Unregisters a metamodel from a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>metamodel</td> <td>list<string></td> <td>The URIs of the metamodels.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistmetamodels>Hawk.listMetamodels<a class=headerlink href=#hawklistmetamodels title="Permanent link">&para;</a></h4> <p>Lists the URIs of the registered metamodels of a Hawk instance.</p> <p>Returns <code>list&lt;string&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistquerylanguages>Hawk.listQueryLanguages<a class=headerlink href=#hawklistquerylanguages title="Permanent link">&para;</a></h4> <p>Lists the supported query languages and their status.</p> <p>Returns <code>list&lt;string&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <h4 id=hawkquery>Hawk.query<a class=headerlink href=#hawkquery title="Permanent link">&para;</a></h4> <p>Runs a query on a Hawk instance and returns a sequence of scalar values and/or model elements.</p> <p>Returns <code>QueryResult</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>query</td> <td>string</td> <td>The query to be executed.</td> </tr> <tr> <td>language</td> <td>string</td> <td>The name of the query language used (e.g. EOL, OCL).</td> </tr> <tr> <td>options</td> <td>HawkQueryOptions</td> <td>Options for the query.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> <tr> <td>UnknownQueryLanguage</td> <td>The specified query language is not supported by the operation.</td> </tr> <tr> <td>InvalidQuery</td> <td>The specified query is not valid.</td> </tr> <tr> <td>FailedQuery</td> <td>The specified query failed to complete its execution.</td> </tr> </tbody> </table> <h4 id=hawkresolveproxies>Hawk.resolveProxies<a class=headerlink href=#hawkresolveproxies title="Permanent link">&para;</a></h4> <p>Returns populated model elements for the provided proxies.</p> <p>Returns <code>list&lt;ModelElement&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>ids</td> <td>list<string></td> <td>Proxy model element IDs to be resolved.</td> </tr> <tr> <td>options</td> <td>HawkQueryOptions</td> <td>Options for the query.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkaddrepository>Hawk.addRepository<a class=headerlink href=#hawkaddrepository title="Permanent link">&para;</a></h4> <p>Asks a Hawk instance to start monitoring a repository.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>repo</td> <td>Repository</td> <td>The repository to monitor.</td> </tr> <tr> <td>credentials (optional)</td> <td>Credentials</td> <td>A valid set of credentials that has read-access to the repository.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> <tr> <td>UnknownRepositoryType</td> <td>The specified repository type is not supported by the operation.</td> </tr> <tr> <td>VCSAuthenticationFailed</td> <td>The client failed to prove its identity in the VCS.</td> </tr> </tbody> </table> <h4 id=hawkisfrozen>Hawk.isFrozen<a class=headerlink href=#hawkisfrozen title="Permanent link">&para;</a></h4> <p>Returns true if a repository is frozen, false otherwise.</p> <p>Returns <code>bool</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI of the repository to query.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawksetfrozen>Hawk.setFrozen<a class=headerlink href=#hawksetfrozen title="Permanent link">&para;</a></h4> <p>Changes the 'frozen' state of a repository.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI of the repository to be changed.</td> </tr> <tr> <td>isFrozen</td> <td>bool</td> <td>Whether the repository should be frozen (true) or not (false).</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkremoverepository>Hawk.removeRepository<a class=headerlink href=#hawkremoverepository title="Permanent link">&para;</a></h4> <p>Asks a Hawk instance to stop monitoring a repository and remove its elements from the graph.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI of the repository to stop monitoring.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkupdaterepositorycredentials>Hawk.updateRepositoryCredentials<a class=headerlink href=#hawkupdaterepositorycredentials title="Permanent link">&para;</a></h4> <p>Changes the credentials used to monitor a repository.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI of the repository to update.</td> </tr> <tr> <td>cred</td> <td>Credentials</td> <td>The new credentials to be used.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistrepositories>Hawk.listRepositories<a class=headerlink href=#hawklistrepositories title="Permanent link">&para;</a></h4> <p>Lists the repositories monitored by a Hawk instance.</p> <p>Returns <code>list&lt;Repository&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistrepositorytypes>Hawk.listRepositoryTypes<a class=headerlink href=#hawklistrepositorytypes title="Permanent link">&para;</a></h4> <p>Lists the available repository types in this installation.</p> <p>Returns <code>list&lt;string&gt;</code>. Does not take any parameters. </p> <h4 id=hawklistfiles>Hawk.listFiles<a class=headerlink href=#hawklistfiles title="Permanent link">&para;</a></h4> <p>Lists the paths of the files of the indexed repository.</p> <p>Returns <code>list&lt;string&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>repository</td> <td>list<string></td> <td>The URI of the indexed repository.</td> </tr> <tr> <td>filePatterns</td> <td>list<string></td> <td>File name patterns to search for (* lists all files).</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkconfigurepolling>Hawk.configurePolling<a class=headerlink href=#hawkconfigurepolling title="Permanent link">&para;</a></h4> <p>Sets the base polling period and max interval of a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>base</td> <td>i32</td> <td>The base polling period (in seconds).</td> </tr> <tr> <td>max</td> <td>i32</td> <td>The maximum polling interval (in seconds).</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> <tr> <td>InvalidPollingConfiguration</td> <td>The polling configuration is not valid.</td> </tr> </tbody> </table> <h4 id=hawkaddderivedattribute>Hawk.addDerivedAttribute<a class=headerlink href=#hawkaddderivedattribute title="Permanent link">&para;</a></h4> <p>Add a new derived attribute to a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>spec</td> <td>DerivedAttributeSpec</td> <td>The details of the new derived attribute.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> <tr> <td>InvalidDerivedAttributeSpec</td> <td>The derived attribute specification is not valid.</td> </tr> </tbody> </table> <h4 id=hawkremovederivedattribute>Hawk.removeDerivedAttribute<a class=headerlink href=#hawkremovederivedattribute title="Permanent link">&para;</a></h4> <p>Remove a derived attribute from a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>spec</td> <td>DerivedAttributeSpec</td> <td>The details of the derived attribute to be removed. Only the first three fields of the spec need to be populated.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistderivedattributes>Hawk.listDerivedAttributes<a class=headerlink href=#hawklistderivedattributes title="Permanent link">&para;</a></h4> <p>Lists the derived attributes of a Hawk instance. Only the first three fields of the spec are currently populated.</p> <p>Returns <code>list&lt;DerivedAttributeSpec&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkaddindexedattribute>Hawk.addIndexedAttribute<a class=headerlink href=#hawkaddindexedattribute title="Permanent link">&para;</a></h4> <p>Add a new indexed attribute to a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>spec</td> <td>IndexedAttributeSpec</td> <td>The details of the new indexed attribute.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> <tr> <td>InvalidIndexedAttributeSpec</td> <td>The indexed attribute specification is not valid.</td> </tr> </tbody> </table> <h4 id=hawkremoveindexedattribute>Hawk.removeIndexedAttribute<a class=headerlink href=#hawkremoveindexedattribute title="Permanent link">&para;</a></h4> <p>Remove a indexed attribute from a Hawk instance.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>spec</td> <td>IndexedAttributeSpec</td> <td>The details of the indexed attribute to be removed.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawklistindexedattributes>Hawk.listIndexedAttributes<a class=headerlink href=#hawklistindexedattributes title="Permanent link">&para;</a></h4> <p>Lists the indexed attributes of a Hawk instance.</p> <p>Returns <code>list&lt;IndexedAttributeSpec&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkgetmodel>Hawk.getModel<a class=headerlink href=#hawkgetmodel title="Permanent link">&para;</a></h4> <p>Returns the contents of one or more models indexed in a Hawk instance. Cross-model references are also resolved, and contained objects are always sent.</p> <p>Returns <code>list&lt;ModelElement&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>options</td> <td>HawkQueryOptions</td> <td>Options to limit the contents to be sent.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkgetrootelements>Hawk.getRootElements<a class=headerlink href=#hawkgetrootelements title="Permanent link">&para;</a></h4> <p>Returns the root objects of one or more models indexed in a Hawk instance. Node IDs are always sent, and contained objects are never sent.</p> <p>Returns <code>list&lt;ModelElement&gt;</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>options</td> <td>HawkQueryOptions</td> <td>Options to limit the contents to be sent.</td> </tr> </tbody> </table> <h4 id=hawkwatchstatechanges>Hawk.watchStateChanges<a class=headerlink href=#hawkwatchstatechanges title="Permanent link">&para;</a></h4> <p>Returns subscription details to a queue of HawkStateEvents with notifications about changes in the indexer's state.</p> <p>Returns <code>Subscription</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h4 id=hawkwatchmodelchanges>Hawk.watchModelChanges<a class=headerlink href=#hawkwatchmodelchanges title="Permanent link">&para;</a></h4> <p>Returns subscription details to a queue of HawkChangeEvents with notifications about changes to a set of indexed models.</p> <p>Returns <code>Subscription</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the Hawk instance.</td> </tr> <tr> <td>repositoryUri</td> <td>string</td> <td>The URI of the repository in which the model is contained.</td> </tr> <tr> <td>filePath</td> <td>list<string></td> <td>The pattern(s) for the model file(s) in the repository.</td> </tr> <tr> <td>clientID</td> <td>string</td> <td>Unique client ID (used as suffix for the queue name).</td> </tr> <tr> <td>durableEvents</td> <td>SubscriptionDurability</td> <td>Durability of the subscription.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>HawkInstanceNotFound</td> <td>No Hawk instance exists with that name.</td> </tr> <tr> <td>HawkInstanceNotRunning</td> <td>The selected Hawk instance is not running.</td> </tr> </tbody> </table> <h3 id=ifcexport>IFCExport<a class=headerlink href=#ifcexport title="Permanent link">&para;</a></h3> <p>IFC export facility for getting IFC models from the Hawk server.</p> <h4 id=ifcexportexportasstep>IFCExport.exportAsSTEP<a class=headerlink href=#ifcexportexportasstep title="Permanent link">&para;</a></h4> <p>Export part of a Hawk index in IFC STEP format.</p> <p>Returns <code>IFCExportJob</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>hawkInstance</td> <td>string</td> <td></td> </tr> <tr> <td>options</td> <td>IFCExportOptions</td> <td></td> </tr> </tbody> </table> <h4 id=ifcexportgetjobs>IFCExport.getJobs<a class=headerlink href=#ifcexportgetjobs title="Permanent link">&para;</a></h4> <p>List all the previously scheduled IFC export jobs.</p> <p>Returns <code>list&lt;IFCExportJob&gt;</code>. Does not take any parameters. </p> <h4 id=ifcexportgetjobstatus>IFCExport.getJobStatus<a class=headerlink href=#ifcexportgetjobstatus title="Permanent link">&para;</a></h4> <p>Retrieve the current status of the job with the specified ID.</p> <p>Returns <code>IFCExportJob</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>jobID</td> <td>string</td> <td></td> </tr> </tbody> </table> <h4 id=ifcexportkilljob>IFCExport.killJob<a class=headerlink href=#ifcexportkilljob title="Permanent link">&para;</a></h4> <p>Cancel the job with the specified ID.</p> <p>Returns <code>bool</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>jobID</td> <td>string</td> <td></td> </tr> </tbody> </table> <h3 id=users>Users<a class=headerlink href=#users title="Permanent link">&para;</a></h3> <p>The majority of service operations provided by the server require user authentication (indicated in the top-left cell of each operation table) to prevent unaccountable use. As such, the platform needs to provide basic user management service operations for creating, updating and deleting user accounts. When handling passwords, only SSL should be used, as otherwise they could be intercepted.</p> <h4 id=userscreateuser>Users.createUser<a class=headerlink href=#userscreateuser title="Permanent link">&para;</a></h4> <p>Creates a new platform user.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>string</td> <td>A unique identifier for the user.</td> </tr> <tr> <td>password</td> <td>string</td> <td>The desired password.</td> </tr> <tr> <td>profile</td> <td>UserProfile</td> <td>The profile of the user.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>UserExists</td> <td>The specified username already exists.</td> </tr> </tbody> </table> <h4 id=usersupdateprofile>Users.updateProfile<a class=headerlink href=#usersupdateprofile title="Permanent link">&para;</a></h4> <p>Updates the profile of a platform user.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>string</td> <td>The name of the user to update the profile of.</td> </tr> <tr> <td>profile</td> <td>UserProfile</td> <td>The updated profile of the user.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>UserNotFound</td> <td>The specified username does not exist.</td> </tr> </tbody> </table> <h4 id=usersupdatepassword>Users.updatePassword<a class=headerlink href=#usersupdatepassword title="Permanent link">&para;</a></h4> <p>Updates the password of a platform user.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>string</td> <td>The name of the user to update the profile of.</td> </tr> <tr> <td>newPassword</td> <td>string</td> <td>New password to be set.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>UserNotFound</td> <td>The specified username does not exist.</td> </tr> </tbody> </table> <h4 id=usersdeleteuser>Users.deleteUser<a class=headerlink href=#usersdeleteuser title="Permanent link">&para;</a></h4> <p>Deletes a platform user.</p> <p>Returns <code>void</code>. Takes these parameters:</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>username</td> <td>string</td> <td>The name of the user to delete.</td> </tr> </tbody> </table> <p>May throw these exceptions:</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>UserNotFound</td> <td>The specified username does not exist.</td> </tr> </tbody> </table> <h2 id=entities>Entities<a class=headerlink href=#entities title="Permanent link">&para;</a></h2> <h3 id=attributeslot>AttributeSlot<a class=headerlink href=#attributeslot title="Permanent link">&para;</a></h3> <p>Represents a slot that can store the value(s) of an attribute of a model element.</p> <p>Inherits from: Slot.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name (inherited)</td> <td>string</td> <td>The name of the model element property the value of which is stored in this slot.</td> </tr> <tr> <td>value (optional)</td> <td>SlotValue</td> <td>Value of the slot (if set).</td> </tr> </tbody> </table> <p>Used in: ModelElement.</p> <h3 id=commititem>CommitItem<a class=headerlink href=#commititem title="Permanent link">&para;</a></h3> <p>Simplified entry within a commit of a repository.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>path</td> <td>string</td> <td>Path within the repository, using / as separator.</td> </tr> <tr> <td>repoURL</td> <td>string</td> <td>URL of the repository.</td> </tr> <tr> <td>revision</td> <td>string</td> <td>Unique identifier of the revision of the repository.</td> </tr> <tr> <td>type</td> <td>CommitItemChangeType</td> <td>Type of change within the commit.</td> </tr> </tbody> </table> <p>Used in: HawkModelElementAdditionEvent, HawkModelElementRemovalEvent, HawkAttributeUpdateEvent, HawkAttributeRemovalEvent, HawkReferenceAdditionEvent, HawkReferenceRemovalEvent, HawkFileAdditionEvent, HawkFileRemovalEvent.</p> <h3 id=containerslot>ContainerSlot<a class=headerlink href=#containerslot title="Permanent link">&para;</a></h3> <p>Represents a slot that can store other model elements within a model element.</p> <p>Inherits from: Slot.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>elements</td> <td>list<modelelement></td> <td>Contained elements for this slot.</td> </tr> <tr> <td>name (inherited)</td> <td>string</td> <td>The name of the model element property the value of which is stored in this slot.</td> </tr> </tbody> </table> <p>Used in: ModelElement.</p> <h3 id=credentials>Credentials<a class=headerlink href=#credentials title="Permanent link">&para;</a></h3> <p>Credentials of the client in the target VCS.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>password</td> <td>string</td> <td>Password for logging into the VCS.</td> </tr> <tr> <td>username</td> <td>string</td> <td>Username for logging into the VCS.</td> </tr> </tbody> </table> <p>Used in: Hawk.addRepository, Hawk.updateRepositoryCredentials.</p> <h3 id=derivedattributespec>DerivedAttributeSpec<a class=headerlink href=#derivedattributespec title="Permanent link">&para;</a></h3> <p>Used to configure Hawk's derived attributes (discussed in D5.3).</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attributeName</td> <td>string</td> <td>The name of the derived attribute.</td> </tr> <tr> <td>attributeType (optional)</td> <td>string</td> <td>The (primitive) type of the derived attribute.</td> </tr> <tr> <td>derivationLanguage (optional)</td> <td>string</td> <td>The language used to express the derivation logic.</td> </tr> <tr> <td>derivationLogic (optional)</td> <td>string</td> <td>An executable expression of the derivation logic in the language above.</td> </tr> <tr> <td>isMany (optional)</td> <td>bool</td> <td>The multiplicity of the derived attribute.</td> </tr> <tr> <td>isOrdered (optional)</td> <td>bool</td> <td>A flag specifying whether the order of the values of the derived attribute is significant (only makes sense when isMany=true).</td> </tr> <tr> <td>isUnique (optional)</td> <td>bool</td> <td>A flag specifying whether the the values of the derived attribute are unique (only makes sense when isMany=true).</td> </tr> <tr> <td>metamodelUri</td> <td>string</td> <td>The URI of the metamodel to which the derived attribute belongs.</td> </tr> <tr> <td>typeName</td> <td>string</td> <td>The name of the type to which the derived attribute belongs.</td> </tr> </tbody> </table> <p>Used in: Hawk.addDerivedAttribute, Hawk.removeDerivedAttribute, Hawk.listDerivedAttributes.</p> <h3 id=effectivemetamodel>EffectiveMetamodel<a class=headerlink href=#effectivemetamodel title="Permanent link">&para;</a></h3> <p>Representation of a set of rules for either including or excluding certain types and/or slots within a metamodel.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>slots</td> <td>set<string></td> <td>Slots within the type that should be included or excluded: empty means 'all slots'.</td> </tr> <tr> <td>type</td> <td>string</td> <td>Type that should be included or excluded.</td> </tr> </tbody> </table> <p>Used in: EffectiveMetamodelMap.</p> <h3 id=effectivemetamodelmap>EffectiveMetamodelMap<a class=headerlink href=#effectivemetamodelmap title="Permanent link">&para;</a></h3> <p>Representation of a set of rules for either including or excluding metamodels, types or slots.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>metamodel</td> <td>map<string,set&lt;string>&gt;</td> <td>Types and slots within the metamodel that should be included or excluded: empty means 'all types and slots'.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>Namespace URI of the metamodel.</td> </tr> </tbody> </table> <p>Used in: HawkQueryOptions, IFCExportOptions.</p> <h3 id=file>File<a class=headerlink href=#file title="Permanent link">&para;</a></h3> <p>A file to be sent through the network.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>contents</td> <td>binary</td> <td>Sequence of bytes with the contents of the file.</td> </tr> <tr> <td>name</td> <td>string</td> <td>Name of the file.</td> </tr> </tbody> </table> <p>Used in: Hawk.registerMetamodels.</p> <h3 id=hawkattributeremovalevent>HawkAttributeRemovalEvent<a class=headerlink href=#hawkattributeremovalevent title="Permanent link">&para;</a></h3> <p>Serialized form of an attribute removal event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attribute</td> <td>string</td> <td>Name of the attribute that was removed.</td> </tr> <tr> <td>id</td> <td>string</td> <td>Identifier of the model element that was changed.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkattributeupdateevent>HawkAttributeUpdateEvent<a class=headerlink href=#hawkattributeupdateevent title="Permanent link">&para;</a></h3> <p>Serialized form of an attribute update event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attribute</td> <td>string</td> <td>Name of the attribute that was changed.</td> </tr> <tr> <td>id</td> <td>string</td> <td>Identifier of the model element that was changed.</td> </tr> <tr> <td>value</td> <td>SlotValue</td> <td>New value for the attribute.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkchangeevent>HawkChangeEvent<a class=headerlink href=#hawkchangeevent title="Permanent link">&para;</a></h3> <p>Serialized form of a change in the indexed models of a Hawk instance.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>fileAddition</td> <td>HawkFileAdditionEvent</td> <td>A file was added.</td> </tr> <tr> <td>fileRemoval</td> <td>HawkFileRemovalEvent</td> <td>A file was removed.</td> </tr> <tr> <td>modelElementAddition</td> <td>HawkModelElementAdditionEvent</td> <td>A model element was added.</td> </tr> <tr> <td>modelElementAttributeRemoval</td> <td>HawkAttributeRemovalEvent</td> <td>An attribute was removed.</td> </tr> <tr> <td>modelElementAttributeUpdate</td> <td>HawkAttributeUpdateEvent</td> <td>An attribute was updated.</td> </tr> <tr> <td>modelElementRemoval</td> <td>HawkModelElementRemovalEvent</td> <td>A model element was removed.</td> </tr> <tr> <td>referenceAddition</td> <td>HawkReferenceAdditionEvent</td> <td>A reference was added.</td> </tr> <tr> <td>referenceRemoval</td> <td>HawkReferenceRemovalEvent</td> <td>A reference was removed.</td> </tr> <tr> <td>syncEnd</td> <td>HawkSynchronizationEndEvent</td> <td>Synchronization ended.</td> </tr> <tr> <td>syncStart</td> <td>HawkSynchronizationStartEvent</td> <td>Synchronization started.</td> </tr> </tbody> </table> <h3 id=hawkfileadditionevent>HawkFileAdditionEvent<a class=headerlink href=#hawkfileadditionevent title="Permanent link">&para;</a></h3> <p>Serialized form of a file addition event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Reference to file that was added, including VCS metadata.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkfileremovalevent>HawkFileRemovalEvent<a class=headerlink href=#hawkfileremovalevent title="Permanent link">&para;</a></h3> <p>A file was removed.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Reference to file that was removed, including VCS metadata.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkinstance>HawkInstance<a class=headerlink href=#hawkinstance title="Permanent link">&para;</a></h3> <p>Status of a Hawk instance.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>message</td> <td>string</td> <td>Last info message from the instance.</td> </tr> <tr> <td>name</td> <td>string</td> <td>The name of the instance.</td> </tr> <tr> <td>state</td> <td>HawkState</td> <td>Current state of the instance.</td> </tr> </tbody> </table> <p>Used in: Hawk.listInstances.</p> <h3 id=hawkmodelelementadditionevent>HawkModelElementAdditionEvent<a class=headerlink href=#hawkmodelelementadditionevent title="Permanent link">&para;</a></h3> <p>Serialized form of a model element addition event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>id</td> <td>string</td> <td>Identifier of the model element that was added.</td> </tr> <tr> <td>metamodelURI</td> <td>string</td> <td>Metamodel URI of the type of the model element.</td> </tr> <tr> <td>typeName</td> <td>string</td> <td>Name of the type of the model element.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkmodelelementremovalevent>HawkModelElementRemovalEvent<a class=headerlink href=#hawkmodelelementremovalevent title="Permanent link">&para;</a></h3> <p>Serialized form of a model element removal event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>id</td> <td>string</td> <td>Identifier of the model element that was removed.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkqueryoptions>HawkQueryOptions<a class=headerlink href=#hawkqueryoptions title="Permanent link">&para;</a></h3> <p>Options for a Hawk query.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>defaultNamespaces (optional)</td> <td>string</td> <td>The default namespaces to be used to resolve ambiguous unqualified types.</td> </tr> <tr> <td>effectiveMetamodelExcludes (optional)</td> <td>map<string,map&lt;string,set&lt;string>&gt;&gt;</td> <td>If set and not empty, the mentioned metamodels, types and features will not be fetched. The string '*' can be used to refer to all types within a metamodel or all fields within a type.</td> </tr> <tr> <td>effectiveMetamodelIncludes (optional)</td> <td>map<string,map&lt;string,set&lt;string>&gt;&gt;</td> <td>If set and not empty, only the specified metamodels, types and features will be fetched. Otherwise, everything that is not excluded will be fetched. The string '*' can be used to refer to all types within a metamodel or all fields within a type.</td> </tr> <tr> <td>filePatterns (optional)</td> <td>list<string></td> <td>The file patterns for the query (e.g. *.uml).</td> </tr> <tr> <td>includeAttributes (optional)</td> <td>bool</td> <td>Whether to include attributes (true) or not (false) in model element results.</td> </tr> <tr> <td>includeContained (optional)</td> <td>bool</td> <td>Whether to include all the child elements of the model element results (true) or not (false).</td> </tr> <tr> <td>includeDerived (optional)</td> <td>bool</td> <td>Whether to include derived attributes (true) or not (false) in model element results.</td> </tr> <tr> <td>includeNodeIDs (optional)</td> <td>bool</td> <td>Whether to include node IDs (true) or not (false) in model element results.</td> </tr> <tr> <td>includeReferences (optional)</td> <td>bool</td> <td>Whether to include references (true) or not (false) in model element results.</td> </tr> <tr> <td>repositoryPattern (optional)</td> <td>string</td> <td>The repository for the query (or * for all repositories).</td> </tr> </tbody> </table> <p>Used in: Hawk.query, Hawk.resolveProxies, Hawk.getModel, Hawk.getRootElements.</p> <h3 id=hawkreferenceadditionevent>HawkReferenceAdditionEvent<a class=headerlink href=#hawkreferenceadditionevent title="Permanent link">&para;</a></h3> <p>Serialized form of a reference addition event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>refName</td> <td>string</td> <td>Name of the reference that was added.</td> </tr> <tr> <td>sourceId</td> <td>string</td> <td>Identifier of the source model element.</td> </tr> <tr> <td>targetId</td> <td>string</td> <td>Identifier of the target model element.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkreferenceremovalevent>HawkReferenceRemovalEvent<a class=headerlink href=#hawkreferenceremovalevent title="Permanent link">&para;</a></h3> <p>Serialized form of a reference removal event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>refName</td> <td>string</td> <td>Name of the reference that was removed.</td> </tr> <tr> <td>sourceId</td> <td>string</td> <td>Identifier of the source model element.</td> </tr> <tr> <td>targetId</td> <td>string</td> <td>Identifier of the target model element.</td> </tr> <tr> <td>vcsItem</td> <td>CommitItem</td> <td>Entry within the commit that produced the changes.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawkstateevent>HawkStateEvent<a class=headerlink href=#hawkstateevent title="Permanent link">&para;</a></h3> <p>Serialized form of a change in the state of a Hawk instance.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>message</td> <td>string</td> <td>Short message about the current status of the server.</td> </tr> <tr> <td>state</td> <td>HawkState</td> <td>State of the Hawk instance.</td> </tr> <tr> <td>timestamp</td> <td>i64</td> <td>Timestamp for this state change.</td> </tr> </tbody> </table> <h3 id=hawksynchronizationendevent>HawkSynchronizationEndEvent<a class=headerlink href=#hawksynchronizationendevent title="Permanent link">&para;</a></h3> <p>Serialized form of a sync end event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>timestampNanos</td> <td>i64</td> <td>Local timestamp, measured in nanoseconds. Only meant to be used to compute synchronization cost.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=hawksynchronizationstartevent>HawkSynchronizationStartEvent<a class=headerlink href=#hawksynchronizationstartevent title="Permanent link">&para;</a></h3> <p>Serialized form of a sync start event.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>timestampNanos</td> <td>i64</td> <td>Local timestamp, measured in nanoseconds. Only meant to be used to compute synchronization cost.</td> </tr> </tbody> </table> <p>Used in: HawkChangeEvent.</p> <h3 id=ifcexportjob>IFCExportJob<a class=headerlink href=#ifcexportjob title="Permanent link">&para;</a></h3> <p>Information about a server-side IFC export job.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>jobID</td> <td>string</td> <td></td> </tr> <tr> <td>message</td> <td>string</td> <td></td> </tr> <tr> <td>status</td> <td>IFCExportStatus</td> <td></td> </tr> </tbody> </table> <p>Used in: IFCExport.exportAsSTEP, IFCExport.getJobs, IFCExport.getJobStatus.</p> <h3 id=ifcexportoptions>IFCExportOptions<a class=headerlink href=#ifcexportoptions title="Permanent link">&para;</a></h3> <p>Options for a server-side IFC export.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>excludeRules (optional)</td> <td>map<string,map&lt;string,set&lt;string>&gt;&gt;</td> <td>If set and not empty, the mentioned metamodels, types and features will not be fetched. The string '*' can be used to refer to all types within a metamodel or all fields within a type.</td> </tr> <tr> <td>filePatterns (optional)</td> <td>list<string></td> <td>The file patterns for the query (e.g. *.uml).</td> </tr> <tr> <td>includeRules (optional)</td> <td>map<string,map&lt;string,set&lt;string>&gt;&gt;</td> <td>If set and not empty, only the specified metamodels, types and features will be fetched. Otherwise, everything that is not excluded will be fetched. The string '*' can be used to refer to all types within a metamodel or all fields within a type.</td> </tr> <tr> <td>repositoryPattern (optional)</td> <td>string</td> <td>The repository for the query (or * for all repositories).</td> </tr> </tbody> </table> <p>Used in: IFCExport.exportAsSTEP.</p> <h3 id=indexedattributespec>IndexedAttributeSpec<a class=headerlink href=#indexedattributespec title="Permanent link">&para;</a></h3> <p>Used to configure Hawk's indexed attributes (discussed in D5.3).</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attributeName</td> <td>string</td> <td>The name of the indexed attribute.</td> </tr> <tr> <td>metamodelUri</td> <td>string</td> <td>The URI of the metamodel to which the indexed attribute belongs.</td> </tr> <tr> <td>typeName</td> <td>string</td> <td>The name of the type to which the indexed attribute belongs.</td> </tr> </tbody> </table> <p>Used in: Hawk.addIndexedAttribute, Hawk.removeIndexedAttribute, Hawk.listIndexedAttributes.</p> <h3 id=invalidmodelspec>InvalidModelSpec<a class=headerlink href=#invalidmodelspec title="Permanent link">&para;</a></h3> <p>The model specification is not valid: the model or the metamodels are inaccessible or invalid.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the spec not being valid.</td> </tr> <tr> <td>spec</td> <td>ModelSpec</td> <td>A copy of the invalid model specification.</td> </tr> </tbody> </table> <h3 id=invalidtransformation>InvalidTransformation<a class=headerlink href=#invalidtransformation title="Permanent link">&para;</a></h3> <p>The transformation is not valid: it is unparsable or inconsistent.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>location</td> <td>string</td> <td>Location of the problem, if applicable. Usually a combination of line and column numbers.</td> </tr> <tr> <td>reason</td> <td>string</td> <td>Reason for the transformation not being valid.</td> </tr> </tbody> </table> <h3 id=mixedreference>MixedReference<a class=headerlink href=#mixedreference title="Permanent link">&para;</a></h3> <p>Represents a reference to a model element: it can be an identifier or a position. Only used when the same ReferenceSlot has both identifier-based and position-based references. This may be the case if we are retrieving a subset of the model which has references between its elements and with elements outside the subset at the same time.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>id</td> <td>string</td> <td>Identifier-based reference to a model element.</td> </tr> <tr> <td>position</td> <td>i32</td> <td>Position-based reference to a model element.</td> </tr> </tbody> </table> <p>Used in: ReferenceSlot.</p> <h3 id=modelelement>ModelElement<a class=headerlink href=#modelelement title="Permanent link">&para;</a></h3> <p>Represents a model element.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attributes (optional)</td> <td>list<attributeslot></td> <td>Slots holding the values of the model element's attributes, if any have been set.</td> </tr> <tr> <td>containers (optional)</td> <td>list<containerslot></td> <td>Slots holding contained model elements, if any have been set.</td> </tr> <tr> <td>file (optional)</td> <td>string</td> <td>Name of the file to which the element belongs (not set if equal to that of the previous model element).</td> </tr> <tr> <td>id (optional)</td> <td>string</td> <td>Unique ID of the model element (not set if using position-based references).</td> </tr> <tr> <td>metamodelUri (optional)</td> <td>string</td> <td>URI of the metamodel to which the type of the element belongs (not set if equal to that of the previous model element).</td> </tr> <tr> <td>references (optional)</td> <td>list<referenceslot></td> <td>Slots holding the values of the model element's references, if any have been set.</td> </tr> <tr> <td>repositoryURL (optional)</td> <td>string</td> <td>URI of the repository to which the element belongs (not set if equal to that of the previous model element).</td> </tr> <tr> <td>typeName (optional)</td> <td>string</td> <td>Name of the type that the model element is an instance of (not set if equal to that of the previous model element).</td> </tr> </tbody> </table> <p>Used in: Hawk.resolveProxies, Hawk.getModel, Hawk.getRootElements, ContainerSlot, QueryResult.</p> <h3 id=modelelementtype>ModelElementType<a class=headerlink href=#modelelementtype title="Permanent link">&para;</a></h3> <p>Represents a type of model element.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>attributes (optional)</td> <td>list<slotmetadata></td> <td>Metadata for the attribute slots.</td> </tr> <tr> <td>id</td> <td>string</td> <td>Unique ID of the model element type.</td> </tr> <tr> <td>metamodelUri</td> <td>string</td> <td>URI of the metamodel to which the type belongs.</td> </tr> <tr> <td>references (optional)</td> <td>list<slotmetadata></td> <td>Metadata for the reference slots.</td> </tr> <tr> <td>typeName</td> <td>string</td> <td>Name of the type.</td> </tr> </tbody> </table> <p>Used in: QueryResult.</p> <h3 id=modelspec>ModelSpec<a class=headerlink href=#modelspec title="Permanent link">&para;</a></h3> <p>Captures information about source/target models of ATL transformations.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>metamodelUris</td> <td>list<string></td> <td>The URIs of the metamodels to which elements of the model conform.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI from which the model will be loaded or to which it will be persisted.</td> </tr> </tbody> </table> <p>Used in: InvalidModelSpec.</p> <h3 id=queryresult>QueryResult<a class=headerlink href=#queryresult title="Permanent link">&para;</a></h3> <p>Union type for a scalar value, a reference to a model element, a heterogeneous list or a string/value map. Query results may return all types of results, so we need to stay flexible.</p> <p>Inherits from: Value.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>vBoolean (inherited)</td> <td>bool</td> <td>Boolean (true/false) value.</td> </tr> <tr> <td>vByte (inherited)</td> <td>byte</td> <td>8-bit signed integer value.</td> </tr> <tr> <td>vDouble (inherited)</td> <td>double</td> <td>64-bit floating point value.</td> </tr> <tr> <td>vInteger (inherited)</td> <td>i32</td> <td>32-bit signed integer value.</td> </tr> <tr> <td>vList</td> <td>list<queryresult></td> <td>Nested list of query results.</td> </tr> <tr> <td>vLong (inherited)</td> <td>i64</td> <td>64-bit signed integer value.</td> </tr> <tr> <td>vMap</td> <td>map<string,queryresult></td> <td>Map between query results.</td> </tr> <tr> <td>vModelElement</td> <td>ModelElement</td> <td>Encoded model element.</td> </tr> <tr> <td>vModelElementType</td> <td>ModelElementType</td> <td>Encoded model element type.</td> </tr> <tr> <td>vShort (inherited)</td> <td>i16</td> <td>16-bit signed integer value.</td> </tr> <tr> <td>vString (inherited)</td> <td>string</td> <td>Sequence of UTF8 characters.</td> </tr> </tbody> </table> <p>Used in: Hawk.query, QueryResult, QueryResultMap.</p> <h3 id=queryresultmap>QueryResultMap<a class=headerlink href=#queryresultmap title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td></td> </tr> <tr> <td>value</td> <td>QueryResult</td> <td></td> </tr> </tbody> </table> <p>Used in: QueryResult.</p> <h3 id=referenceslot>ReferenceSlot<a class=headerlink href=#referenceslot title="Permanent link">&para;</a></h3> <p>Represents a slot that can store the value(s) of a reference of a model element. References can be expressed as positions within a result tree (using pre-order traversal) or IDs. id, ids, position, positions and mixed are all mutually exclusive. At least one position or one ID must be given.</p> <p>Inherits from: Slot.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>id (optional)</td> <td>string</td> <td>Unique identifier of the referenced element (if there is only one ID based reference in this slot).</td> </tr> <tr> <td>ids (optional)</td> <td>list<string></td> <td>Unique identifiers of the referenced elements (if more than one).</td> </tr> <tr> <td>mixed (optional)</td> <td>list<mixedreference></td> <td>Mix of identifier- and position-bsaed references (if there is at least one position and one ID).</td> </tr> <tr> <td>name (inherited)</td> <td>string</td> <td>The name of the model element property the value of which is stored in this slot.</td> </tr> <tr> <td>position (optional)</td> <td>i32</td> <td>Position of the referenced element (if there is only one position-based reference in this slot).</td> </tr> <tr> <td>positions (optional)</td> <td>list<i32></td> <td>Positions of the referenced elements (if more than one).</td> </tr> </tbody> </table> <p>Used in: ModelElement.</p> <h3 id=repository>Repository<a class=headerlink href=#repository title="Permanent link">&para;</a></h3> <p>Entity that represents a model repository.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>isFrozen (optional)</td> <td>bool</td> <td>True if the repository is frozen, false otherwise.</td> </tr> <tr> <td>type</td> <td>string</td> <td>The type of repository.</td> </tr> <tr> <td>uri</td> <td>string</td> <td>The URI to the repository.</td> </tr> </tbody> </table> <p>Used in: Hawk.addRepository, Hawk.listRepositories.</p> <h3 id=slot>Slot<a class=headerlink href=#slot title="Permanent link">&para;</a></h3> <p>Represents a slot that can store the value(s) of a property of a model element.</p> <p>Inherited by: AttributeSlot, ReferenceSlot, ContainerSlot.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>name</td> <td>string</td> <td>The name of the model element property the value of which is stored in this slot.</td> </tr> </tbody> </table> <h3 id=slotmetadata>SlotMetadata<a class=headerlink href=#slotmetadata title="Permanent link">&para;</a></h3> <p>Represents the metadata of a slot in a model element type.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>isMany</td> <td>bool</td> <td>True if this slot holds a collection of values instead of a single value.</td> </tr> <tr> <td>isOrdered</td> <td>bool</td> <td>True if the values in this slot are ordered.</td> </tr> <tr> <td>isUnique</td> <td>bool</td> <td>True if the value of this slot must be unique within its containing model.</td> </tr> <tr> <td>name</td> <td>string</td> <td>The name of the model element property that is stored in this slot.</td> </tr> <tr> <td>type</td> <td>string</td> <td>The type of the values in this slot.</td> </tr> </tbody> </table> <p>Used in: ModelElementType.</p> <h3 id=slotvalue>SlotValue<a class=headerlink href=#slotvalue title="Permanent link">&para;</a></h3> <p>Union type for a single scalar value or a homogeneous collection of scalar values.</p> <p>Inherits from: Value.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>vBoolean (inherited)</td> <td>bool</td> <td>Boolean (true/false) value.</td> </tr> <tr> <td>vBooleans</td> <td>list<bool></td> <td>List of true/false values.</td> </tr> <tr> <td>vByte (inherited)</td> <td>byte</td> <td>8-bit signed integer value.</td> </tr> <tr> <td>vBytes</td> <td>binary</td> <td>List of 8-bit signed integers.</td> </tr> <tr> <td>vDouble (inherited)</td> <td>double</td> <td>64-bit floating point value.</td> </tr> <tr> <td>vDoubles</td> <td>list<double></td> <td>List of 64-bit floating point values.</td> </tr> <tr> <td>vInteger (inherited)</td> <td>i32</td> <td>32-bit signed integer value.</td> </tr> <tr> <td>vIntegers</td> <td>list<i32></td> <td>List of 32-bit signed integers.</td> </tr> <tr> <td>vLong (inherited)</td> <td>i64</td> <td>64-bit signed integer value.</td> </tr> <tr> <td>vLongs</td> <td>list<i64></td> <td>List of 64-bit signed integers.</td> </tr> <tr> <td>vShort (inherited)</td> <td>i16</td> <td>16-bit signed integer value.</td> </tr> <tr> <td>vShorts</td> <td>list<i16></td> <td>List of 16-bit signed integers.</td> </tr> <tr> <td>vString (inherited)</td> <td>string</td> <td>Sequence of UTF8 characters.</td> </tr> <tr> <td>vStrings</td> <td>list<string></td> <td>List of sequences of UTF8 characters.</td> </tr> </tbody> </table> <p>Used in: HawkAttributeUpdateEvent, AttributeSlot.</p> <h3 id=subscription>Subscription<a class=headerlink href=#subscription title="Permanent link">&para;</a></h3> <p>Details about a subscription to a topic queue.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>host</td> <td>string</td> <td>Host name of the message queue server.</td> </tr> <tr> <td>port</td> <td>i32</td> <td>Port in which the message queue server is listening.</td> </tr> <tr> <td>queueAddress</td> <td>string</td> <td>Address of the topic queue.</td> </tr> <tr> <td>queueName</td> <td>string</td> <td>Name of the topic queue.</td> </tr> <tr> <td>sslRequired</td> <td>bool</td> <td>Whether SSL is required or not.</td> </tr> </tbody> </table> <p>Used in: Hawk.watchStateChanges, Hawk.watchModelChanges.</p> <h3 id=userprofile>UserProfile<a class=headerlink href=#userprofile title="Permanent link">&para;</a></h3> <p>Minimal details about registered users.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>admin</td> <td>bool</td> <td>Whether the user has admin rights (i.e. so that they can create new users, change the status of admin users etc).</td> </tr> <tr> <td>realName</td> <td>string</td> <td>The real name of the user.</td> </tr> </tbody> </table> <p>Used in: Users.createUser, Users.updateProfile.</p> <h3 id=value>Value<a class=headerlink href=#value title="Permanent link">&para;</a></h3> <p>Union type for a single scalar value.</p> <p>Inherited by: QueryResult, SlotValue.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>vBoolean</td> <td>bool</td> <td>Boolean (true/false) value.</td> </tr> <tr> <td>vByte</td> <td>byte</td> <td>8-bit signed integer value.</td> </tr> <tr> <td>vDouble</td> <td>double</td> <td>64-bit floating point value.</td> </tr> <tr> <td>vInteger</td> <td>i32</td> <td>32-bit signed integer value.</td> </tr> <tr> <td>vLong</td> <td>i64</td> <td>64-bit signed integer value.</td> </tr> <tr> <td>vShort</td> <td>i16</td> <td>16-bit signed integer value.</td> </tr> <tr> <td>vString</td> <td>string</td> <td>Sequence of UTF8 characters.</td> </tr> </tbody> </table> <h2 id=enumerations>Enumerations<a class=headerlink href=#enumerations title="Permanent link">&para;</a></h2> <h3 id=commititemchangetype>CommitItemChangeType<a class=headerlink href=#commititemchangetype title="Permanent link">&para;</a></h3> <p>Type of change within a commit.</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>ADDED</td> <td>File was added.</td> </tr> <tr> <td>DELETED</td> <td>File was removed.</td> </tr> <tr> <td>REPLACED</td> <td>File was removed.</td> </tr> <tr> <td>UNKNOWN</td> <td>Unknown type of change.</td> </tr> <tr> <td>UPDATED</td> <td>File was updated.</td> </tr> </tbody> </table> <h3 id=hawkstate>HawkState<a class=headerlink href=#hawkstate title="Permanent link">&para;</a></h3> <p>One of the states that a Hawk instance can be in.</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>RUNNING</td> <td>The instance is running and monitoring the indexed locations.</td> </tr> <tr> <td>STOPPED</td> <td>The instance is stopped and is not monitoring any indexed locations.</td> </tr> <tr> <td>UPDATING</td> <td>The instance is updating its contents from the indexed locations.</td> </tr> </tbody> </table> <h3 id=ifcexportstatus>IFCExportStatus<a class=headerlink href=#ifcexportstatus title="Permanent link">&para;</a></h3> <p>Status of a server-side IFC export job.</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>CANCELLED</td> <td>The job has been cancelled.</td> </tr> <tr> <td>DONE</td> <td>The job is completed.</td> </tr> <tr> <td>FAILED</td> <td>The job has failed.</td> </tr> <tr> <td>RUNNING</td> <td>The job is currently running.</td> </tr> <tr> <td>SCHEDULED</td> <td>The job has been scheduled but has not started yet.</td> </tr> </tbody> </table> <h3 id=subscriptiondurability>SubscriptionDurability<a class=headerlink href=#subscriptiondurability title="Permanent link">&para;</a></h3> <p>Durability of a subscription.</p> <table> <thead> <tr> <th>Name</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>DEFAULT</td> <td>Subscription survives client disconnections but not server restarts.</td> </tr> <tr> <td>DURABLE</td> <td>Subscription survives client disconnections and server restarts.</td> </tr> <tr> <td>TEMPORARY</td> <td>Subscription removed after disconnecting.</td> </tr> <tr> <td>## Exceptions</td> <td></td> </tr> </tbody> </table> <h3 id=failedquery>FailedQuery<a class=headerlink href=#failedquery title="Permanent link">&para;</a></h3> <p>The specified query failed to complete its execution.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the query failing to complete its execution.</td> </tr> </tbody> </table> <p>Used in: Hawk.query.</p> <h3 id=hawkinstancenotfound>HawkInstanceNotFound<a class=headerlink href=#hawkinstancenotfound title="Permanent link">&para;</a></h3> <p>No Hawk instance exists with that name.</p> <p>No fields for this entity.</p> <p>Used in: Hawk.removeInstance, Hawk.startInstance, Hawk.stopInstance, Hawk.syncInstance, Hawk.registerMetamodels, Hawk.unregisterMetamodels, Hawk.listMetamodels, Hawk.query, Hawk.resolveProxies, Hawk.addRepository, Hawk.isFrozen, Hawk.setFrozen, Hawk.removeRepository, Hawk.updateRepositoryCredentials, Hawk.listRepositories, Hawk.listFiles, Hawk.configurePolling, Hawk.addDerivedAttribute, Hawk.removeDerivedAttribute, Hawk.listDerivedAttributes, Hawk.addIndexedAttribute, Hawk.removeIndexedAttribute, Hawk.listIndexedAttributes, Hawk.getModel, Hawk.watchStateChanges, Hawk.watchModelChanges.</p> <h3 id=hawkinstancenotrunning>HawkInstanceNotRunning<a class=headerlink href=#hawkinstancenotrunning title="Permanent link">&para;</a></h3> <p>The selected Hawk instance is not running.</p> <p>No fields for this entity.</p> <p>Used in: Hawk.stopInstance, Hawk.syncInstance, Hawk.registerMetamodels, Hawk.unregisterMetamodels, Hawk.listMetamodels, Hawk.query, Hawk.resolveProxies, Hawk.addRepository, Hawk.isFrozen, Hawk.setFrozen, Hawk.removeRepository, Hawk.updateRepositoryCredentials, Hawk.listRepositories, Hawk.listFiles, Hawk.configurePolling, Hawk.addDerivedAttribute, Hawk.removeDerivedAttribute, Hawk.listDerivedAttributes, Hawk.addIndexedAttribute, Hawk.removeIndexedAttribute, Hawk.listIndexedAttributes, Hawk.getModel, Hawk.watchStateChanges, Hawk.watchModelChanges.</p> <h3 id=invalidderivedattributespec>InvalidDerivedAttributeSpec<a class=headerlink href=#invalidderivedattributespec title="Permanent link">&para;</a></h3> <p>The derived attribute specification is not valid.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the spec not being valid.</td> </tr> </tbody> </table> <p>Used in: Hawk.addDerivedAttribute.</p> <h3 id=invalidindexedattributespec>InvalidIndexedAttributeSpec<a class=headerlink href=#invalidindexedattributespec title="Permanent link">&para;</a></h3> <p>The indexed attribute specification is not valid.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the spec not being valid.</td> </tr> </tbody> </table> <p>Used in: Hawk.addIndexedAttribute.</p> <h3 id=invalidmetamodel>InvalidMetamodel<a class=headerlink href=#invalidmetamodel title="Permanent link">&para;</a></h3> <p>The provided metamodel is not valid (e.g. unparsable or inconsistent).</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the metamodel not being valid.</td> </tr> </tbody> </table> <p>Used in: Hawk.registerMetamodels.</p> <h3 id=invalidpollingconfiguration>InvalidPollingConfiguration<a class=headerlink href=#invalidpollingconfiguration title="Permanent link">&para;</a></h3> <p>The polling configuration is not valid.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the spec not being valid.</td> </tr> </tbody> </table> <p>Used in: Hawk.configurePolling.</p> <h3 id=invalidquery>InvalidQuery<a class=headerlink href=#invalidquery title="Permanent link">&para;</a></h3> <p>The specified query is not valid.</p> <table> <thead> <tr> <th>Name</th> <th>Type</th> <th>Documentation</th> </tr> </thead> <tbody> <tr> <td>reason</td> <td>string</td> <td>Reason for the query not being valid.</td> </tr> </tbody> </table> <p>Used in: Hawk.query.</p> <h3 id=unknownquerylanguage>UnknownQueryLanguage<a class=headerlink href=#unknownquerylanguage title="Permanent link">&para;</a></h3> <p>The specified query language is not supported by the operation.</p> <p>No fields for this entity.</p> <p>Used in: Hawk.query.</p> <h3 id=unknownrepositorytype>UnknownRepositoryType<a class=headerlink href=#unknownrepositorytype title="Permanent link">&para;</a></h3> <p>The specified repository type is not supported by the operation.</p> <p>No fields for this entity.</p> <p>Used in: Hawk.addRepository.</p> <h3 id=userexists>UserExists<a class=headerlink href=#userexists title="Permanent link">&para;</a></h3> <p>The specified username already exists.</p> <p>No fields for this entity.</p> <p>Used in: Users.createUser.</p> <h3 id=usernotfound>UserNotFound<a class=headerlink href=#usernotfound title="Permanent link">&para;</a></h3> <p>The specified username does not exist.</p> <p>No fields for this entity.</p> <p>Used in: Users.updateProfile, Users.updatePassword, Users.deleteUser.</p> <h3 id=vcsauthenticationfailed>VCSAuthenticationFailed<a class=headerlink href=#vcsauthenticationfailed title="Permanent link">&para;</a></h3> <p>The client failed to prove its identity in the VCS.</p> <p>No fields for this entity.</p> <p>Used in: Hawk.addRepository.</p> <hr> <p>This file was automatically generated by Ecore2Thrift.</p> <p>https://github.com/bluezio/ecore2thrift</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../architecture/ title=Architecture class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Architecture </span> </div> </a> <a href=../api-security/ title="Thrift API security" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Thrift API security </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/server/architecture/index.html b/server/architecture/index.html
index 13eb1d7..875c282 100644
--- a/server/architecture/index.html
+++ b/server/architecture/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Architecture - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Architecture </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title=Architecture class="md-nav__link md-nav__link--active"> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Architecture</h1> <p>If an entire team is querying the same set of models, indexing them from a central location is more efficient than maintaining multiple indexes. In other cases, we may want to query models from outside Eclipse and even from applications written in other languages (e.g. C++ or Python).</p> <p>To support these use cases, Hawk includes a server that exposes its functionality through a set of Thrift APIs. This server product is a headless Eclipse application that can be run from the command line. The general structure is as shown here:</p> <p><img alt="Hawk server deployment" src=../img/platform_deployment.png></p> <p>The server component is implemented as an Eclipse application, based on the Eclipse Equinox OSGi runtime. Using Eclipse Equinox for the server allows for integrating the Eclipse-based tools with very few changes in their code, while reducing the chances of mutual interference. The OSGi class loading mechanisms ensure that each plugin only "sees" the classes that it declares as dependencies, avoiding common clashes such as requiring different versions of the same Java library or overriding a configuration file with an unexpected copy from another library.</p> <p>To mitigate the risk of connectivity problems due to enterprise firewalls, the server uses for most of the API the standard HTTP and HTTPS protocols (by default, on the unprivileged ports 8080 and 8443) and <a href=../api-security/ >secures</a> them through <a href=https://shiro.apache.org/ >Apache Shiro</a>. Optionally, the Hawk API can be exposed through raw TCP on port 2080, for increased performance: however, security-conscious environments should leave it disabled as it does not support authentication. The embedded <a href=https://activemq.apache.org/artemis/ >Apache Artemis</a> messaging queue required for remote change notifications in Hawk requires its own port, as it manages its own network connections. By default, this is port 61616. These notifications are made available through two protocols: Artemis Core (a lightweight replacement for the Java Message Service, for Java clients) and STOMP over WebSockets (a cross-language messaging protocol, for web-based clients).</p> <p>The server includes plugins that use the standard OSGi HttpService facilities to register servlets and filters. Each service is implemented as one or more of these servlets. The currently implemented endpoints are these:</p> <table> <thead> <tr> <th>Path within server</th> <th>Service</th> <th>Thrift protocol</th> </tr> </thead> <tbody> <tr> <td>/thrift/hawk/binary</td> <td>Hawk</td> <td>Binary</td> </tr> <tr> <td>/thrift/hawk/compact</td> <td>Hawk</td> <td>Compact</td> </tr> <tr> <td>/thrift/hawk/json</td> <td>Hawk</td> <td>JSON</td> </tr> <tr> <td>/thrift/hawk/tuple</td> <td>Hawk</td> <td>Tuple</td> </tr> <tr> <td>/thrift/users</td> <td>Users</td> <td>JSON</td> </tr> </tbody> </table> <p>All services provide a JSON endpoint, since it is compatible across all languages supported by Thrift and works well with web-based clients. However, since Hawk is performance sensitive (as we might need to encode a large number of model elements in the results of a query), it also provides endpoints with the other Thrift protocols. Binary is the most portable after JSON, and Tuple is the most efficient but is only usable from Java clients. Having all four protocols allows Hawk clients to pick the most efficient protocol that is available for their language.</p> <p>The available operations for the Users and Hawk APIs are listed in <a href=../api/ >Thrift API</a>. For details about the optional access control to these APIs, check <a href=../api-security/ >Thrift API security</a>.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Oomph and Hawk </span> </div> </a> <a href=../api/ title="Thrift API" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Thrift API </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Architecture - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Architecture </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title=Architecture class="md-nav__link md-nav__link--active"> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Architecture</h1> <p>If an entire team is querying the same set of models, indexing them from a central location is more efficient than maintaining multiple indexes. In other cases, we may want to query models from outside Eclipse and even from applications written in other languages (e.g. C++ or Python).</p> <p>To support these use cases, Hawk includes a server that exposes its functionality through a set of Thrift APIs. This server product is a headless Eclipse application that can be run from the command line. The general structure is as shown here:</p> <p><img alt="Hawk server deployment" src=../img/platform_deployment.png></p> <p>The server component is implemented as an Eclipse application, based on the Eclipse Equinox OSGi runtime. Using Eclipse Equinox for the server allows for integrating the Eclipse-based tools with very few changes in their code, while reducing the chances of mutual interference. The OSGi class loading mechanisms ensure that each plugin only "sees" the classes that it declares as dependencies, avoiding common clashes such as requiring different versions of the same Java library or overriding a configuration file with an unexpected copy from another library.</p> <p>To mitigate the risk of connectivity problems due to enterprise firewalls, the server uses for most of the API the standard HTTP and HTTPS protocols (by default, on the unprivileged ports 8080 and 8443) and <a href=../api-security/ >secures</a> them through <a href=https://shiro.apache.org/ >Apache Shiro</a>. Optionally, the Hawk API can be exposed through raw TCP on port 2080, for increased performance: however, security-conscious environments should leave it disabled as it does not support authentication. The embedded <a href=https://activemq.apache.org/artemis/ >Apache Artemis</a> messaging queue required for remote change notifications in Hawk requires its own port, as it manages its own network connections. By default, this is port 61616. These notifications are made available through two protocols: Artemis Core (a lightweight replacement for the Java Message Service, for Java clients) and STOMP over WebSockets (a cross-language messaging protocol, for web-based clients).</p> <p>The server includes plugins that use the standard OSGi HttpService facilities to register servlets and filters. Each service is implemented as one or more of these servlets. The currently implemented endpoints are these:</p> <table> <thead> <tr> <th>Path within server</th> <th>Service</th> <th>Thrift protocol</th> </tr> </thead> <tbody> <tr> <td>/thrift/hawk/binary</td> <td>Hawk</td> <td>Binary</td> </tr> <tr> <td>/thrift/hawk/compact</td> <td>Hawk</td> <td>Compact</td> </tr> <tr> <td>/thrift/hawk/json</td> <td>Hawk</td> <td>JSON</td> </tr> <tr> <td>/thrift/hawk/tuple</td> <td>Hawk</td> <td>Tuple</td> </tr> <tr> <td>/thrift/users</td> <td>Users</td> <td>JSON</td> </tr> </tbody> </table> <p>All services provide a JSON endpoint, since it is compatible across all languages supported by Thrift and works well with web-based clients. However, since Hawk is performance sensitive (as we might need to encode a large number of model elements in the results of a query), it also provides endpoints with the other Thrift protocols. Binary is the most portable after JSON, and Tuple is the most efficient but is only usable from Java clients. Having all four protocols allows Hawk clients to pick the most efficient protocol that is available for their language.</p> <p>The available operations for the Users and Hawk APIs are listed in <a href=../api/ >Thrift API</a>. For details about the optional access control to these APIs, check <a href=../api-security/ >Thrift API security</a>.</p> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Oomph and Hawk </span> </div> </a> <a href=../api/ title="Thrift API" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Thrift API </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/server/cli/index.html b/server/cli/index.html
index 4b9f968..b23bcf6 100644
--- a/server/cli/index.html
+++ b/server/cli/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Console client - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#hawk tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Console client </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Console client </label> <a href=./ title="Console client" class="md-nav__link md-nav__link--active"> Console client </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#hawk class=md-nav__link> Hawk </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#connecting-to-hawk class=md-nav__link> Connecting to Hawk </a> </li> <li class=md-nav__item> <a href=#managing-hawk-indexer-instances class=md-nav__link> Managing Hawk indexer instances </a> </li> <li class=md-nav__item> <a href=#managing-metamodels class=md-nav__link> Managing metamodels </a> </li> <li class=md-nav__item> <a href=#managing-version-control-repositories class=md-nav__link> Managing version control repositories </a> </li> <li class=md-nav__item> <a href=#querying-models class=md-nav__link> Querying models </a> </li> <li class=md-nav__item> <a href=#managing-derived-attributes class=md-nav__link> Managing derived attributes </a> </li> <li class=md-nav__item> <a href=#managing-indexed-attributes class=md-nav__link> Managing indexed attributes </a> </li> <li class=md-nav__item> <a href=#watching-over-changes-in-remote-models class=md-nav__link> Watching over changes in remote models </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#users class=md-nav__link> Users </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#hawk class=md-nav__link> Hawk </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#connecting-to-hawk class=md-nav__link> Connecting to Hawk </a> </li> <li class=md-nav__item> <a href=#managing-hawk-indexer-instances class=md-nav__link> Managing Hawk indexer instances </a> </li> <li class=md-nav__item> <a href=#managing-metamodels class=md-nav__link> Managing metamodels </a> </li> <li class=md-nav__item> <a href=#managing-version-control-repositories class=md-nav__link> Managing version control repositories </a> </li> <li class=md-nav__item> <a href=#querying-models class=md-nav__link> Querying models </a> </li> <li class=md-nav__item> <a href=#managing-derived-attributes class=md-nav__link> Managing derived attributes </a> </li> <li class=md-nav__item> <a href=#managing-indexed-attributes class=md-nav__link> Managing indexed attributes </a> </li> <li class=md-nav__item> <a href=#watching-over-changes-in-remote-models class=md-nav__link> Watching over changes in remote models </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#users class=md-nav__link> Users </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Console client</h1> <p>You can talk to a Hawk server from one of the console client products in the latest <a href=https://github.com/mondo-project/mondo-hawk/releases>release</a>. Using the product only requires unpacking the product and running the main executable within it. Alternatively, you could install the "Hawk CLI Feature" into your Eclipse instance and use these commands from the "Host OSGi Console" in the Console view.</p> <p>Each <a href=../api/ >Thrift API</a> has its own set of commands.</p> <h2 id=hawk>Hawk<a class=headerlink href=#hawk title="Permanent link">&para;</a></h2> <p>You can use the <code>hawkHelp</code> command to list all the available commands.</p> <h3 id=connecting-to-hawk>Connecting to Hawk<a class=headerlink href=#connecting-to-hawk title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkConnect \&lt;url> [username] [password]</td> <td>Connects to a Thrift endpoint (guesses the protocol from the URL)</td> </tr> <tr> <td>hawkDisconnect</td> <td>Disconnects from the current Thrift endpoint</td> </tr> </tbody> </table> <h3 id=managing-hawk-indexer-instances>Managing Hawk indexer instances<a class=headerlink href=#managing-hawk-indexer-instances title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkAddInstance \&lt;name> \&lt;backend> [minDelay] [maxDelay|0]</td> <td>Adds an instance with the provided name (if maxDelay = 0, periodic updates are disabled)</td> </tr> <tr> <td>hawkListBackends</td> <td>Lists the available Hawk backends</td> </tr> <tr> <td>hawkListInstances</td> <td>Lists the available Hawk instances</td> </tr> <tr> <td>hawkRemoveInstance \&lt;name></td> <td>Removes an instance with the provided name, if it exists</td> </tr> <tr> <td>hawkSelectInstance \&lt;name></td> <td>Selects the instance with the provided name</td> </tr> <tr> <td>hawkStartInstance \&lt;name></td> <td>Starts the instance with the provided name</td> </tr> <tr> <td>hawkStopInstance \&lt;name></td> <td>Stops the instance with the provided name</td> </tr> <tr> <td>hawkSyncInstance \&lt;name> [waitForSync:true|false]</td> <td>Requests an immediate sync on the instance with the provided name</td> </tr> </tbody> </table> <h3 id=managing-metamodels>Managing metamodels<a class=headerlink href=#managing-metamodels title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkListMetamodels</td> <td>Lists all registered metamodels in this instance</td> </tr> <tr> <td>hawkRegisterMetamodel \&lt;files...></td> <td>Registers one or more metamodels</td> </tr> <tr> <td>hawkUnregisterMetamodel \&lt;uri></td> <td>Unregisters the metamodel with the specified URI</td> </tr> </tbody> </table> <h3 id=managing-version-control-repositories>Managing version control repositories<a class=headerlink href=#managing-version-control-repositories title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkAddRepository \&lt;url> \&lt;type> [user] [pwd]</td> <td>Adds a repository</td> </tr> <tr> <td>hawkListFiles \&lt;url> [filepatterns...]</td> <td>Lists files within a repository</td> </tr> <tr> <td>hawkListRepositories</td> <td>Lists all registered metamodels in this instance</td> </tr> <tr> <td>hawkListRepositoryTypes</td> <td>Lists available repository types</td> </tr> <tr> <td>hawkRemoveRepository \&lt;url></td> <td>Removes the repository with the specified URL</td> </tr> <tr> <td>hawkUpdateRepositoryCredentials \&lt;url> \&lt;user> \&lt;pwd></td> <td>Changes the user/password used to monitor a repository</td> </tr> </tbody> </table> <h3 id=querying-models>Querying models<a class=headerlink href=#querying-models title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkGetModel \&lt;repo> [filepatterns...]</td> <td>Returns all the model elements of the specified files within the repo</td> </tr> <tr> <td>hawkGetRoots \&lt;repo> [filepatterns...]</td> <td>Returns only the root model elements of the specified files within the repo</td> </tr> <tr> <td>hawkListQueryLanguages</td> <td>Lists all available query languages</td> </tr> <tr> <td>hawkQuery \&lt;query> \&lt;language> [repo] [files]</td> <td>Queries the index</td> </tr> <tr> <td>hawkResolveProxies \&lt;ids...></td> <td>Retrieves model elements by ID</td> </tr> </tbody> </table> <h3 id=managing-derived-attributes>Managing derived attributes<a class=headerlink href=#managing-derived-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkAddDerivedAttribute \&lt;mmURI> \&lt;mmType> \&lt;name> \&lt;type> \&lt;lang> \&lt;expr> [many|ordered|unique]*</td> <td>Adds a derived attribute</td> </tr> <tr> <td>hawkListDerivedAttributes</td> <td>Lists all available derived attributes</td> </tr> <tr> <td>hawkRemoveDerivedAttribute \&lt;mmURI> \&lt;mmType> \&lt;name></td> <td>Removes a derived attribute, if it exists</td> </tr> </tbody> </table> <h3 id=managing-indexed-attributes>Managing indexed attributes<a class=headerlink href=#managing-indexed-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkAddIndexedAttribute \&lt;mmURI> \&lt;mmType> \&lt;name></td> <td>Adds an indexed attribute</td> </tr> <tr> <td>hawkListIndexedAttributes</td> <td>Lists all available indexed attributes</td> </tr> <tr> <td>hawkRemoveIndexedAttribute \&lt;mmURI> \&lt;mmType> \&lt;name></td> <td>Removes an indexed attribute, if it exists</td> </tr> </tbody> </table> <h3 id=watching-over-changes-in-remote-models>Watching over changes in remote models<a class=headerlink href=#watching-over-changes-in-remote-models title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkWatchModelChanges [default|temporary|durable] [client ID] [repo] [files...]</td> <td>Watches an Artemis message queue with detected model changes</td> </tr> </tbody> </table> <h2 id=users>Users<a class=headerlink href=#users title="Permanent link">&para;</a></h2> <p>The Users API has its own set of commands, which can be listed through <code>usersHelp</code>:</p> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>usersHelp</td> <td>Lists all the available commands for Users</td> </tr> <tr> <td>usersConnect \&lt;url> [username] [password]</td> <td>Connects to a Thrift endpoint</td> </tr> <tr> <td>usersDisconnect</td> <td>Disconnects from the current Thrift endpoint</td> </tr> <tr> <td>usersAdd \&lt;username> \&lt;realname> \&lt;isAdmin: true|false> [password]</td> <td>Adds the user to the database</td> </tr> <tr> <td>usersUpdateProfile \&lt;username> \&lt;realname> \&lt;isAdmin: true|false></td> <td>Changes the personal information of a user</td> </tr> <tr> <td>usersUpdatePassword \&lt;username> [password]</td> <td>Changes the password of a user</td> </tr> <tr> <td>usersRemove \&lt;username></td> <td>Removes a user</td> </tr> <tr> <td>usersCheck \&lt;username> [password]</td> <td>Validates credentials</td> </tr> </tbody> </table> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../deployment/ title=Deployment class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Deployment </span> </div> </a> <a href=../eclipse/ title="Eclipse client" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Eclipse client </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Console client - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#hawk tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Console client </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Console client </label> <a href=./ title="Console client" class="md-nav__link md-nav__link--active"> Console client </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#hawk class=md-nav__link> Hawk </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#connecting-to-hawk class=md-nav__link> Connecting to Hawk </a> </li> <li class=md-nav__item> <a href=#managing-hawk-indexer-instances class=md-nav__link> Managing Hawk indexer instances </a> </li> <li class=md-nav__item> <a href=#managing-metamodels class=md-nav__link> Managing metamodels </a> </li> <li class=md-nav__item> <a href=#managing-version-control-repositories class=md-nav__link> Managing version control repositories </a> </li> <li class=md-nav__item> <a href=#querying-models class=md-nav__link> Querying models </a> </li> <li class=md-nav__item> <a href=#managing-derived-attributes class=md-nav__link> Managing derived attributes </a> </li> <li class=md-nav__item> <a href=#managing-indexed-attributes class=md-nav__link> Managing indexed attributes </a> </li> <li class=md-nav__item> <a href=#watching-over-changes-in-remote-models class=md-nav__link> Watching over changes in remote models </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#users class=md-nav__link> Users </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#hawk class=md-nav__link> Hawk </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#connecting-to-hawk class=md-nav__link> Connecting to Hawk </a> </li> <li class=md-nav__item> <a href=#managing-hawk-indexer-instances class=md-nav__link> Managing Hawk indexer instances </a> </li> <li class=md-nav__item> <a href=#managing-metamodels class=md-nav__link> Managing metamodels </a> </li> <li class=md-nav__item> <a href=#managing-version-control-repositories class=md-nav__link> Managing version control repositories </a> </li> <li class=md-nav__item> <a href=#querying-models class=md-nav__link> Querying models </a> </li> <li class=md-nav__item> <a href=#managing-derived-attributes class=md-nav__link> Managing derived attributes </a> </li> <li class=md-nav__item> <a href=#managing-indexed-attributes class=md-nav__link> Managing indexed attributes </a> </li> <li class=md-nav__item> <a href=#watching-over-changes-in-remote-models class=md-nav__link> Watching over changes in remote models </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#users class=md-nav__link> Users </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Console client</h1> <p>You can talk to a Hawk server from one of the console client products in the latest <a href=https://github.com/mondo-project/mondo-hawk/releases>release</a>. Using the product only requires unpacking the product and running the main executable within it. Alternatively, you could install the "Hawk CLI Feature" into your Eclipse instance and use these commands from the "Host OSGi Console" in the Console view.</p> <p>Each <a href=../api/ >Thrift API</a> has its own set of commands.</p> <h2 id=hawk>Hawk<a class=headerlink href=#hawk title="Permanent link">&para;</a></h2> <p>You can use the <code>hawkHelp</code> command to list all the available commands.</p> <h3 id=connecting-to-hawk>Connecting to Hawk<a class=headerlink href=#connecting-to-hawk title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkConnect \&lt;url> [username] [password]</td> <td>Connects to a Thrift endpoint (guesses the protocol from the URL)</td> </tr> <tr> <td>hawkDisconnect</td> <td>Disconnects from the current Thrift endpoint</td> </tr> </tbody> </table> <h3 id=managing-hawk-indexer-instances>Managing Hawk indexer instances<a class=headerlink href=#managing-hawk-indexer-instances title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkAddInstance \&lt;name> \&lt;backend> [minDelay] [maxDelay|0]</td> <td>Adds an instance with the provided name (if maxDelay = 0, periodic updates are disabled)</td> </tr> <tr> <td>hawkListBackends</td> <td>Lists the available Hawk backends</td> </tr> <tr> <td>hawkListInstances</td> <td>Lists the available Hawk instances</td> </tr> <tr> <td>hawkRemoveInstance \&lt;name></td> <td>Removes an instance with the provided name, if it exists</td> </tr> <tr> <td>hawkSelectInstance \&lt;name></td> <td>Selects the instance with the provided name</td> </tr> <tr> <td>hawkStartInstance \&lt;name></td> <td>Starts the instance with the provided name</td> </tr> <tr> <td>hawkStopInstance \&lt;name></td> <td>Stops the instance with the provided name</td> </tr> <tr> <td>hawkSyncInstance \&lt;name> [waitForSync:true|false]</td> <td>Requests an immediate sync on the instance with the provided name</td> </tr> </tbody> </table> <h3 id=managing-metamodels>Managing metamodels<a class=headerlink href=#managing-metamodels title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkListMetamodels</td> <td>Lists all registered metamodels in this instance</td> </tr> <tr> <td>hawkRegisterMetamodel \&lt;files...></td> <td>Registers one or more metamodels</td> </tr> <tr> <td>hawkUnregisterMetamodel \&lt;uri></td> <td>Unregisters the metamodel with the specified URI</td> </tr> </tbody> </table> <h3 id=managing-version-control-repositories>Managing version control repositories<a class=headerlink href=#managing-version-control-repositories title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkAddRepository \&lt;url> \&lt;type> [user] [pwd]</td> <td>Adds a repository</td> </tr> <tr> <td>hawkListFiles \&lt;url> [filepatterns...]</td> <td>Lists files within a repository</td> </tr> <tr> <td>hawkListRepositories</td> <td>Lists all registered metamodels in this instance</td> </tr> <tr> <td>hawkListRepositoryTypes</td> <td>Lists available repository types</td> </tr> <tr> <td>hawkRemoveRepository \&lt;url></td> <td>Removes the repository with the specified URL</td> </tr> <tr> <td>hawkUpdateRepositoryCredentials \&lt;url> \&lt;user> \&lt;pwd></td> <td>Changes the user/password used to monitor a repository</td> </tr> </tbody> </table> <h3 id=querying-models>Querying models<a class=headerlink href=#querying-models title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkGetModel \&lt;repo> [filepatterns...]</td> <td>Returns all the model elements of the specified files within the repo</td> </tr> <tr> <td>hawkGetRoots \&lt;repo> [filepatterns...]</td> <td>Returns only the root model elements of the specified files within the repo</td> </tr> <tr> <td>hawkListQueryLanguages</td> <td>Lists all available query languages</td> </tr> <tr> <td>hawkQuery \&lt;query> \&lt;language> [repo] [files]</td> <td>Queries the index</td> </tr> <tr> <td>hawkResolveProxies \&lt;ids...></td> <td>Retrieves model elements by ID</td> </tr> </tbody> </table> <h3 id=managing-derived-attributes>Managing derived attributes<a class=headerlink href=#managing-derived-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkAddDerivedAttribute \&lt;mmURI> \&lt;mmType> \&lt;name> \&lt;type> \&lt;lang> \&lt;expr> [many|ordered|unique]*</td> <td>Adds a derived attribute</td> </tr> <tr> <td>hawkListDerivedAttributes</td> <td>Lists all available derived attributes</td> </tr> <tr> <td>hawkRemoveDerivedAttribute \&lt;mmURI> \&lt;mmType> \&lt;name></td> <td>Removes a derived attribute, if it exists</td> </tr> </tbody> </table> <h3 id=managing-indexed-attributes>Managing indexed attributes<a class=headerlink href=#managing-indexed-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkAddIndexedAttribute \&lt;mmURI> \&lt;mmType> \&lt;name></td> <td>Adds an indexed attribute</td> </tr> <tr> <td>hawkListIndexedAttributes</td> <td>Lists all available indexed attributes</td> </tr> <tr> <td>hawkRemoveIndexedAttribute \&lt;mmURI> \&lt;mmType> \&lt;name></td> <td>Removes an indexed attribute, if it exists</td> </tr> </tbody> </table> <h3 id=watching-over-changes-in-remote-models>Watching over changes in remote models<a class=headerlink href=#watching-over-changes-in-remote-models title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>hawkWatchModelChanges [default|temporary|durable] [client ID] [repo] [files...]</td> <td>Watches an Artemis message queue with detected model changes</td> </tr> </tbody> </table> <h2 id=users>Users<a class=headerlink href=#users title="Permanent link">&para;</a></h2> <p>The Users API has its own set of commands, which can be listed through <code>usersHelp</code>:</p> <table> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>usersHelp</td> <td>Lists all the available commands for Users</td> </tr> <tr> <td>usersConnect \&lt;url> [username] [password]</td> <td>Connects to a Thrift endpoint</td> </tr> <tr> <td>usersDisconnect</td> <td>Disconnects from the current Thrift endpoint</td> </tr> <tr> <td>usersAdd \&lt;username> \&lt;realname> \&lt;isAdmin: true|false> [password]</td> <td>Adds the user to the database</td> </tr> <tr> <td>usersUpdateProfile \&lt;username> \&lt;realname> \&lt;isAdmin: true|false></td> <td>Changes the personal information of a user</td> </tr> <tr> <td>usersUpdatePassword \&lt;username> [password]</td> <td>Changes the password of a user</td> </tr> <tr> <td>usersRemove \&lt;username></td> <td>Removes a user</td> </tr> <tr> <td>usersCheck \&lt;username> [password]</td> <td>Validates credentials</td> </tr> </tbody> </table> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../deployment/ title=Deployment class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Deployment </span> </div> </a> <a href=../eclipse/ title="Eclipse client" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Eclipse client </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/server/deployment/index.html b/server/deployment/index.html
index eafe2a9..d956208 100644
--- a/server/deployment/index.html
+++ b/server/deployment/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Deployment - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#initial-setup tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Deployment </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Deployment </label> <a href=./ title=Deployment class="md-nav__link md-nav__link--active"> Deployment </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#initial-setup class=md-nav__link> Initial setup </a> </li> <li class=md-nav__item> <a href=#ini-options class=md-nav__link> .ini options </a> </li> <li class=md-nav__item> <a href=#concerns-for-production-environments class=md-nav__link> Concerns for production environments </a> </li> <li class=md-nav__item> <a href=#secure-storage-of-vcs-credentials class=md-nav__link> Secure storage of VCS credentials </a> </li> <li class=md-nav__item> <a href=#setting-up-ssl-certificates-for-the-server class=md-nav__link> Setting up SSL certificates for the server </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#initial-setup class=md-nav__link> Initial setup </a> </li> <li class=md-nav__item> <a href=#ini-options class=md-nav__link> .ini options </a> </li> <li class=md-nav__item> <a href=#concerns-for-production-environments class=md-nav__link> Concerns for production environments </a> </li> <li class=md-nav__item> <a href=#secure-storage-of-vcs-credentials class=md-nav__link> Secure storage of VCS credentials </a> </li> <li class=md-nav__item> <a href=#setting-up-ssl-certificates-for-the-server class=md-nav__link> Setting up SSL certificates for the server </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Deployment</h1> <h2 id=initial-setup>Initial setup<a class=headerlink href=#initial-setup title="Permanent link">&para;</a></h2> <p>To run the Hawk server, download the latest <code>hawk-server-*.zip</code> file for your operating system and architecture of choice from the <a href=https://github.com/mondo-project/mondo-hawk/releases>"Releases" section on Github</a>, and unpack it. Note that <code>-nogpl-</code> releases do not include GPL-licensed components: if you want them in your server, you will have to build it yourself.</p> <p>Make any relevant changes to the <code>mondo-server.ini</code> file, and then run the <code>run-server.sh</code> script from Linux, or simply the provided <code>mondo-server</code> binary from Mac or Windows.</p> <p>If everything goes well, you should see this message:</p> <div class=codehilite><pre><span></span>Welcome to the Hawk Server!
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Deployment - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#initial-setup tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Deployment </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Deployment </label> <a href=./ title=Deployment class="md-nav__link md-nav__link--active"> Deployment </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#initial-setup class=md-nav__link> Initial setup </a> </li> <li class=md-nav__item> <a href=#ini-options class=md-nav__link> .ini options </a> </li> <li class=md-nav__item> <a href=#concerns-for-production-environments class=md-nav__link> Concerns for production environments </a> </li> <li class=md-nav__item> <a href=#secure-storage-of-vcs-credentials class=md-nav__link> Secure storage of VCS credentials </a> </li> <li class=md-nav__item> <a href=#setting-up-ssl-certificates-for-the-server class=md-nav__link> Setting up SSL certificates for the server </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#initial-setup class=md-nav__link> Initial setup </a> </li> <li class=md-nav__item> <a href=#ini-options class=md-nav__link> .ini options </a> </li> <li class=md-nav__item> <a href=#concerns-for-production-environments class=md-nav__link> Concerns for production environments </a> </li> <li class=md-nav__item> <a href=#secure-storage-of-vcs-credentials class=md-nav__link> Secure storage of VCS credentials </a> </li> <li class=md-nav__item> <a href=#setting-up-ssl-certificates-for-the-server class=md-nav__link> Setting up SSL certificates for the server </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Deployment</h1> <h2 id=initial-setup>Initial setup<a class=headerlink href=#initial-setup title="Permanent link">&para;</a></h2> <p>To run the Hawk server, download the latest <code>hawk-server-*.zip</code> file for your operating system and architecture of choice from the <a href=https://github.com/mondo-project/mondo-hawk/releases>"Releases" section on Github</a>, and unpack it. Note that <code>-nogpl-</code> releases do not include GPL-licensed components: if you want them in your server, you will have to build it yourself.</p> <p>Make any relevant changes to the <code>mondo-server.ini</code> file, and then run the <code>run-server.sh</code> script from Linux, or simply the provided <code>mondo-server</code> binary from Mac or Windows.</p> <p>If everything goes well, you should see this message:</p> <div class=codehilite><pre><span></span>Welcome to the Hawk Server!
 List available commands with &#39;hserverHelp&#39;.
 Stop the server with &#39;shutdown&#39; and then &#39;close&#39;.
 
diff --git a/server/eclipse/index.html b/server/eclipse/index.html
index 9a73623..9171d22 100644
--- a/server/eclipse/index.html
+++ b/server/eclipse/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Eclipse client - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#managing-remote-hawk-indexers tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Eclipse client </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Eclipse client </label> <a href=./ title="Eclipse client" class="md-nav__link md-nav__link--active"> Eclipse client </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#managing-remote-hawk-indexers class=md-nav__link> Managing remote Hawk indexers </a> </li> <li class=md-nav__item> <a href=#editor-for-remote-model-access-descriptors class=md-nav__link> Editor for remote model access descriptors </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#main-tab class=md-nav__link> Main tab </a> </li> <li class=md-nav__item> <a href=#effective-metamodel-tab class=md-nav__link> Effective metamodel tab </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#managing-remote-hawk-indexers class=md-nav__link> Managing remote Hawk indexers </a> </li> <li class=md-nav__item> <a href=#editor-for-remote-model-access-descriptors class=md-nav__link> Editor for remote model access descriptors </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#main-tab class=md-nav__link> Main tab </a> </li> <li class=md-nav__item> <a href=#effective-metamodel-tab class=md-nav__link> Effective metamodel tab </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Eclipse client</h1> <p>Hawk includes multiple optional features to integrate the <a href=../api/ >Thrift APIs</a> with regular Eclipse-based tooling:</p> <ul> <li>A custom Hawk instance type that operates over the Thrift API instead of locally.</li> <li>An EMF abstraction that allows for treating remote models as local ones.</li> <li>An editor for the <code>.hawkmodel</code> model access descriptors used by the above EMF resource abstraction.</li> </ul> <p>This page documents how these different features can be used.</p> <h2 id=managing-remote-hawk-indexers>Managing remote Hawk indexers<a class=headerlink href=#managing-remote-hawk-indexers title="Permanent link">&para;</a></h2> <p>When creating a Hawk instance for the first time (using the dialog shown below), users can specify which factory will be used. The name of the selected factory will be saved into the configuration of the instance, allowing Hawk to recreate the instance in later executions without asking again. Hawk provides a default <code>LocalHawkFactory</code> whose <code>LocalHawk</code> instances operate in the current Java virtual machine. Users can also specify which Hawk components should be enabled.</p> <p><img alt="New instance dialog" src=../img/hawk-new-remote.png></p> <p>A factory can also be used to "import" instances that already exist but Hawk does not know about. For the local case, these would be instances that were previously removed from Eclipse but whose folders were not deleted. The Eclipse import dialog looks like this:</p> <p><img alt="Import instance dialog" src=../img/hawk-import-remote.png></p> <p>The "Thrift API integration for Hawk GUI" feature provides a plugin that contributes a new indexer factory, ThriftRemoteHawkFactory, which produces ThriftRemoteHawk instances that use ThriftRemoteModelIndexer indexers. When creating a new instance, the factory will use the createInstance operation to add the instance to the server. When used to "import", the remote factory retrieves the list of Hawk instances available on the server through the listInstances operation of the Thrift API. Management actions (such as starting or stopping the instance) and their results are likewise translated between the user interface and the Thrift API.</p> <p>The Hawk user interface provides live updates on the current state of each indexer, with short status messages and an indication of whether the indexer is stopped, running or updating. Management actions and queries are disabled during an update, to prevent data consistency issues. The Hawk indexer in the remote server talks to the client through an Artemis queue: please make sure Artemis has been set up correctly in the server (see <a href=../deployment/ >the setup guide</a>).</p> <p>All these aspects are transparent to the user: the only difference is selecting the appropriate "Instance type" in the new instance or import dialogs and entering the URL to the Hawk Thrift endpoint. If the remote instance type is chosen, Hawk will only list the Hawk components that are installed in the server, which may differ from those installed in the client.</p> <h2 id=editor-for-remote-model-access-descriptors>Editor for remote model access descriptors<a class=headerlink href=#editor-for-remote-model-access-descriptors title="Permanent link">&para;</a></h2> <p>There are many different use cases for retrieving models over the network, each with their own requirements. The EMF model abstraction uses a <code>.hawkmodel</code> model access descriptor to specify the exact configuration we want to use when fetching the model over the network. <code>.hawkmodel</code> files can be opened by any EMF-compatible tool and operate just like a regular model.</p> <p>To simplify the creation and maintenance of these <code>.hawkmodel</code> files, an Eclipse-based editor is provided in the "Remote Hawk EMF Model UI Feature". The editor is divided into three tabs: a form-based tab for editing most aspects of the descriptor in a controlled manner, another form-based tab for editing the effective metamodel to limit the contents of the model, and a text-based tab for editing the descriptor directly.</p> <h3 id=main-tab>Main tab<a class=headerlink href=#main-tab title="Permanent link">&para;</a></h3> <p>Here is a screenshot of the main tab:</p> <p><img alt=".hawkmodel editor" src=../img/hawk-descriptor-editor.png></p> <p>The main form-based tab is divided into three sections:</p> <ul> <li> <p>The "Instance" section provides connection details for the remote Hawk instance: the URL of the Thrift endpoint, the Thrift protocol to use (more details in D5.6) and the name of the Hawk instance within the server. "Instance name" can be clicked to open a selection dialog with all the available instances.</p> <p>The "Username" and "Password" fields only need to be filled in if using the <code>.hawkmodel</code> file outside Eclipse. When using the <code>.hawkmodel</code> inside Eclipse, the remote EMF abstraction will fall back on the credentials stored in the Eclipse secure store if needed.</p> </li> <li> <p>The "Contents" section allows for filtering the contents of the Hawk index to be read and changing how they should be loaded:</p> <ul> <li>By default, the entire index is retrieved (repository URL is '*', file pattern is '*' and no query is used). The "Repository URL", "File pattern(s)" and "Query language" labels can be clicked to open selection dialogs with the appropriate options.</li> <li>The default loading mode is "GREEDY" (send the entire contents of the model in one message), but various lazy loading modes are available.</li> <li>The contents of the index can be split over the different source files or not. While splitting by file is useful for browsing, some EMF-based tools may not be compatible with it.</li> <li>The "Default namespaces" field makes it possible to resolve ambiguous type names. For instance, both the IFC2x3 and the IFC4 metamodels have a type called <code>IfcActor</code>. Without this field, the query would need to specify which one of the two metamodels should be used on every reference to <code>IfcActor</code>, which is unwieldy and prone to mistakes. With this field filled, the query will be told to resolve ambiguous type references to those of the IFC2x3 metamodel.</li> <li>The "Page size for initial load" field can be set to a value other than 0, indicating that during the initial load of the model, its contents should not be sent in one response message, but rather divided into "pages" of a certain size. It was observed that a GREEDY loading mode with an adequate page size can be faster to load than a lazy loading mode, while still keeping server memory and bandwidth requirements under control.</li> </ul> </li> <li>The "Subscription" section allows users to enable live updates in the opened model through the <code>watchGraphChanges</code> operation and an Apache Artemis queue of a certain durability. In order to allow the server to recognize users that reconnect after a connection loss, a unique client ID should be provided.</li> </ul> <h3 id=effective-metamodel-tab>Effective metamodel tab<a class=headerlink href=#effective-metamodel-tab title="Permanent link">&para;</a></h3> <p>The effective metamodel editor tab presents a table that lists all the metamodels registered in the selected remote Hawk instance, their types, and their features (called "slots" by the Hawk API). It is structured as a tree with three levels, with the metamodels at the root level, the types inside the metamodels, and their slots inside the types.</p> <p><img alt="Effective metamodel editor" src=../img/hawk-emm-editor.png></p> <p>The implicit default is that all metamodels are completely included, but users can manually include or exclude certain metamodels, types or slots within the types. This can be done through drop-down selection lists on the "State" column of the table, or through the buttons on the right of the table:</p> <ul> <li>"Include all" resets the entire table to the default state of implicitly including everything.</li> <li>"Exclude all" resets the entire table to excluding all metamodels.</li> <li>"Exclude" and "Include" only change the state of the currently selected element.</li> <li>"Reset" returns the currently selected element to the "Default" state.</li> </ul> <p>The effective metamodel is saved as part of the <code>.hawkmodel</code> file, and uses both inclusion and exclusion rules to remain as compact as possible (as it will need to be sent over the network). The rules work as follows:</p> <ul> <li>A metamodel is included if it is "Included", or if it has the "Default" state and no metamodels are explicitly "Included".</li> <li>A type is included if it is not "Excluded" and its metamodel is included.</li> <li>A slot is included if it is not "Excluded" and its type is included.</li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../cli/ title="Console client" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Console client </span> </div> </a> <a href=../file-config/ title="File-based configuration" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> File-based configuration </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Eclipse client - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#managing-remote-hawk-indexers tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Eclipse client </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> Eclipse client </label> <a href=./ title="Eclipse client" class="md-nav__link md-nav__link--active"> Eclipse client </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#managing-remote-hawk-indexers class=md-nav__link> Managing remote Hawk indexers </a> </li> <li class=md-nav__item> <a href=#editor-for-remote-model-access-descriptors class=md-nav__link> Editor for remote model access descriptors </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#main-tab class=md-nav__link> Main tab </a> </li> <li class=md-nav__item> <a href=#effective-metamodel-tab class=md-nav__link> Effective metamodel tab </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#managing-remote-hawk-indexers class=md-nav__link> Managing remote Hawk indexers </a> </li> <li class=md-nav__item> <a href=#editor-for-remote-model-access-descriptors class=md-nav__link> Editor for remote model access descriptors </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#main-tab class=md-nav__link> Main tab </a> </li> <li class=md-nav__item> <a href=#effective-metamodel-tab class=md-nav__link> Effective metamodel tab </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Eclipse client</h1> <p>Hawk includes multiple optional features to integrate the <a href=../api/ >Thrift APIs</a> with regular Eclipse-based tooling:</p> <ul> <li>A custom Hawk instance type that operates over the Thrift API instead of locally.</li> <li>An EMF abstraction that allows for treating remote models as local ones.</li> <li>An editor for the <code>.hawkmodel</code> model access descriptors used by the above EMF resource abstraction.</li> </ul> <p>This page documents how these different features can be used.</p> <h2 id=managing-remote-hawk-indexers>Managing remote Hawk indexers<a class=headerlink href=#managing-remote-hawk-indexers title="Permanent link">&para;</a></h2> <p>When creating a Hawk instance for the first time (using the dialog shown below), users can specify which factory will be used. The name of the selected factory will be saved into the configuration of the instance, allowing Hawk to recreate the instance in later executions without asking again. Hawk provides a default <code>LocalHawkFactory</code> whose <code>LocalHawk</code> instances operate in the current Java virtual machine. Users can also specify which Hawk components should be enabled.</p> <p><img alt="New instance dialog" src=../img/hawk-new-remote.png></p> <p>A factory can also be used to "import" instances that already exist but Hawk does not know about. For the local case, these would be instances that were previously removed from Eclipse but whose folders were not deleted. The Eclipse import dialog looks like this:</p> <p><img alt="Import instance dialog" src=../img/hawk-import-remote.png></p> <p>The "Thrift API integration for Hawk GUI" feature provides a plugin that contributes a new indexer factory, ThriftRemoteHawkFactory, which produces ThriftRemoteHawk instances that use ThriftRemoteModelIndexer indexers. When creating a new instance, the factory will use the createInstance operation to add the instance to the server. When used to "import", the remote factory retrieves the list of Hawk instances available on the server through the listInstances operation of the Thrift API. Management actions (such as starting or stopping the instance) and their results are likewise translated between the user interface and the Thrift API.</p> <p>The Hawk user interface provides live updates on the current state of each indexer, with short status messages and an indication of whether the indexer is stopped, running or updating. Management actions and queries are disabled during an update, to prevent data consistency issues. The Hawk indexer in the remote server talks to the client through an Artemis queue: please make sure Artemis has been set up correctly in the server (see <a href=../deployment/ >the setup guide</a>).</p> <p>All these aspects are transparent to the user: the only difference is selecting the appropriate "Instance type" in the new instance or import dialogs and entering the URL to the Hawk Thrift endpoint. If the remote instance type is chosen, Hawk will only list the Hawk components that are installed in the server, which may differ from those installed in the client.</p> <h2 id=editor-for-remote-model-access-descriptors>Editor for remote model access descriptors<a class=headerlink href=#editor-for-remote-model-access-descriptors title="Permanent link">&para;</a></h2> <p>There are many different use cases for retrieving models over the network, each with their own requirements. The EMF model abstraction uses a <code>.hawkmodel</code> model access descriptor to specify the exact configuration we want to use when fetching the model over the network. <code>.hawkmodel</code> files can be opened by any EMF-compatible tool and operate just like a regular model.</p> <p>To simplify the creation and maintenance of these <code>.hawkmodel</code> files, an Eclipse-based editor is provided in the "Remote Hawk EMF Model UI Feature". The editor is divided into three tabs: a form-based tab for editing most aspects of the descriptor in a controlled manner, another form-based tab for editing the effective metamodel to limit the contents of the model, and a text-based tab for editing the descriptor directly.</p> <h3 id=main-tab>Main tab<a class=headerlink href=#main-tab title="Permanent link">&para;</a></h3> <p>Here is a screenshot of the main tab:</p> <p><img alt=".hawkmodel editor" src=../img/hawk-descriptor-editor.png></p> <p>The main form-based tab is divided into three sections:</p> <ul> <li> <p>The "Instance" section provides connection details for the remote Hawk instance: the URL of the Thrift endpoint, the Thrift protocol to use (more details in D5.6) and the name of the Hawk instance within the server. "Instance name" can be clicked to open a selection dialog with all the available instances.</p> <p>The "Username" and "Password" fields only need to be filled in if using the <code>.hawkmodel</code> file outside Eclipse. When using the <code>.hawkmodel</code> inside Eclipse, the remote EMF abstraction will fall back on the credentials stored in the Eclipse secure store if needed.</p> </li> <li> <p>The "Contents" section allows for filtering the contents of the Hawk index to be read and changing how they should be loaded:</p> <ul> <li>By default, the entire index is retrieved (repository URL is '*', file pattern is '*' and no query is used). The "Repository URL", "File pattern(s)" and "Query language" labels can be clicked to open selection dialogs with the appropriate options.</li> <li>The default loading mode is "GREEDY" (send the entire contents of the model in one message), but various lazy loading modes are available.</li> <li>The contents of the index can be split over the different source files or not. While splitting by file is useful for browsing, some EMF-based tools may not be compatible with it.</li> <li>The "Default namespaces" field makes it possible to resolve ambiguous type names. For instance, both the IFC2x3 and the IFC4 metamodels have a type called <code>IfcActor</code>. Without this field, the query would need to specify which one of the two metamodels should be used on every reference to <code>IfcActor</code>, which is unwieldy and prone to mistakes. With this field filled, the query will be told to resolve ambiguous type references to those of the IFC2x3 metamodel.</li> <li>The "Page size for initial load" field can be set to a value other than 0, indicating that during the initial load of the model, its contents should not be sent in one response message, but rather divided into "pages" of a certain size. It was observed that a GREEDY loading mode with an adequate page size can be faster to load than a lazy loading mode, while still keeping server memory and bandwidth requirements under control.</li> </ul> </li> <li>The "Subscription" section allows users to enable live updates in the opened model through the <code>watchGraphChanges</code> operation and an Apache Artemis queue of a certain durability. In order to allow the server to recognize users that reconnect after a connection loss, a unique client ID should be provided.</li> </ul> <h3 id=effective-metamodel-tab>Effective metamodel tab<a class=headerlink href=#effective-metamodel-tab title="Permanent link">&para;</a></h3> <p>The effective metamodel editor tab presents a table that lists all the metamodels registered in the selected remote Hawk instance, their types, and their features (called "slots" by the Hawk API). It is structured as a tree with three levels, with the metamodels at the root level, the types inside the metamodels, and their slots inside the types.</p> <p><img alt="Effective metamodel editor" src=../img/hawk-emm-editor.png></p> <p>The implicit default is that all metamodels are completely included, but users can manually include or exclude certain metamodels, types or slots within the types. This can be done through drop-down selection lists on the "State" column of the table, or through the buttons on the right of the table:</p> <ul> <li>"Include all" resets the entire table to the default state of implicitly including everything.</li> <li>"Exclude all" resets the entire table to excluding all metamodels.</li> <li>"Exclude" and "Include" only change the state of the currently selected element.</li> <li>"Reset" returns the currently selected element to the "Default" state.</li> </ul> <p>The effective metamodel is saved as part of the <code>.hawkmodel</code> file, and uses both inclusion and exclusion rules to remain as compact as possible (as it will need to be sent over the network). The rules work as follows:</p> <ul> <li>A metamodel is included if it is "Included", or if it has the "Default" state and no metamodels are explicitly "Included".</li> <li>A type is included if it is not "Excluded" and its metamodel is included.</li> <li>A slot is included if it is not "Excluded" and its type is included.</li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../cli/ title="Console client" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Console client </span> </div> </a> <a href=../file-config/ title="File-based configuration" class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> File-based configuration </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/server/file-config/index.html b/server/file-config/index.html
index 3a78002..39ccb9a 100644
--- a/server/file-config/index.html
+++ b/server/file-config/index.html
@@ -1 +1 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>File-based configuration - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#format tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> File-based configuration </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> File-based configuration </label> <a href=./ title="File-based configuration" class="md-nav__link md-nav__link--active"> File-based configuration </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#format class=md-nav__link> Format </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#table-1-list-of-xml-elements-in-configuration-file class=md-nav__link> Table 1: List of XML elements in configuration file </a> </li> <li class=md-nav__item> <a href=#table-2-hawk-attributes class=md-nav__link> Table 2: ‘hawk’ attributes </a> </li> <li class=md-nav__item> <a href=#table-3-delay-attributes class=md-nav__link> Table 3: ‘delay’ attributes </a> </li> <li class=md-nav__item> <a href=#table-4-plugin-attributes class=md-nav__link> Table 4: ‘plugin’ attributes </a> </li> <li class=md-nav__item> <a href=#table-5-metamodel-attributes class=md-nav__link> Table 5: ‘metamodel’ attributes </a> </li> <li class=md-nav__item> <a href=#table-6-repository-attributes class=md-nav__link> Table 6: ‘repository’ attributes </a> </li> <li class=md-nav__item> <a href=#table-7-derivedattribute-attributes class=md-nav__link> Table 7: ‘derivedAttribute’ attributes </a> </li> <li class=md-nav__item> <a href=#table-8-derivation-attributes class=md-nav__link> Table 8: ‘derivation’ attributes </a> </li> <li class=md-nav__item> <a href=#table-9-indexedattribute-attributes class=md-nav__link> Table 9: ‘indexedAttribute’ attributes </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#location class=md-nav__link> Location </a> </li> <li class=md-nav__item> <a href=#how-to-useenable-hawk-instance-configuration-engine class=md-nav__link> How to use/enable Hawk instance configuration engine </a> </li> <li class=md-nav__item> <a href=#usage-notes class=md-nav__link> Usage Notes </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#format class=md-nav__link> Format </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#table-1-list-of-xml-elements-in-configuration-file class=md-nav__link> Table 1: List of XML elements in configuration file </a> </li> <li class=md-nav__item> <a href=#table-2-hawk-attributes class=md-nav__link> Table 2: ‘hawk’ attributes </a> </li> <li class=md-nav__item> <a href=#table-3-delay-attributes class=md-nav__link> Table 3: ‘delay’ attributes </a> </li> <li class=md-nav__item> <a href=#table-4-plugin-attributes class=md-nav__link> Table 4: ‘plugin’ attributes </a> </li> <li class=md-nav__item> <a href=#table-5-metamodel-attributes class=md-nav__link> Table 5: ‘metamodel’ attributes </a> </li> <li class=md-nav__item> <a href=#table-6-repository-attributes class=md-nav__link> Table 6: ‘repository’ attributes </a> </li> <li class=md-nav__item> <a href=#table-7-derivedattribute-attributes class=md-nav__link> Table 7: ‘derivedAttribute’ attributes </a> </li> <li class=md-nav__item> <a href=#table-8-derivation-attributes class=md-nav__link> Table 8: ‘derivation’ attributes </a> </li> <li class=md-nav__item> <a href=#table-9-indexedattribute-attributes class=md-nav__link> Table 9: ‘indexedAttribute’ attributes </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#location class=md-nav__link> Location </a> </li> <li class=md-nav__item> <a href=#how-to-useenable-hawk-instance-configuration-engine class=md-nav__link> How to use/enable Hawk instance configuration engine </a> </li> <li class=md-nav__item> <a href=#usage-notes class=md-nav__link> Usage Notes </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>File-based configuration</h1> <p>Hawk server includes an API to add Hawk instances that are used to index and query models. The configuration engine allows the server to create and configure Hawk instances as per user-created configuration files. The server should be ready to receive user queries upon startup without any interaction from user or clients. Upon startup, Hawk server reads and parses configuration files, and then it creates/updates hawk instances as per configuration files. </p> <p>NOTE: the Hawk server no longer writes to configuration files. If an instance configuration changes during operation, this configuration is persisted through the current HawkConfig mechanism. Configuration files will not overwrite any of the changed settings. The only exception is the polling min/max which will revert to config file settings if a server is restarted.</p> <h2 id=format>Format<a class=headerlink href=#format title="Permanent link">&para;</a></h2> <p>Configuration files are XML files that define hawk instance name and its configuration. An XML schema can be found at <a href=https://github.com/Orjuwan-alwadeai/mondo-hawk/releases/download/v1.1.0-201708-interim/HawkServerConfigurationSchema.xsd>HawkServerConfigurationSchema.xsd</a>. A sample configuration file can be found at <a href=https://github.com/Orjuwan-alwadeai/mondo-hawk/releases/download/v1.1.0-201708-interim/Sample_config_file.xml>Sample Configuration File</a></p> <p>The XML should include the following elements:</p> <h3 id=table-1-list-of-xml-elements-in-configuration-file>Table 1: List of XML elements in configuration file<a class=headerlink href=#table-1-list-of-xml-elements-in-configuration-file title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Parent Element Name</th> <th>multiplicity</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>‘hawk’</td> <td>xml</td> <td>1</td> <td>None</td> <td>Root element</td> </tr> <tr> <td>‘delay’</td> <td>‘hawk’</td> <td>1</td> <td>None</td> <td>Polling configuration</td> </tr> <tr> <td>‘plugins’</td> <td>‘hawk’</td> <td>0-1</td> <td>None</td> <td>List of plugins (to be/that are) enabled</td> </tr> <tr> <td>‘plugin’</td> <td>‘plugins’</td> <td>0-*</td> <td>None</td> <td>Plugin name</td> </tr> <tr> <td>‘metamodels’</td> <td>‘hawk’</td> <td>0-1</td> <td>None</td> <td>List of metamodels (to be/that are) registered</td> </tr> <tr> <td>‘metamodel’</td> <td>‘metamodels’</td> <td>0-*</td> <td>None</td> <td>Metamodel parameters</td> </tr> <tr> <td>‘repositories’</td> <td>‘hawk’</td> <td>0-1</td> <td>None</td> <td>List of repositories (to be/that are) added</td> </tr> <tr> <td>‘repository’</td> <td>‘repositories’</td> <td>0-*</td> <td>None</td> <td>Repository parameters</td> </tr> <tr> <td>‘derivedAttributes’</td> <td>‘hawk’</td> <td>0-1</td> <td>None</td> <td>List of derived attributes (to be/that are) added</td> </tr> <tr> <td>‘derivedAttribute’</td> <td>‘derivedAttributes’</td> <td>0-*</td> <td>None</td> <td>Derived attribute parameters</td> </tr> <tr> <td>‘derivation’</td> <td>‘derivedAttribute’</td> <td>0-1</td> <td>None</td> <td>Derivation parameters</td> </tr> <tr> <td>‘logic’</td> <td>‘derivation’</td> <td>0-1</td> <td>CDATA section</td> <td>An executable expression of the derivation logic in the language specified.</td> </tr> <tr> <td>‘indexedAttributes’</td> <td>‘hawk’</td> <td>0-1</td> <td>None</td> <td>List of indexed attributes (to be/that are) added</td> </tr> <tr> <td>‘indexedAttribute’</td> <td>‘indexedAttributes’</td> <td>0-*</td> <td>None</td> <td>Indexed attribute parameters</td> </tr> </tbody> </table> <h3 id=table-2-hawk-attributes>Table 2: ‘hawk’ attributes<a class=headerlink href=#table-2-hawk-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘hawk’</strong></td> <td>‘name’</td> <td>Required</td> <td>String</td> <td>The unique name of the new Hawk instance</td> </tr> <tr> <td></td> <td>‘backend’</td> <td>Required</td> <td>String</td> <td>The name of the backend to be used (e.g.org.hawk.orientdb.OrientDatabase, org.hawk.orientdb.RemoteOrientDatabase)</td> </tr> </tbody> </table> <h3 id=table-3-delay-attributes>Table 3: ‘delay’ attributes<a class=headerlink href=#table-3-delay-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘delay’</strong></td> <td>‘min’</td> <td>Required</td> <td>String</td> <td>Minimum delay between periodic synchronization in milliseconds</td> </tr> <tr> <td></td> <td>‘max’</td> <td>Required</td> <td>String</td> <td>Maximum delay between periodic synchronization in milliseconds (0 to disable periodic synchronization)</td> </tr> </tbody> </table> <h3 id=table-4-plugin-attributes>Table 4: ‘plugin’ attributes<a class=headerlink href=#table-4-plugin-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘plugin’</strong></td> <td>‘name’</td> <td>Required</td> <td>String</td> <td>e.g. (org.hawk.modelio.exml.listeners.ModelioGraphChangeListener, org.hawk.modelio.exml.metamodel.ModelioMetaModelResourceFactory, org.hawk.modelio.exml.model.ModelioModelResourceFactory)</td> </tr> </tbody> </table> <h3 id=table-5-metamodel-attributes>Table 5: ‘metamodel’ attributes<a class=headerlink href=#table-5-metamodel-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘metamodel’</strong></td> <td>‘location’</td> <td>Optional</td> <td>String</td> <td>Location of metamodel file to be registered</td> </tr> <tr> <td></td> <td>~~‘uri’~~</td> <td>~~Optional~~</td> <td>~~String~~</td> <td>~~Metamodel URI. This value is set automatically by server to list registered metamodels~~</td> </tr> </tbody> </table> <h3 id=table-6-repository-attributes>Table 6: ‘repository’ attributes<a class=headerlink href=#table-6-repository-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘repository’</strong></td> <td>‘location’</td> <td>Required</td> <td>String</td> <td>Location of the repository</td> </tr> <tr> <td></td> <td>‘type’</td> <td>Optional</td> <td>String</td> <td>The type of repository available repository types ()</td> </tr> <tr> <td></td> <td>‘user’</td> <td>Optional</td> <td>String</td> <td>Username for logging into the VCS</td> </tr> <tr> <td></td> <td>‘pass’</td> <td>Optional</td> <td>String</td> <td>Password for logging into the VCS</td> </tr> <tr> <td></td> <td>‘frozen’</td> <td>Optional</td> <td>String</td> <td>If the repository is frozen (true/false)</td> </tr> </tbody> </table> <h3 id=table-7-derivedattribute-attributes>Table 7: ‘derivedAttribute’ attributes<a class=headerlink href=#table-7-derivedattribute-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘derivedAttribute’</strong></td> <td>‘attributeName’</td> <td>Required</td> <td>String</td> <td>The name of the derived attribute</td> </tr> <tr> <td></td> <td>‘typeName’</td> <td>Required</td> <td>String</td> <td>The name of the type to which the derived attribute belongs</td> </tr> <tr> <td></td> <td>‘metamodelUri’</td> <td>Required</td> <td>String</td> <td>The URI of the metamodel to which the de- rived attribute belongs</td> </tr> <tr> <td></td> <td>‘attributeType’</td> <td>Optional</td> <td>String</td> <td>The (primitive) type of the derived attribute</td> </tr> <tr> <td></td> <td>‘isOrdered’</td> <td>Optional</td> <td>String</td> <td>A flag specifying whether the order of the values of the derived attribute is significant (only makes sense when isMany=true)</td> </tr> <tr> <td></td> <td>‘isUnique’</td> <td>Optional</td> <td>String</td> <td>A flag specifying whether the the values of the derived attribute are unique (only makes sense when isMany=true)</td> </tr> <tr> <td></td> <td>‘isMany’</td> <td>Optional</td> <td>String</td> <td>The multiplicity of the derived attribute</td> </tr> </tbody> </table> <h3 id=table-8-derivation-attributes>Table 8: ‘derivation’ attributes<a class=headerlink href=#table-8-derivation-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘derivation’</strong></td> <td>‘language’</td> <td>Required</td> <td>String</td> <td>The language used to express the derivation logic. Available labguages in Hawk: org.hawk.epsilon.emc.EOLQueryEngine, org.hawk.orientdb.query.OrientSQLQueryEngine, org.hawk.epsilon.emc.EPLQueryEngine</td> </tr> </tbody> </table> <h3 id=table-9-indexedattribute-attributes>Table 9: ‘indexedAttribute’ attributes<a class=headerlink href=#table-9-indexedattribute-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘indexedAttribute’</strong></td> <td>‘attributeName’</td> <td>Required</td> <td>String</td> <td>The name of the indexed attribute.</td> </tr> <tr> <td></td> <td>‘typeName’</td> <td>Required</td> <td>String</td> <td>The name of the type to which the indexed attribute</td> </tr> <tr> <td></td> <td>‘metamodelUri’</td> <td>Required</td> <td>String</td> <td>The URI of the metamodel to which the indexed attribute belongs.</td> </tr> </tbody> </table> <h2 id=location>Location<a class=headerlink href=#location title="Permanent link">&para;</a></h2> <p>Configuration files are expected to be located in the ‘configuration’ folder in the server’s home directory. Each Hawk instance should have its own configuration file. There are no rules on how the file should be named. It is a good practice to include hawk instance name in the file name for easy recognition. <img alt src=../img/config-file-location.png></p> <h2 id=how-to-useenable-hawk-instance-configuration-engine>How to use/enable Hawk instance configuration engine<a class=headerlink href=#how-to-useenable-hawk-instance-configuration-engine title="Permanent link">&para;</a></h2> <p>You can follow <a href=https://youtu.be/swAgG8v-lLU>this video tutorial</a>, or alternatively follow these steps:</p> <ol> <li>Download the hawk-server-*.zip file for your operating system and architecture of choice from <a href=https://github.com/Orjuwan-alwadeai/mondo-hawk/releases/tag/v1.1.0-201708-interim>Hawk Server With Configuration</a>)</li> <li>Create a configuration file for each instance required to run in the Hawk server. </li> <li>Edit configuration files: </li> <li>Set instance name, backend, delay</li> <li>Add list of plugins to be enabled</li> <li>Add metamodel file to location to be registered</li> <li>Add repositories that are to be indexed </li> <li>Add any required derived attributes</li> <li>Add any required indexed attributes</li> <li>Save the configuration files to the ‘configuration’ folder in the server’s home directory (see figure 1)</li> <li>Perform any other configuration that are required by Hawk Server and start the server (by following instructions at <a href=https://github.com/mondo-project/mondo-hawk/wiki/Deploying-and-running-the-server>Deploying-and-running-the-server</a>)</li> <li>Check if the hawk instances are added and running by typing ‘hawkListInstances’ in the server’s command terminal: <img alt src=../img/hawklistinstances.png></li> </ol> <h2 id=usage-notes>Usage Notes<a class=headerlink href=#usage-notes title="Permanent link">&para;</a></h2> <ul> <li> <p>Deleting configuration files from the directory will not delete instances from the server. However, the server will not start those instances.</p> </li> <li> <p>To test Hawk server with Measure Platform, refer to <a href=https://github.com/Orjuwan-alwadeai/HawkQuerySMMMMeasureLib/wiki/Using-HawkQueryMeasure--to-query-Hawk-instance-running-in-Hawk-Server>Using HawkQueryMeasure to query Hawk instance running in Hawk Server</a></p> </li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../eclipse/ title="Eclipse client" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Eclipse client </span> </div> </a> <a href=../logging/ title=Logging class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Logging </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>File-based configuration - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <a href=#format tabindex=1 class=md-skip> Skip to content </a> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> File-based configuration </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> File-based configuration </label> <a href=./ title="File-based configuration" class="md-nav__link md-nav__link--active"> File-based configuration </a> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#format class=md-nav__link> Format </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#table-1-list-of-xml-elements-in-configuration-file class=md-nav__link> Table 1: List of XML elements in configuration file </a> </li> <li class=md-nav__item> <a href=#table-2-hawk-attributes class=md-nav__link> Table 2: ‘hawk’ attributes </a> </li> <li class=md-nav__item> <a href=#table-3-delay-attributes class=md-nav__link> Table 3: ‘delay’ attributes </a> </li> <li class=md-nav__item> <a href=#table-4-plugin-attributes class=md-nav__link> Table 4: ‘plugin’ attributes </a> </li> <li class=md-nav__item> <a href=#table-5-metamodel-attributes class=md-nav__link> Table 5: ‘metamodel’ attributes </a> </li> <li class=md-nav__item> <a href=#table-6-repository-attributes class=md-nav__link> Table 6: ‘repository’ attributes </a> </li> <li class=md-nav__item> <a href=#table-7-derivedattribute-attributes class=md-nav__link> Table 7: ‘derivedAttribute’ attributes </a> </li> <li class=md-nav__item> <a href=#table-8-derivation-attributes class=md-nav__link> Table 8: ‘derivation’ attributes </a> </li> <li class=md-nav__item> <a href=#table-9-indexedattribute-attributes class=md-nav__link> Table 9: ‘indexedAttribute’ attributes </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#location class=md-nav__link> Location </a> </li> <li class=md-nav__item> <a href=#how-to-useenable-hawk-instance-configuration-engine class=md-nav__link> How to use/enable Hawk instance configuration engine </a> </li> <li class=md-nav__item> <a href=#usage-notes class=md-nav__link> Usage Notes </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../logging/ title=Logging class=md-nav__link> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc>Table of contents</label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=#format class=md-nav__link> Format </a> <nav class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a href=#table-1-list-of-xml-elements-in-configuration-file class=md-nav__link> Table 1: List of XML elements in configuration file </a> </li> <li class=md-nav__item> <a href=#table-2-hawk-attributes class=md-nav__link> Table 2: ‘hawk’ attributes </a> </li> <li class=md-nav__item> <a href=#table-3-delay-attributes class=md-nav__link> Table 3: ‘delay’ attributes </a> </li> <li class=md-nav__item> <a href=#table-4-plugin-attributes class=md-nav__link> Table 4: ‘plugin’ attributes </a> </li> <li class=md-nav__item> <a href=#table-5-metamodel-attributes class=md-nav__link> Table 5: ‘metamodel’ attributes </a> </li> <li class=md-nav__item> <a href=#table-6-repository-attributes class=md-nav__link> Table 6: ‘repository’ attributes </a> </li> <li class=md-nav__item> <a href=#table-7-derivedattribute-attributes class=md-nav__link> Table 7: ‘derivedAttribute’ attributes </a> </li> <li class=md-nav__item> <a href=#table-8-derivation-attributes class=md-nav__link> Table 8: ‘derivation’ attributes </a> </li> <li class=md-nav__item> <a href=#table-9-indexedattribute-attributes class=md-nav__link> Table 9: ‘indexedAttribute’ attributes </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#location class=md-nav__link> Location </a> </li> <li class=md-nav__item> <a href=#how-to-useenable-hawk-instance-configuration-engine class=md-nav__link> How to use/enable Hawk instance configuration engine </a> </li> <li class=md-nav__item> <a href=#usage-notes class=md-nav__link> Usage Notes </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>File-based configuration</h1> <p>Hawk server includes an API to add Hawk instances that are used to index and query models. The configuration engine allows the server to create and configure Hawk instances as per user-created configuration files. The server should be ready to receive user queries upon startup without any interaction from user or clients. Upon startup, Hawk server reads and parses configuration files, and then it creates/updates hawk instances as per configuration files. </p> <p>NOTE: the Hawk server no longer writes to configuration files. If an instance configuration changes during operation, this configuration is persisted through the current HawkConfig mechanism. Configuration files will not overwrite any of the changed settings. The only exception is the polling min/max which will revert to config file settings if a server is restarted.</p> <h2 id=format>Format<a class=headerlink href=#format title="Permanent link">&para;</a></h2> <p>Configuration files are XML files that define hawk instance name and its configuration. An XML schema can be found at <a href=https://github.com/Orjuwan-alwadeai/mondo-hawk/releases/download/v1.1.0-201708-interim/HawkServerConfigurationSchema.xsd>HawkServerConfigurationSchema.xsd</a>. A sample configuration file can be found at <a href=https://github.com/Orjuwan-alwadeai/mondo-hawk/releases/download/v1.1.0-201708-interim/Sample_config_file.xml>Sample Configuration File</a></p> <p>The XML should include the following elements:</p> <h3 id=table-1-list-of-xml-elements-in-configuration-file>Table 1: List of XML elements in configuration file<a class=headerlink href=#table-1-list-of-xml-elements-in-configuration-file title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Parent Element Name</th> <th>multiplicity</th> <th>Value</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td>‘hawk’</td> <td>xml</td> <td>1</td> <td>None</td> <td>Root element</td> </tr> <tr> <td>‘delay’</td> <td>‘hawk’</td> <td>1</td> <td>None</td> <td>Polling configuration</td> </tr> <tr> <td>‘plugins’</td> <td>‘hawk’</td> <td>0-1</td> <td>None</td> <td>List of plugins (to be/that are) enabled</td> </tr> <tr> <td>‘plugin’</td> <td>‘plugins’</td> <td>0-*</td> <td>None</td> <td>Plugin name</td> </tr> <tr> <td>‘metamodels’</td> <td>‘hawk’</td> <td>0-1</td> <td>None</td> <td>List of metamodels (to be/that are) registered</td> </tr> <tr> <td>‘metamodel’</td> <td>‘metamodels’</td> <td>0-*</td> <td>None</td> <td>Metamodel parameters</td> </tr> <tr> <td>‘repositories’</td> <td>‘hawk’</td> <td>0-1</td> <td>None</td> <td>List of repositories (to be/that are) added</td> </tr> <tr> <td>‘repository’</td> <td>‘repositories’</td> <td>0-*</td> <td>None</td> <td>Repository parameters</td> </tr> <tr> <td>‘derivedAttributes’</td> <td>‘hawk’</td> <td>0-1</td> <td>None</td> <td>List of derived attributes (to be/that are) added</td> </tr> <tr> <td>‘derivedAttribute’</td> <td>‘derivedAttributes’</td> <td>0-*</td> <td>None</td> <td>Derived attribute parameters</td> </tr> <tr> <td>‘derivation’</td> <td>‘derivedAttribute’</td> <td>0-1</td> <td>None</td> <td>Derivation parameters</td> </tr> <tr> <td>‘logic’</td> <td>‘derivation’</td> <td>0-1</td> <td>CDATA section</td> <td>An executable expression of the derivation logic in the language specified.</td> </tr> <tr> <td>‘indexedAttributes’</td> <td>‘hawk’</td> <td>0-1</td> <td>None</td> <td>List of indexed attributes (to be/that are) added</td> </tr> <tr> <td>‘indexedAttribute’</td> <td>‘indexedAttributes’</td> <td>0-*</td> <td>None</td> <td>Indexed attribute parameters</td> </tr> </tbody> </table> <h3 id=table-2-hawk-attributes>Table 2: ‘hawk’ attributes<a class=headerlink href=#table-2-hawk-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘hawk’</strong></td> <td>‘name’</td> <td>Required</td> <td>String</td> <td>The unique name of the new Hawk instance</td> </tr> <tr> <td></td> <td>‘backend’</td> <td>Required</td> <td>String</td> <td>The name of the backend to be used (e.g.org.hawk.orientdb.OrientDatabase, org.hawk.orientdb.RemoteOrientDatabase)</td> </tr> </tbody> </table> <h3 id=table-3-delay-attributes>Table 3: ‘delay’ attributes<a class=headerlink href=#table-3-delay-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘delay’</strong></td> <td>‘min’</td> <td>Required</td> <td>String</td> <td>Minimum delay between periodic synchronization in milliseconds</td> </tr> <tr> <td></td> <td>‘max’</td> <td>Required</td> <td>String</td> <td>Maximum delay between periodic synchronization in milliseconds (0 to disable periodic synchronization)</td> </tr> </tbody> </table> <h3 id=table-4-plugin-attributes>Table 4: ‘plugin’ attributes<a class=headerlink href=#table-4-plugin-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘plugin’</strong></td> <td>‘name’</td> <td>Required</td> <td>String</td> <td>e.g. (org.hawk.modelio.exml.listeners.ModelioGraphChangeListener, org.hawk.modelio.exml.metamodel.ModelioMetaModelResourceFactory, org.hawk.modelio.exml.model.ModelioModelResourceFactory)</td> </tr> </tbody> </table> <h3 id=table-5-metamodel-attributes>Table 5: ‘metamodel’ attributes<a class=headerlink href=#table-5-metamodel-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘metamodel’</strong></td> <td>‘location’</td> <td>Optional</td> <td>String</td> <td>Location of metamodel file to be registered</td> </tr> <tr> <td></td> <td>~~‘uri’~~</td> <td>~~Optional~~</td> <td>~~String~~</td> <td>~~Metamodel URI. This value is set automatically by server to list registered metamodels~~</td> </tr> </tbody> </table> <h3 id=table-6-repository-attributes>Table 6: ‘repository’ attributes<a class=headerlink href=#table-6-repository-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘repository’</strong></td> <td>‘location’</td> <td>Required</td> <td>String</td> <td>Location of the repository</td> </tr> <tr> <td></td> <td>‘type’</td> <td>Optional</td> <td>String</td> <td>The type of repository available repository types ()</td> </tr> <tr> <td></td> <td>‘user’</td> <td>Optional</td> <td>String</td> <td>Username for logging into the VCS</td> </tr> <tr> <td></td> <td>‘pass’</td> <td>Optional</td> <td>String</td> <td>Password for logging into the VCS</td> </tr> <tr> <td></td> <td>‘frozen’</td> <td>Optional</td> <td>String</td> <td>If the repository is frozen (true/false)</td> </tr> </tbody> </table> <h3 id=table-7-derivedattribute-attributes>Table 7: ‘derivedAttribute’ attributes<a class=headerlink href=#table-7-derivedattribute-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘derivedAttribute’</strong></td> <td>‘attributeName’</td> <td>Required</td> <td>String</td> <td>The name of the derived attribute</td> </tr> <tr> <td></td> <td>‘typeName’</td> <td>Required</td> <td>String</td> <td>The name of the type to which the derived attribute belongs</td> </tr> <tr> <td></td> <td>‘metamodelUri’</td> <td>Required</td> <td>String</td> <td>The URI of the metamodel to which the de- rived attribute belongs</td> </tr> <tr> <td></td> <td>‘attributeType’</td> <td>Optional</td> <td>String</td> <td>The (primitive) type of the derived attribute</td> </tr> <tr> <td></td> <td>‘isOrdered’</td> <td>Optional</td> <td>String</td> <td>A flag specifying whether the order of the values of the derived attribute is significant (only makes sense when isMany=true)</td> </tr> <tr> <td></td> <td>‘isUnique’</td> <td>Optional</td> <td>String</td> <td>A flag specifying whether the the values of the derived attribute are unique (only makes sense when isMany=true)</td> </tr> <tr> <td></td> <td>‘isMany’</td> <td>Optional</td> <td>String</td> <td>The multiplicity of the derived attribute</td> </tr> </tbody> </table> <h3 id=table-8-derivation-attributes>Table 8: ‘derivation’ attributes<a class=headerlink href=#table-8-derivation-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘derivation’</strong></td> <td>‘language’</td> <td>Required</td> <td>String</td> <td>The language used to express the derivation logic. Available labguages in Hawk: org.hawk.epsilon.emc.EOLQueryEngine, org.hawk.orientdb.query.OrientSQLQueryEngine, org.hawk.epsilon.emc.EPLQueryEngine</td> </tr> </tbody> </table> <h3 id=table-9-indexedattribute-attributes>Table 9: ‘indexedAttribute’ attributes<a class=headerlink href=#table-9-indexedattribute-attributes title="Permanent link">&para;</a></h3> <table> <thead> <tr> <th>Element Name</th> <th>Attribute name</th> <th>Optional/Required</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><strong>‘indexedAttribute’</strong></td> <td>‘attributeName’</td> <td>Required</td> <td>String</td> <td>The name of the indexed attribute.</td> </tr> <tr> <td></td> <td>‘typeName’</td> <td>Required</td> <td>String</td> <td>The name of the type to which the indexed attribute</td> </tr> <tr> <td></td> <td>‘metamodelUri’</td> <td>Required</td> <td>String</td> <td>The URI of the metamodel to which the indexed attribute belongs.</td> </tr> </tbody> </table> <h2 id=location>Location<a class=headerlink href=#location title="Permanent link">&para;</a></h2> <p>Configuration files are expected to be located in the ‘configuration’ folder in the server’s home directory. Each Hawk instance should have its own configuration file. There are no rules on how the file should be named. It is a good practice to include hawk instance name in the file name for easy recognition. <img alt src=../img/config-file-location.png></p> <h2 id=how-to-useenable-hawk-instance-configuration-engine>How to use/enable Hawk instance configuration engine<a class=headerlink href=#how-to-useenable-hawk-instance-configuration-engine title="Permanent link">&para;</a></h2> <p>You can follow <a href=https://youtu.be/swAgG8v-lLU>this video tutorial</a>, or alternatively follow these steps:</p> <ol> <li>Download the hawk-server-*.zip file for your operating system and architecture of choice from <a href=https://github.com/Orjuwan-alwadeai/mondo-hawk/releases/tag/v1.1.0-201708-interim>Hawk Server With Configuration</a>)</li> <li>Create a configuration file for each instance required to run in the Hawk server. </li> <li>Edit configuration files: </li> <li>Set instance name, backend, delay</li> <li>Add list of plugins to be enabled</li> <li>Add metamodel file to location to be registered</li> <li>Add repositories that are to be indexed </li> <li>Add any required derived attributes</li> <li>Add any required indexed attributes</li> <li>Save the configuration files to the ‘configuration’ folder in the server’s home directory (see figure 1)</li> <li>Perform any other configuration that are required by Hawk Server and start the server (by following instructions at <a href=https://github.com/mondo-project/mondo-hawk/wiki/Deploying-and-running-the-server>Deploying-and-running-the-server</a>)</li> <li>Check if the hawk instances are added and running by typing ‘hawkListInstances’ in the server’s command terminal: <img alt src=../img/hawklistinstances.png></li> </ol> <h2 id=usage-notes>Usage Notes<a class=headerlink href=#usage-notes title="Permanent link">&para;</a></h2> <ul> <li> <p>Deleting configuration files from the directory will not delete instances from the server. However, the server will not start those instances.</p> </li> <li> <p>To test Hawk server with Measure Platform, refer to <a href=https://github.com/Orjuwan-alwadeai/HawkQuerySMMMMeasureLib/wiki/Using-HawkQueryMeasure--to-query-Hawk-instance-running-in-Hawk-Server>Using HawkQueryMeasure to query Hawk instance running in Hawk Server</a></p> </li> </ul> </article> </div> </div> </main> <footer class=md-footer> <div class=md-footer-nav> <nav class="md-footer-nav__inner md-grid"> <a href=../eclipse/ title="Eclipse client" class="md-flex md-footer-nav__link md-footer-nav__link--prev" rel=prev> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-back md-footer-nav__button"></i> </div> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Previous </span> Eclipse client </span> </div> </a> <a href=../logging/ title=Logging class="md-flex md-footer-nav__link md-footer-nav__link--next" rel=next> <div class="md-flex__cell md-flex__cell--stretch md-footer-nav__title"> <span class=md-flex__ellipsis> <span class=md-footer-nav__direction> Next </span> Logging </span> </div> <div class="md-flex__cell md-flex__cell--shrink"> <i class="md-icon md-icon--arrow-forward md-footer-nav__button"></i> </div> </a> </nav> </div> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-footer-copyright> <div class=md-footer-copyright__highlight> Copyright © Eclipse Foundation, Inc. All Rights Reserved. </div> powered by <a href=https://www.mkdocs.org>MkDocs</a> and <a href=https://squidfunk.github.io/mkdocs-material/ > Material for MkDocs</a> </div> <div class="md-footer-copyright hawk-eclipse-links"> <ul> <li><a href=https://www.eclipse.org/legal/privacy.php>Privacy Policy</a></li> <li><a href=https://www.eclipse.org/legal/termsofuse.php>Terms of Use</a></li> <li><a href=https://www.eclipse.org/legal/copyright.php>Copyright Agent</a></li> </ul> </div> </div> </div> </footer> </div> <script src=../../assets/javascripts/application.c648116f.js></script> <script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script> </body> </html>
\ No newline at end of file
diff --git a/server/logging/index.html b/server/logging/index.html
index 74bd83c..c154b9a 100644
--- a/server/logging/index.html
+++ b/server/logging/index.html
@@ -1,4 +1,4 @@
-<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Logging - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Logging </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../img/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title=Logging class="md-nav__link md-nav__link--active"> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Logging</h1> <p>Logging in Hawk is done through the <a href=https://logback.qos.ch/ >Logback</a> library. The specific <code>logback.xml</code> file is part of the <code>org.hawk.service.server.logback</code> plugin fragment. If you need to edit it, it is located in the <code>plugins/org.hawk.service.server.logback_&lt;HAWK RELEASE&gt;</code> folder from the main directory of the server.</p> <p>A typical configuration with Hawk logging at the DEBUG level, with time-based rolling and all messages going to the <code>hawk.log</code> file would look as follows:</p> <div class=codehilite><pre><span></span><span class=nt>&lt;configuration&gt;</span>
+<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=lang:clipboard.copy content="Copy to clipboard"><meta name=lang:clipboard.copied content="Copied to clipboard"><meta name=lang:search.language content=en><meta name=lang:search.pipeline.stopwords content=True><meta name=lang:search.pipeline.trimmer content=True><meta name=lang:search.result.none content="No matching documents"><meta name=lang:search.result.one content="1 matching document"><meta name=lang:search.result.other content="# matching documents"><meta name=lang:search.tokenizer content=[\s\-]+><link rel="shortcut icon" href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.0.4, mkdocs-material-4.4.2"><title>Logging - Eclipse Hawk</title><link rel=stylesheet href=../../assets/stylesheets/application.30686662.css><link rel=stylesheet href=../../assets/stylesheets/application-palette.a8b3c06d.css><meta name=theme-color content=#7e57c2><script src=../../assets/javascripts/modernizr.74668098.js></script><link href=https://fonts.gstatic.com rel=preconnect crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,400,400i,700|Roboto+Mono&display=fallback"><style>body,input{font-family:"Roboto","Helvetica Neue",Helvetica,Arial,sans-serif}code,kbd,pre{font-family:"Roboto Mono","Courier New",Courier,monospace}</style><link rel=stylesheet href=../../assets/fonts/material-icons.css><link rel=stylesheet href=../../stylesheets/extra.css><!-- FAVICON --><link rel=apple-touch-icon sizes=180x180 href=/img/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/img/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/img/favicon-16x16.png><link rel=manifest href=/img/site.webmanifest><link rel=mask-icon href=/img/safari-pinned-tab.svg color=#5bbad5><link rel="shortcut icon" href=/img/favicon.ico><meta name=msapplication-TileColor content=#b91d47><meta name=msapplication-config content=/img/browserconfig.xml><meta name=theme-color content=#ffffff></head> <body dir=ltr data-md-color-primary=deep-purple data-md-color-accent=deep-purple> <svg class=md-svg> <defs> </defs> </svg> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay data-md-component=overlay for=__drawer></label> <header class=md-header data-md-component=header> <nav class="md-header-nav md-grid"> <div class=md-flex> <div class="md-flex__cell md-flex__cell--shrink"> <a href=../.. title="Eclipse Hawk" class="md-header-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=24 height=24> </a> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--menu md-header-nav__button" for=__drawer></label> </div> <div class="md-flex__cell md-flex__cell--stretch"> <div class="md-flex__ellipsis md-header-nav__title" data-md-component=title> <span class=md-header-nav__topic> Eclipse Hawk </span> <span class=md-header-nav__topic> Logging </span> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <label class="md-icon md-icon--search md-header-nav__button" for=__search></label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=query data-md-state=active> <label class="md-icon md-search__icon" for=__search></label> <button type=reset class="md-icon md-search__icon" data-md-component=reset tabindex=-1> &#xE5CD; </button> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix> <div class=md-search-result data-md-component=result> <div class=md-search-result__meta> Type to start searching </div> <ol class=md-search-result__list></ol> </div> </div> </div> </div> </div> </div> <div class="md-flex__cell md-flex__cell--shrink"> <div class=md-header-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> </div> </div> </nav> </header> <div class=md-container> <main class=md-main role=main> <div class="md-main__inner md-grid" data-md-component=container> <div class="md-sidebar md-sidebar--primary" data-md-component=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary" data-md-level=0> <label class="md-nav__title md-nav__title--site" for=__drawer> <a href=../.. title="Eclipse Hawk" class="md-nav__button md-logo"> <img src=../../assets/images/hawk-logo-white.svg width=48 height=48> </a> Eclipse Hawk </label> <div class=md-nav__source> <a href=https://git.eclipse.org/c/hawk/hawk.git/ title="Go to repository" class=md-source data-md-source> <div class=md-source__repository> Git repository @ Eclipse </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. title=Home class=md-nav__link> Home </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-2 type=checkbox id=nav-2> <label class=md-nav__link for=nav-2> Basic use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-2> Basic use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../basic-use/installation/ title=Installation class=md-nav__link> Installation </a> </li> <li class=md-nav__item> <a href=../../basic-use/core-concepts/ title="Core concepts" class=md-nav__link> Core concepts </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-xmi/ title="Examples (XMI)" class=md-nav__link> Examples (XMI) </a> </li> <li class=md-nav__item> <a href=../../basic-use/examples-modelio/ title="Examples (Modelio)" class=md-nav__link> Examples (Modelio) </a> </li> <li class=md-nav__item> <a href=../../basic-use/papyrus/ title="Papyrus UML support" class=md-nav__link> Papyrus UML support </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-3 type=checkbox id=nav-3> <label class=md-nav__link for=nav-3> Advanced use </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-3> Advanced use </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../advanced-use/graph-as-emf/ title="Graph as EMF model" class=md-nav__link> Graph as EMF model </a> </li> <li class=md-nav__item> <a href=../../advanced-use/advanced-props/ title="Advanced properties" class=md-nav__link> Advanced properties </a> </li> <li class=md-nav__item> <a href=../../advanced-use/meta-queries/ title="Meta-level queries" class=md-nav__link> Meta-level queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/temporal-queries/ title="Temporal queries" class=md-nav__link> Temporal queries </a> </li> <li class=md-nav__item> <a href=../../advanced-use/oomph/ title="Oomph and Hawk" class=md-nav__link> Oomph and Hawk </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-4 type=checkbox id=nav-4 checked> <label class=md-nav__link for=nav-4> Server </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-4> Server </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ title=Architecture class=md-nav__link> Architecture </a> </li> <li class=md-nav__item> <a href=../api/ title="Thrift API" class=md-nav__link> Thrift API </a> </li> <li class=md-nav__item> <a href=../api-security/ title="Thrift API security" class=md-nav__link> Thrift API security </a> </li> <li class=md-nav__item> <a href=../deployment/ title=Deployment class=md-nav__link> Deployment </a> </li> <li class=md-nav__item> <a href=../cli/ title="Console client" class=md-nav__link> Console client </a> </li> <li class=md-nav__item> <a href=../eclipse/ title="Eclipse client" class=md-nav__link> Eclipse client </a> </li> <li class=md-nav__item> <a href=../file-config/ title="File-based configuration" class=md-nav__link> File-based configuration </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-toggle md-nav__toggle" data-md-toggle=toc type=checkbox id=__toc> <a href=./ title=Logging class="md-nav__link md-nav__link--active"> Logging </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-toggle md-nav__toggle" data-md-toggle=nav-5 type=checkbox id=nav-5> <label class=md-nav__link for=nav-5> Developers </label> <nav class=md-nav data-md-component=collapsible data-md-level=1> <label class=md-nav__title for=nav-5> Developers </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../developers/run-from-source/ title="Run GUI from source" class=md-nav__link> Run GUI from source </a> </li> <li class=md-nav__item> <a href=../../developers/server-from-source/ title="Run Server from source" class=md-nav__link> Run Server from source </a> </li> <li class=md-nav__item> <a href=../../developers/plain-maven/ title="Build with plain Maven" class=md-nav__link> Build with plain Maven </a> </li> <li class=md-nav__item> <a href=../../developers/website/ title="Work on the website" class=md-nav__link> Work on the website </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../additional-resources/ title="Additional resources" class=md-nav__link> Additional resources </a> </li> <li class=md-nav__item> <a href=https://www.eclipse.org/forums/index.php/f/442/ title=Forum class=md-nav__link> Forum </a> </li> <li class=md-nav__item> <a href=https://ci.eclipse.org/hawk/ title=Builds class=md-nav__link> Builds </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content> <article class="md-content__inner md-typeset"> <h1>Logging</h1> <p>Logging in Hawk is done through the <a href=https://logback.qos.ch/ >Logback</a> library. The specific <code>logback.xml</code> file is part of the <code>org.hawk.service.server.logback</code> plugin fragment. If you need to edit it, it is located in the <code>plugins/org.hawk.service.server.logback_&lt;HAWK RELEASE&gt;</code> folder from the main directory of the server.</p> <p>A typical configuration with Hawk logging at the DEBUG level, with time-based rolling and all messages going to the <code>hawk.log</code> file would look as follows:</p> <div class=codehilite><pre><span></span><span class=nt>&lt;configuration&gt;</span>
     <span class=nt>&lt;appender</span> <span class=na>name=</span><span class=s>&quot;STDOUT&quot;</span> <span class=na>class=</span><span class=s>&quot;ch.qos.logback.core.ConsoleAppender&quot;</span><span class=nt>&gt;</span>
         <span class=nt>&lt;layout</span> <span class=na>class=</span><span class=s>&quot;ch.qos.logback.classic.PatternLayout&quot;</span><span class=nt>&gt;</span>
             <span class=nt>&lt;Pattern&gt;</span>
diff --git a/sitemap.xml.gz b/sitemap.xml.gz
index 55cd7c4..912b4be 100644
--- a/sitemap.xml.gz
+++ b/sitemap.xml.gz
Binary files differ