blob: 3a78002fe876f9a61ed48a5b3d35125e224eba5b [file] [log] [blame]
<!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>