blob: ee1df4ca621d30a3672be54618ede26d0e9a753d [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="manifest" href="../../assets/images/site.webmanifest">
<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 md-nav__item--nested">
<input class="md-toggle md-nav__toggle" data-md-toggle="nav-6" type="checkbox" id="nav-6">
<label class="md-nav__link" for="nav-6">
Community
</label>
<nav class="md-nav" data-md-component="collapsible" data-md-level="1">
<label class="md-nav__title" for="nav-6">
Community
</label>
<ul class="md-nav__list" data-md-scrollfix>
<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://gitlab.eclipse.org/eclipse/hawk/hawk/-/issues/new" title="File a bug" class="md-nav__link">
File a bug
</a>
</li>
<li class="md-nav__item">
<a href="https://gitlab.eclipse.org/eclipse/hawk/hawk/-/issues" title="Open bugs" class="md-nav__link">
Open bugs
</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>
</li>
<li class="md-nav__item">
<a href="../../additional-resources/" title="Additional resources" class="md-nav__link">
Additional resources
</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>