You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tamaya.apache.org by po...@apache.org on 2016/12/19 21:58:37 UTC
[19/57] [abbrv] incubator-tamaya-site git commit: Merge branch
'asf-site' of https://git-wip-us.apache.org/repos/asf/incubator-tamaya-site
into asf-site
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4f4912e5/extensions/mod_collections.html
----------------------------------------------------------------------
diff --cc extensions/mod_collections.html
index 35f1a59,0ff8511..0000000
deleted file mode 100644,100644
--- a/extensions/mod_collections.html
+++ /dev/null
@@@ -1,443 -1,443 +1,0 @@@
--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
--
--<html xmlns="http://www.w3.org/1999/xhtml">
-- <head>
-- <meta charset="utf-8"/>
-- <title>Apache Tamaya&#8201;&#8212;&#8201;Extension: Collection Support</title>
-- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-- <meta name="description" content=""/>
-- <meta name="author" content=""/>
-- <meta name="keywords" content=""/>
-- <meta name="generator" content="'JBake '+'${version}"/>
--
-- <!-- Le styles -->
-- <link href="../css/bootstrap.min.css" rel="stylesheet"/>
-- <link href="../css/asciidoctor.css" rel="stylesheet"/>
-- <link href="../css/base.css" rel="stylesheet"/>
-- <link href="../css/prettify.css" rel="stylesheet"/>
--
-- <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
-- <!--[if lt IE 9]>
-- <script src="../js/html5shiv.min.js"></script>
-- <![endif]-->
--
-- <!-- Fav and touch icons from ASF -->
-- <link rel="shortcut icon" href="../favicon.ico"/>
-- <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
-- <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
-- <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
-- <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
-- <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
-- <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
-- <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
-- <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
-- <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
-- <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
-- <link rel="manifest" href="../favicons/manifest.json"/>
-- <link rel="shortcut icon" href="../favicons/favicon.ico"/>
-- <meta name="msapplication-TileColor" content="#603cba"/>
-- <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
-- <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
-- <meta name="theme-color" content="#303284"/>
-- </head>
-- <body onload="prettyPrint()">
-- <div id="wrap">
-- <div>
--
-- <!-- Fixed navbar -->
-- <div class="navbar navbar-default navbar-fixed-top" role="navigation">
-- <div class="container">
-- <div class="navbar-header">
-- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
-- <span class="sr-only">Toggle navigation</span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- </button>
-- <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
-- </div>
-- <div class="navbar-collapse collapse">
-- <ul class="nav navbar-nav">
-- <li><a href="../index.html">Home</a></li>
-- <li><a href="../quickstart.html">Quickstart</a></li>
-- <li><a href="../index.html">Documentation</a></li>
-- <li><a href="..//apidocs/index.html">API</a></li>
-- <li><a href="../index.html">Development</a></li>
-- <li><a href="../index.html">Releases</a></li>
-- <li><a href="../about.html">About</a></li>
-- <li><a href="../sitemap.xml">Sitemap</a></li>
-- <li><a href="../feed.xml">Subscribe</a></li>
--<!--
-- <li class="dropdown">
-- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-- <ul class="dropdown-menu">
-- <li><a href="#">Action</a></li>
-- <li><a href="#">Another action</a></li>
-- <li><a href="#">Something else here</a></li>
-- <li class="divider"></li>
-- <li class="dropdown-header">Nav header</li>
-- <li><a href="#">Separated link</a></li>
-- <li><a href="#">One more separated link</a></li>
-- </ul>
-- </li>
---->
-- </ul>
-- </div><!--/.nav-collapse -->
-- </div>
-- </div>
--
-- </div>
-- <div class="container">
--
-- <div class="page-header">
-- <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Collection Support</h1>
-- </div>
--
- <p><em>2016-11-28</em></p>
- <p><em>2016-11-19</em></p>
--
-- <p><div id="preamble">
--<div class="sectionbody">
--<!-- toc disabled -->
--</div>
--</div>
--<div class="sect1">
--<h2 id="Optional">Tamaya Collection Support (Extension Module)</h2>
--<div class="sectionbody">
--<div class="sect2">
--<h3 id="_overview">Overview</h3>
--<div class="paragraph">
--<p>All configuration in Tamaya is expressed as simple key, value pairs. Nevertheless this concept allows similarly
--the modelling of collection typed values such as lists, sets, maps or simple collections of things. The Tamaya
--Collections extension adds this functionality to the Tamaya eco-system.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_compatibility">Compatibility</h3>
--<div class="paragraph">
--<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_installation">Installation</h3>
--<div class="paragraph">
--<p>To use Tamaya collection support you only must add the corresponding dependency to your module:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency>
-- <groupId>org.apache.tamaya.ext</groupId>
-- <artifactId>tamaya-collections</artifactId>
-- <version>{tamaya_version}</version>
--</dependency></code></pre>
--</div>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_overview_2">Overview</h3>
--<div class="paragraph">
--<p>Tamaya Collections adds PropertyConverter implementations that are able to access configuration data
--as lists, maps or sets. By default this works out of the box as easy as accessing any other type of
--configuration data, e.g.</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ConfigurationProvider.getConfiguration();
--
--// Without any content specification, a list of String is returned.
--List<String> simpleList = config.get("my.list.config.entry", List.class);
--
--// Using a TypeLiteral allows to use every convertible sub type supported by the system.
--List<Integer> intList = config.get("my.list.config.entry", new TypeLiteral<List<Integer>>(){});</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>Configuration in that case, by default, is a simple comma-separated list of entries, e.g.</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties">my.list.config.entry=1,34454,23,344545,3445</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>Additionally the module allows adding additional meta-entries, which allows to tweak some of the
--inner-workings, e.g.</p>
--</div>
--<div class="ulist">
--<ul>
--<li>
--<p>using your own PropertyConverter implementation for parsing entries.</p>
--</li>
--<li>
--<p>specifying a custom separator String to be used to split the items (default is {{','}}.</p>
--</li>
--<li>
--<p>specifying a custom separator String to be used to split key/value paris when parsing map entries.</p>
--</li>
--<li>
--<p>specifying the implementation type of the collection instance to be returned.</p>
--</li>
--<li>
--<p>specifying if the resulting collection should be returned as a modifiable collection.</p>
--</li>
--</ul>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_supported_types">Supported Types</h3>
--<div class="paragraph">
--<p>This module supports the following types:</p>
--</div>
--<div class="ulist">
--<ul>
--<li>
--<p>java.util.Collection</p>
--</li>
--<li>
--<p>java.util.List</p>
--</li>
--<li>
--<p>java.util.ArrayList</p>
--</li>
--<li>
--<p>java.util.LinkedList</p>
--</li>
--<li>
--<p>java.util.Set</p>
--</li>
--<li>
--<p>java.util.SortedSet</p>
--</li>
--<li>
--<p>java.util.TreeSet</p>
--</li>
--<li>
--<p>java.util.HashSet</p>
--</li>
--<li>
--<p>java.util.Map</p>
--</li>
--<li>
--<p>java.util.SortedMap</p>
--</li>
--<li>
--<p>java.util.HashMap</p>
--</li>
--<li>
--<p>java.util.TreeMap</p>
--</li>
--</ul>
--</div>
--<div class="paragraph">
--<p>Hereby the type is determined primarly by the parameter type accessed, e.g.
--config.get("mylist", ArrayList.class) will always return an ArrayList
--as result.</p>
--</div>
--<div class="sect3">
--<h4 id="_configuring_the_target_implementation_type">Configuring the target implementation type</h4>
--<div class="paragraph">
--<p>Tamaya Collections allows you to configure the target collection type by adding the
--following meta-configuration entry (shown for the mylist entry). Hereby the package part java.util.
--can be ommitted:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties">mylist=a,b,c
--_mylist.collection-type=LinkedList</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>When calling config.get("mylist", ArrayList.class) this parameter does not have any effect, so you will still
--get an ArrayList as a result. However when you call config.get("mylist", List.class) you will
--get a LinkedList as implementation type.</p>
--</div>
--<div class="paragraph">
--<p>This mechanism similarly applies to all kind of collections, so you can use it similarly to define the implementation
--type returned when accessing List, Map or Collection.</p>
--</div>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_collecting_configuration_entries_instead_of_overriding">Collecting Configuration Entries instead of Overriding</h3>
--<div class="paragraph">
--<p>By default Tamaya applies always an overriding CombinationPolicy, where only the configuration entry for
--the most significant configuration entry is used. In case of collections (and maybe also other use cases),
--overriding is not always the mechanism of choice. E.g. when you want to have all entries added to your
--configuration to be <strong>combined</strong> to a new entry containing all values provided by any property sources.</p>
--</div>
--<div class="paragraph">
--<p>Therefore Tamaya Collections also provides a more sophistiated CombinationPolicy (automatically configured)
--that allows to adapt the way how configuration entries are combined. All you must do is declaring
--the mechanism to be applied by an according meta-configuration parameter, e.g. for my.list your config may
--look as follows:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># from PropertSource 1
--my.list=1,2,3
--
--# from PropertSource 2
--my.list=4,5,6
--
--# without any additional meta-info these entries would be combined to
--my.list=4,5,6</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>With Tamaya Collections you can now configure the combination policy as follows:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># use one of the default policies: override / collect
--_my.list.combination-policy=collect
--
--# use an custom CombinationPolicy to combine the values
--_my.list.combination-policy=com.mycomp.app.MyCombincationPolicy</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>So declaring the collect policy the resulting raw output of the entry looks as follows:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># result when applying the collect policy:
--my.list=1,2,3,4,5,6</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>The customizable policy mechanism of Tamaya Collections also honors the item-separator meta-configuration
--parameter explained later in this document.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_format_of_collection_configuration">Format of Collection Configuration</h3>
--<div class="paragraph">
--<p>By default collections are modelled as simple String values, that are tokenized into individual parts using a
--defined item-separator (by default ','). So a given configuration entry of 1,2,3 is mapped to "1","2","3".
--If the target context type is something different than String the smae conversion logic is used as when mapping
--configuration parameters directly to non-String target types (implemented as +PropertyConverter classes, manahed
--within the current ConfigurationContext. The procedure is identical for all collection types, including Map types,
--with the difference that each token in the list is parsed once more for separating it into a key and a value.
--The default separator for map entries hereby is "::". Map keys, as of now, are always of type String, whereas
--for values the same logic is applied as for non-map collection types.</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, using the default format
--list=1,2,3,4,5,6
--
--# a map, using the default format
--map=a::b, c::d</code></pre>
--</div>
--</div>
--<div class="sect3">
--<h4 id="_trimming_of_entries">Trimming of entries</h4>
--<div class="paragraph">
--<p>By default all tokens parsed are trimmed <em>before</em> adding them to the final collection. In case of map entries this is
--also the case for key/value entries. So the following configuration results in the identical values for
--list1,list2 and map1,map2:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, using the default format
--list1=1,2,3,4,5,6
--list2=1, 2, 3, 4, 5, 6
--
--# a map, using the default format
--map1=a::b, c::d
--map2=a :: b, c :: d</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>Nevertheless truncation can be controlled by the usage of brackets, e.g. the last list or map entry will have a single
--space character as value:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, with a ' ' value at the end
--list3=1, 2, 3, 4, 5, [ ]
--
--# a map, with a ' ' value for key '0'
--map3=1 :: a, 2 :: b, 0::[ ]</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>Hereby \[ escapes the sequence.</p>
--</div>
--</div>
--<div class="sect3">
--<h4 id="_customizing_the_format">Customizing the format</h4>
--<div class="paragraph">
--<p>The item and entry separators (by default ',' and "::") can be customized by setting corresponding meta-data
--entries as follows, resulting in the same values as in the prevoius listing:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a list, with a ' ' value at the end
--list3=1__2__3__ 4__ 5__[ ]
--_list3.item-separator=__
--
--# a map, with a ' ' value for key '0'
--map3=1->a, 2->b, 0->[ ]
--_map3.map-entry-separator=-></code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>Of course these settings also can be combined:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-properties" data-lang="properties"># a reformatted map
--redefined-map=0==none | 1==single | 2==any
--_redefined-map.map-entry-separator===
--_redefined-map.item-separator=|</code></pre>
--</div>
--</div>
--</div>
--</div>
--</div>
--</div></p>
--
-- <hr />
-- </div>
-- </div>
-- <div>
-- <div id="push"></div>
--
-- <div id="footer">
-- <div class="container">
-- <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
-- | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
- at <span>2016-12-12</span>
- at <span>2016-11-27</span>
-- </p>
-- <p>
-- <b>Disclaimer</b>
-- Apache Tamaya (incubating) is an effort undergoing
-- incubation at
-- The Apache Software Foundation (ASF), sponsored by
-- the name of Apache Incubator. Incubation is required of
-- all newly accepted projects until a further review indicates
-- that the infrastructure, communications, and decision making
-- process have stabilized in a manner consistent with other
-- successful ASF projects. While incubation status is not
-- necessarily a reflection of the completeness or stability of
-- the code, it does indicate that the project has yet to
-- be fully endorsed by the ASF.<br />
-- <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
-- </p>
-- </div>
-- </div>
--
-- <!-- Le javascript
-- ================================================== -->
-- <!-- Placed at the end of the document so the pages load faster -->
-- <script src="../js/jquery-1.11.1.min.js"></script>
-- <script src="../js/bootstrap.min.js"></script>
-- <script src="../js/prettify.js"></script>
--
-- </div>
-- </body>
--</html>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4f4912e5/extensions/mod_consul.html
----------------------------------------------------------------------
diff --cc extensions/mod_consul.html
index 1ba2b9d,f4698a9..0000000
deleted file mode 100644,100644
--- a/extensions/mod_consul.html
+++ /dev/null
@@@ -1,222 -1,222 +1,0 @@@
--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
--
--<html xmlns="http://www.w3.org/1999/xhtml">
-- <head>
-- <meta charset="utf-8"/>
-- <title>Apache Tamaya&#8201;&#8212;&#8201;Extension: Integration with consul (Hashicorp)</title>
-- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-- <meta name="description" content=""/>
-- <meta name="author" content=""/>
-- <meta name="keywords" content=""/>
-- <meta name="generator" content="'JBake '+'${version}"/>
--
-- <!-- Le styles -->
-- <link href="../css/bootstrap.min.css" rel="stylesheet"/>
-- <link href="../css/asciidoctor.css" rel="stylesheet"/>
-- <link href="../css/base.css" rel="stylesheet"/>
-- <link href="../css/prettify.css" rel="stylesheet"/>
--
-- <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
-- <!--[if lt IE 9]>
-- <script src="../js/html5shiv.min.js"></script>
-- <![endif]-->
--
-- <!-- Fav and touch icons from ASF -->
-- <link rel="shortcut icon" href="../favicon.ico"/>
-- <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
-- <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
-- <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
-- <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
-- <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
-- <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
-- <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
-- <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
-- <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
-- <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
-- <link rel="manifest" href="../favicons/manifest.json"/>
-- <link rel="shortcut icon" href="../favicons/favicon.ico"/>
-- <meta name="msapplication-TileColor" content="#603cba"/>
-- <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
-- <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
-- <meta name="theme-color" content="#303284"/>
-- </head>
-- <body onload="prettyPrint()">
-- <div id="wrap">
-- <div>
--
-- <!-- Fixed navbar -->
-- <div class="navbar navbar-default navbar-fixed-top" role="navigation">
-- <div class="container">
-- <div class="navbar-header">
-- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
-- <span class="sr-only">Toggle navigation</span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- </button>
-- <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
-- </div>
-- <div class="navbar-collapse collapse">
-- <ul class="nav navbar-nav">
-- <li><a href="../index.html">Home</a></li>
-- <li><a href="../quickstart.html">Quickstart</a></li>
-- <li><a href="../index.html">Documentation</a></li>
-- <li><a href="..//apidocs/index.html">API</a></li>
-- <li><a href="../index.html">Development</a></li>
-- <li><a href="../index.html">Releases</a></li>
-- <li><a href="../about.html">About</a></li>
-- <li><a href="../sitemap.xml">Sitemap</a></li>
-- <li><a href="../feed.xml">Subscribe</a></li>
--<!--
-- <li class="dropdown">
-- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-- <ul class="dropdown-menu">
-- <li><a href="#">Action</a></li>
-- <li><a href="#">Another action</a></li>
-- <li><a href="#">Something else here</a></li>
-- <li class="divider"></li>
-- <li class="dropdown-header">Nav header</li>
-- <li><a href="#">Separated link</a></li>
-- <li><a href="#">One more separated link</a></li>
-- </ul>
-- </li>
---->
-- </ul>
-- </div><!--/.nav-collapse -->
-- </div>
-- </div>
--
-- </div>
-- <div class="container">
--
-- <div class="page-header">
-- <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Integration with consul (Hashicorp)</h1>
-- </div>
--
- <p><em>2016-11-28</em></p>
- <p><em>2016-11-19</em></p>
--
-- <p><div id="preamble">
--<div class="sectionbody">
--<!-- toc disabled -->
--</div>
--</div>
--<div class="sect1">
--<h2 id="Optional">Integration with consul (Extension Module)</h2>
--<div class="sectionbody">
--<div class="sect2">
--<h3 id="_overview">Overview</h3>
--<div class="paragraph">
--<p>The Tamaya consul integration module provides different artifacts which allows integration of Apachae Tamaya
--configuration with consul. Basically the module supports read-only integration (as a ConsulPropertySource as well
--as a support for MutableConfiguration as defined by the tamaya-mutable-config extension module.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_compatibility">Compatibility</h3>
--<div class="paragraph">
--<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_installation">Installation</h3>
--<div class="paragraph">
--<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency>
-- <groupId>org.apache.tamaya.ext</groupId>
-- <artifactId>tamaya-consul</artifactId>
-- <version>{tamaya_version}</version>
--</dependency></code></pre>
--</div>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_the_extensions_provided">The Extensions Provided</h3>
--<div class="paragraph">
--<p>Consul integration comes basically with 2 artifacts:</p>
--</div>
--<div class="ulist">
--<ul>
--<li>
--<p>The org.apache.tamaya.etcd.ConsulPropertySource is a PropertySource with a default ordinal of 100 and the name
--'consul', which is automatically registered.</p>
--</li>
--<li>
--<p>If the tamaya-mutable-config module is loaded it is possible to write property values back into the consul cluster,
--by accessing a MutableConfiguration using the URI config:consul.</p>
--</li>
--</ul>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_the_consulpropertysource">The ConsulPropertySource</h3>
--<div class="paragraph">
--<p>The ConsulPropertySource is automatically registered and allows the consul servers to be used to be configured. This
--enables to use e.g. in Docker environments the docker environment configuration mechanisms to configure Tamaya running
--in microservice containers to connect with the according consul cluster:</p>
--</div>
--<div class="ulist">
--<ul>
--<li>
--<p>The property source reads the tamaya.consul.urls system and environment property to evaluate possible etcd servers
--(comma separated), which can be connected to. On error the API just performs a Round-Robin through the list of
--configured servers. Without any configuration http://127.0.0.1:2400 is used. If no connection to any consul
--server can be established a warning will be logged, but deployment will not fail.</p>
--</li>
--<li>
--<p>The ConsulPropertySource finally also allows the values read from the consul cluster to be mapped to prefixed
--context. This can be activated by setting the -Dtamaya.consul.prefix=<PREFIX> system property. E.g. when the prefix is
--set to cluster-config. a consul key of host:known/all is mapped to cluster-config.host:known/all.</p>
--</li>
--</ul>
--</div>
--</div>
--</div>
--</div></p>
--
-- <hr />
-- </div>
-- </div>
-- <div>
-- <div id="push"></div>
--
-- <div id="footer">
-- <div class="container">
-- <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
-- | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
- at <span>2016-12-12</span>
- at <span>2016-11-27</span>
-- </p>
-- <p>
-- <b>Disclaimer</b>
-- Apache Tamaya (incubating) is an effort undergoing
-- incubation at
-- The Apache Software Foundation (ASF), sponsored by
-- the name of Apache Incubator. Incubation is required of
-- all newly accepted projects until a further review indicates
-- that the infrastructure, communications, and decision making
-- process have stabilized in a manner consistent with other
-- successful ASF projects. While incubation status is not
-- necessarily a reflection of the completeness or stability of
-- the code, it does indicate that the project has yet to
-- be fully endorsed by the ASF.<br />
-- <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
-- </p>
-- </div>
-- </div>
--
-- <!-- Le javascript
-- ================================================== -->
-- <!-- Placed at the end of the document so the pages load faster -->
-- <script src="../js/jquery-1.11.1.min.js"></script>
-- <script src="../js/bootstrap.min.js"></script>
-- <script src="../js/prettify.js"></script>
--
-- </div>
-- </body>
--</html>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4f4912e5/extensions/mod_environment.html
----------------------------------------------------------------------
diff --cc extensions/mod_environment.html
index 5b6ee18,02c1ac2..0000000
deleted file mode 100644,100644
--- a/extensions/mod_environment.html
+++ /dev/null
@@@ -1,192 -1,192 +1,0 @@@
--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
--
--<html xmlns="http://www.w3.org/1999/xhtml">
-- <head>
-- <meta charset="utf-8"/>
-- <title>Apache Tamaya&#8201;&#8212;&#8201;Extension: Classloader Isolation Support</title>
-- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-- <meta name="description" content=""/>
-- <meta name="author" content=""/>
-- <meta name="keywords" content=""/>
-- <meta name="generator" content="'JBake '+'${version}"/>
--
-- <!-- Le styles -->
-- <link href="../css/bootstrap.min.css" rel="stylesheet"/>
-- <link href="../css/asciidoctor.css" rel="stylesheet"/>
-- <link href="../css/base.css" rel="stylesheet"/>
-- <link href="../css/prettify.css" rel="stylesheet"/>
--
-- <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
-- <!--[if lt IE 9]>
-- <script src="../js/html5shiv.min.js"></script>
-- <![endif]-->
--
-- <!-- Fav and touch icons from ASF -->
-- <link rel="shortcut icon" href="../favicon.ico"/>
-- <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
-- <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
-- <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
-- <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
-- <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
-- <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
-- <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
-- <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
-- <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
-- <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
-- <link rel="manifest" href="../favicons/manifest.json"/>
-- <link rel="shortcut icon" href="../favicons/favicon.ico"/>
-- <meta name="msapplication-TileColor" content="#603cba"/>
-- <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
-- <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
-- <meta name="theme-color" content="#303284"/>
-- </head>
-- <body onload="prettyPrint()">
-- <div id="wrap">
-- <div>
--
-- <!-- Fixed navbar -->
-- <div class="navbar navbar-default navbar-fixed-top" role="navigation">
-- <div class="container">
-- <div class="navbar-header">
-- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
-- <span class="sr-only">Toggle navigation</span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- </button>
-- <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
-- </div>
-- <div class="navbar-collapse collapse">
-- <ul class="nav navbar-nav">
-- <li><a href="../index.html">Home</a></li>
-- <li><a href="../quickstart.html">Quickstart</a></li>
-- <li><a href="../index.html">Documentation</a></li>
-- <li><a href="..//apidocs/index.html">API</a></li>
-- <li><a href="../index.html">Development</a></li>
-- <li><a href="../index.html">Releases</a></li>
-- <li><a href="../about.html">About</a></li>
-- <li><a href="../sitemap.xml">Sitemap</a></li>
-- <li><a href="../feed.xml">Subscribe</a></li>
--<!--
-- <li class="dropdown">
-- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-- <ul class="dropdown-menu">
-- <li><a href="#">Action</a></li>
-- <li><a href="#">Another action</a></li>
-- <li><a href="#">Something else here</a></li>
-- <li class="divider"></li>
-- <li class="dropdown-header">Nav header</li>
-- <li><a href="#">Separated link</a></li>
-- <li><a href="#">One more separated link</a></li>
-- </ul>
-- </li>
---->
-- </ul>
-- </div><!--/.nav-collapse -->
-- </div>
-- </div>
--
-- </div>
-- <div class="container">
--
-- <div class="page-header">
-- <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Classloader Isolation Support</h1>
-- </div>
--
- <p><em>2016-11-28</em></p>
- <p><em>2016-11-19</em></p>
--
-- <p><div id="preamble">
--<div class="sectionbody">
--<!-- toc disabled -->
--</div>
--</div>
--<div class="sect1">
--<h2 id="Remote">Tamaya Environment Model (Extension Module)</h2>
--<div class="sectionbody">
--<div class="sect2">
--<h3 id="_overview">Overview</h3>
--<div class="paragraph">
--<p>The Tamaya Environment extension adds a simple PropertySourceProvider that evaluates a List of environment context and
--combines them in the given order into an (optional) root context within the system’s configuration.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_compatibility">Compatibility</h3>
--<div class="paragraph">
--<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_installation">Installation</h3>
--<div class="paragraph">
--<p>To benefit from Tamaya Environment Model you only must add the corresponding dependency to your module:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency>
-- <groupId>org.apache.tamaya.ext</groupId>
-- <artifactId>tamaya-envionment</artifactId>
-- <version>{tamaya_version}</version>
--</dependency></code></pre>
--</div>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_how_it_works">How it Works</h3>
--<div class="paragraph">
--<p>tbd</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_reusable_base_classes">Reusable Base Classes</h3>
--<div class="paragraph">
--<p>tbd</p>
--</div>
--</div>
--</div>
--</div></p>
--
-- <hr />
-- </div>
-- </div>
-- <div>
-- <div id="push"></div>
--
-- <div id="footer">
-- <div class="container">
-- <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
-- | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
- at <span>2016-12-12</span>
- at <span>2016-11-27</span>
-- </p>
-- <p>
-- <b>Disclaimer</b>
-- Apache Tamaya (incubating) is an effort undergoing
-- incubation at
-- The Apache Software Foundation (ASF), sponsored by
-- the name of Apache Incubator. Incubation is required of
-- all newly accepted projects until a further review indicates
-- that the infrastructure, communications, and decision making
-- process have stabilized in a manner consistent with other
-- successful ASF projects. While incubation status is not
-- necessarily a reflection of the completeness or stability of
-- the code, it does indicate that the project has yet to
-- be fully endorsed by the ASF.<br />
-- <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
-- </p>
-- </div>
-- </div>
--
-- <!-- Le javascript
-- ================================================== -->
-- <!-- Placed at the end of the document so the pages load faster -->
-- <script src="../js/jquery-1.11.1.min.js"></script>
-- <script src="../js/bootstrap.min.js"></script>
-- <script src="../js/prettify.js"></script>
--
-- </div>
-- </body>
--</html>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4f4912e5/extensions/mod_etcd.html
----------------------------------------------------------------------
diff --cc extensions/mod_etcd.html
index 47f85c4,0d8604d..0000000
deleted file mode 100644,100644
--- a/extensions/mod_etcd.html
+++ /dev/null
@@@ -1,358 -1,358 +1,0 @@@
--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
--
--<html xmlns="http://www.w3.org/1999/xhtml">
-- <head>
-- <meta charset="utf-8"/>
-- <title>Apache Tamaya&#8201;&#8212;&#8201;Extension: Integration with etcd (Core OS)</title>
-- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-- <meta name="description" content=""/>
-- <meta name="author" content=""/>
-- <meta name="keywords" content=""/>
-- <meta name="generator" content="'JBake '+'${version}"/>
--
-- <!-- Le styles -->
-- <link href="../css/bootstrap.min.css" rel="stylesheet"/>
-- <link href="../css/asciidoctor.css" rel="stylesheet"/>
-- <link href="../css/base.css" rel="stylesheet"/>
-- <link href="../css/prettify.css" rel="stylesheet"/>
--
-- <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
-- <!--[if lt IE 9]>
-- <script src="../js/html5shiv.min.js"></script>
-- <![endif]-->
--
-- <!-- Fav and touch icons from ASF -->
-- <link rel="shortcut icon" href="../favicon.ico"/>
-- <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
-- <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
-- <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
-- <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
-- <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
-- <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
-- <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
-- <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
-- <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
-- <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
-- <link rel="manifest" href="../favicons/manifest.json"/>
-- <link rel="shortcut icon" href="../favicons/favicon.ico"/>
-- <meta name="msapplication-TileColor" content="#603cba"/>
-- <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
-- <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
-- <meta name="theme-color" content="#303284"/>
-- </head>
-- <body onload="prettyPrint()">
-- <div id="wrap">
-- <div>
--
-- <!-- Fixed navbar -->
-- <div class="navbar navbar-default navbar-fixed-top" role="navigation">
-- <div class="container">
-- <div class="navbar-header">
-- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
-- <span class="sr-only">Toggle navigation</span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- </button>
-- <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
-- </div>
-- <div class="navbar-collapse collapse">
-- <ul class="nav navbar-nav">
-- <li><a href="../index.html">Home</a></li>
-- <li><a href="../quickstart.html">Quickstart</a></li>
-- <li><a href="../index.html">Documentation</a></li>
-- <li><a href="..//apidocs/index.html">API</a></li>
-- <li><a href="../index.html">Development</a></li>
-- <li><a href="../index.html">Releases</a></li>
-- <li><a href="../about.html">About</a></li>
-- <li><a href="../sitemap.xml">Sitemap</a></li>
-- <li><a href="../feed.xml">Subscribe</a></li>
--<!--
-- <li class="dropdown">
-- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-- <ul class="dropdown-menu">
-- <li><a href="#">Action</a></li>
-- <li><a href="#">Another action</a></li>
-- <li><a href="#">Something else here</a></li>
-- <li class="divider"></li>
-- <li class="dropdown-header">Nav header</li>
-- <li><a href="#">Separated link</a></li>
-- <li><a href="#">One more separated link</a></li>
-- </ul>
-- </li>
---->
-- </ul>
-- </div><!--/.nav-collapse -->
-- </div>
-- </div>
--
-- </div>
-- <div class="container">
--
-- <div class="page-header">
-- <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Integration with etcd (Core OS)</h1>
-- </div>
--
- <p><em>2016-11-28</em></p>
- <p><em>2016-11-19</em></p>
--
-- <p><div id="preamble">
--<div class="sectionbody">
--<!-- toc disabled -->
--</div>
--</div>
--<div class="sect1">
--<h2 id="Optional">Integration with etcd (Extension Module)</h2>
--<div class="sectionbody">
--<div class="sect2">
--<h3 id="_overview">Overview</h3>
--<div class="paragraph">
--<p>The Tamaya etcd integration module provides different artifacts which allows integration of Apachae Tamaya
--configuration with etcd. Basically the module supports read-only integration (as a EtcdPropertySource as well
--as a support for MutableConfiguration as defined by the tamaya-mutable-config extension module.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_compatibility">Compatibility</h3>
--<div class="paragraph">
--<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_installation">Installation</h3>
--<div class="paragraph">
--<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency>
-- <groupId>org.apache.tamaya.ext</groupId>
-- <artifactId>tamaya-etcd</artifactId>
-- <version>{tamaya_version}</version>
--</dependency></code></pre>
--</div>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_the_extensions_provided">The Extensions Provided</h3>
--<div class="paragraph">
--<p>ETcd integration comes basically with 2 artifacts:</p>
--</div>
--<div class="ulist">
--<ul>
--<li>
--<p>The org.apache.tamaya.etcd.EtcdAccessor can be configured with a an url targeting an etcd server’s REST endpoint root.
--(org.apache.tamaya.etcd.EtcdAccessor). The accessor basically provides a simple Java API for communicating
--with etcd server. The accessor hereby allows reading of single properties, or whole subtrees. Also the basic non
--atomic write methods are implemented.</p>
--</li>
--<li>
--<p>The org.apache.tamaya.etcd.EtcdPropertySource is a PropertySource with a default ordinal of 100 and the name
--'etcd', which is automatically registered.</p>
--</li>
--<li>
--<p>If the tamaya-mutable-config module is loaded it is possible to write property values back into the etcd cluster,
--by accessing a MutableConfiguration using the URI config:etcd.</p>
--</li>
--</ul>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_the_etcdaccessor">The EtcdAccessor</h3>
--<div class="paragraph">
--<p>The accessor mentioned implements the basic read and write API for communicating with an etcd configuration cluster.
--Hereby the accessor also provides etcd specific data such as createdIndex, modifiedIndex, ttl in the Map
--returned. Hereby the concept of etcd is used where keys starting with an '_' will be hidden from the overall
--properties map, being only directly/explicitly accessible:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public class EtcdAccessor {
--
-- /**
-- * Creates a new instance with the basic access url.
-- * @param server server url, e.g. {@code http://127.0.0.1:4001}.
-- * @throws MalformedURLException
-- */
-- public EtcdAccessor(String server) throws MalformedURLException;
--
-- /**
-- * Get the etcd server version.
-- * @return the etcd server version, never null.
-- */
-- public String getVersion();
--
-- /**
-- * Ask etcd for s aingle key, value pair. Hereby the response returned from etcd:
-- * <pre>
-- * key=value
-- * _key.source=[etcd]http://127.0.0.1:4001
-- * _key.createdIndex=12
-- * _key.modifiedIndex=34 // optional
-- * _key.ttl=300 // optional
-- * _key.expiration=... // optional
-- * </pre>
-- * @param key the requested key
-- * @return the mapped result, including meta-entries.
-- */
-- public Map<String,String> get(String key);
--
-- /**
-- * Creates/updates an entry in etcd without any ttl set.
-- * The response is as follows:
-- * <pre>
-- * key=value
-- * _key.source=[etcd]http://127.0.0.1:4001
-- * _key.createdIndex=12
-- * _key.modifiedIndex=34 // optional
-- * _key.prevNode.createdIndex=12 // optional
-- * _key.prevNode.modifiedIndex=34 // optional
-- * </pre>
-- * @param key the property key, not null
-- * @param value the value to be set
-- * @return the result map as described above.
-- */
-- public Map<String,String> set(String key, String value);
--
-- /**
-- * Creates/updates an entry in etcd. The response is as follows:
-- * <pre>
-- * key=value
-- * _key.source=[etcd]http://127.0.0.1:4001
-- * _key.createdIndex=12
-- * _key.modifiedIndex=34 // optional
-- * _key.ttl=300 // optional
-- * _key.expiry=... // optional
-- * _key.prevNode.createdIndex=12 // optional
-- * _key.prevNode.modifiedIndex=34 // optional
-- * _key.prevNode.ttl=300 // optional
-- * _key.prevNode.expiration=... // optional
-- * </pre>
-- * @param key the property key, not null
-- * @param value the value to be set
-- * @param ttlSeconds the ttl in seconds (optional)
-- * @return the result map as described above.
-- */
-- public Map<String,String> set(String key, String value, Integer ttlSeconds);
--
--
-- /**
-- * Deletes a given key. The response is as follows:
-- * <pre>
-- * _key.source=[etcd]http://127.0.0.1:4001
-- * _key.createdIndex=12
-- * _key.modifiedIndex=34
-- * _key.ttl=300 // optional
-- * _key.expiry=... // optional
-- * _key.prevNode.createdIndex=12 // optional
-- * _key.prevNode.modifiedIndex=34 // optional
-- * _key.prevNode.ttl=300 // optional
-- * _key.prevNode.expiration=... // optional
-- * _key.prevNode.value=... // optional
-- * </pre>
-- * @param key the key to be deleted.
-- * @return the response mpas as described above.
-- */
-- public Map<String,String> delete(String key);
--
--
-- /**
-- * Access regular Tamaya properties map as follows:
-- * <pre>
-- * key1=myvalue
-- * _key1.source=[etcd]http://127.0.0.1:4001
-- * _key1.createdIndex=12
-- * _key1.modifiedIndex=34 // optional
-- * _key1.ttl=300 // optional
-- * _key1.expiration=... // optional
-- *
-- * key2=myvaluexxx
-- * _key2.source=[etcd]http://127.0.0.1:4001
-- * _key2.createdIndex=12
-- *
-- * key3=val3
-- * _key3.source=[etcd]http://127.0.0.1:4001
-- * _key3.createdIndex=12
-- * _key3.modifiedIndex=2
-- * </pre>
-- */
-- public Map<String,String> getProperties(String directory, boolean recursive);
--
--}</code></pre>
--</div>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_the_etcdpropertysource">The EtcdPropertySource</h3>
--<div class="paragraph">
--<p>The EtcdPropertySource is automatically registered and allows to configure the etcd servers to be used. This
--enables to use e.g. in Docker environments the docker environment configuration mechanisms to configure Tamaya running
--in microservice containers to connect with the according etcd cluster:</p>
--</div>
--<div class="ulist">
--<ul>
--<li>
--<p>The property source reads the tamaya.etcd.server.urls system and environment property to evaluate possible etcd servers
--(comma separated), which can be connected to. On error the API just performs a Round-Robin through the list of
--configured servers. Without any configuration http://127.0.0.1:4001 is used. If no connection to any etcd
--server can be established a warning will be logged, but deployment will not fail.</p>
--</li>
--<li>
--<p>Additinoally also the
--accessor allows to configure the socket/connection timeouts by setting tamaya.etcd.timeout in seconds either as
--system or environment property.</p>
--</li>
--<li>
--<p>The EtcdPropertySource finally also allows the values read from the etcd cluster to be mapped to prefixed
--context. This can be activated by setting the -Dtamaya.etcd.prefix=<PREFIX> system property. E.g. when the prefix is
--set to cluster-config. a etcd key of host:known/all is mapped to cluster-config.host:known/all.</p>
--</li>
--</ul>
--</div>
--</div>
--</div>
--</div></p>
--
-- <hr />
-- </div>
-- </div>
-- <div>
-- <div id="push"></div>
--
-- <div id="footer">
-- <div class="container">
-- <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
-- | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
- at <span>2016-12-12</span>
- at <span>2016-11-27</span>
-- </p>
-- <p>
-- <b>Disclaimer</b>
-- Apache Tamaya (incubating) is an effort undergoing
-- incubation at
-- The Apache Software Foundation (ASF), sponsored by
-- the name of Apache Incubator. Incubation is required of
-- all newly accepted projects until a further review indicates
-- that the infrastructure, communications, and decision making
-- process have stabilized in a manner consistent with other
-- successful ASF projects. While incubation status is not
-- necessarily a reflection of the completeness or stability of
-- the code, it does indicate that the project has yet to
-- be fully endorsed by the ASF.<br />
-- <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
-- </p>
-- </div>
-- </div>
--
-- <!-- Le javascript
-- ================================================== -->
-- <!-- Placed at the end of the document so the pages load faster -->
-- <script src="../js/jquery-1.11.1.min.js"></script>
-- <script src="../js/bootstrap.min.js"></script>
-- <script src="../js/prettify.js"></script>
--
-- </div>
-- </body>
--</html>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4f4912e5/extensions/mod_events.html
----------------------------------------------------------------------
diff --cc extensions/mod_events.html
index 0fea1d8,dc8cf03..0000000
deleted file mode 100644,100644
--- a/extensions/mod_events.html
+++ /dev/null
@@@ -1,481 -1,481 +1,0 @@@
--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
--
--<html xmlns="http://www.w3.org/1999/xhtml">
-- <head>
-- <meta charset="utf-8"/>
-- <title>Apache Tamaya&#8201;&#8212;&#8201;Extension: Events</title>
-- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-- <meta name="description" content=""/>
-- <meta name="author" content=""/>
-- <meta name="keywords" content=""/>
-- <meta name="generator" content="'JBake '+'${version}"/>
--
-- <!-- Le styles -->
-- <link href="../css/bootstrap.min.css" rel="stylesheet"/>
-- <link href="../css/asciidoctor.css" rel="stylesheet"/>
-- <link href="../css/base.css" rel="stylesheet"/>
-- <link href="../css/prettify.css" rel="stylesheet"/>
--
-- <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
-- <!--[if lt IE 9]>
-- <script src="../js/html5shiv.min.js"></script>
-- <![endif]-->
--
-- <!-- Fav and touch icons from ASF -->
-- <link rel="shortcut icon" href="../favicon.ico"/>
-- <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
-- <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
-- <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
-- <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
-- <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
-- <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
-- <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
-- <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
-- <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
-- <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
-- <link rel="manifest" href="../favicons/manifest.json"/>
-- <link rel="shortcut icon" href="../favicons/favicon.ico"/>
-- <meta name="msapplication-TileColor" content="#603cba"/>
-- <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
-- <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
-- <meta name="theme-color" content="#303284"/>
-- </head>
-- <body onload="prettyPrint()">
-- <div id="wrap">
-- <div>
--
-- <!-- Fixed navbar -->
-- <div class="navbar navbar-default navbar-fixed-top" role="navigation">
-- <div class="container">
-- <div class="navbar-header">
-- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
-- <span class="sr-only">Toggle navigation</span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- </button>
-- <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
-- </div>
-- <div class="navbar-collapse collapse">
-- <ul class="nav navbar-nav">
-- <li><a href="../index.html">Home</a></li>
-- <li><a href="../quickstart.html">Quickstart</a></li>
-- <li><a href="../index.html">Documentation</a></li>
-- <li><a href="..//apidocs/index.html">API</a></li>
-- <li><a href="../index.html">Development</a></li>
-- <li><a href="../index.html">Releases</a></li>
-- <li><a href="../about.html">About</a></li>
-- <li><a href="../sitemap.xml">Sitemap</a></li>
-- <li><a href="../feed.xml">Subscribe</a></li>
--<!--
-- <li class="dropdown">
-- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-- <ul class="dropdown-menu">
-- <li><a href="#">Action</a></li>
-- <li><a href="#">Another action</a></li>
-- <li><a href="#">Something else here</a></li>
-- <li class="divider"></li>
-- <li class="dropdown-header">Nav header</li>
-- <li><a href="#">Separated link</a></li>
-- <li><a href="#">One more separated link</a></li>
-- </ul>
-- </li>
---->
-- </ul>
-- </div><!--/.nav-collapse -->
-- </div>
-- </div>
--
-- </div>
-- <div class="container">
--
-- <div class="page-header">
-- <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: Events</h1>
-- </div>
--
- <p><em>2016-11-28</em></p>
- <p><em>2016-11-19</em></p>
--
-- <p><div id="preamble">
--<div class="sectionbody">
--<!-- toc disabled -->
--</div>
--</div>
--<div class="sect1">
--<h2 id="Core">Tamaya Events (Extension Module)</h2>
--<div class="sectionbody">
--<div class="sect2">
--<h3 id="_overview">Overview</h3>
--<div class="paragraph">
--<p>Tamaya Events is an extension module. Refer to the <a href="modules.html">extensions documentation</a> for further details
--about modules.</p>
--</div>
--<div class="paragraph">
--<p>Tamaya Events provides an abstraction for events like change events, when configuration has been changed.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_compatibility">Compatibility</h3>
--<div class="paragraph">
--<p>The module is based on Java 7, so it can be used with Java 7 and beyond.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_installation">Installation</h3>
--<div class="paragraph">
--<p>To benefit from configuration event support you only must add the corresponding dependency to your module:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency>
-- <groupId>org.apache.tamaya.ext</groupId>
-- <artifactId>tamaya-events</artifactId>
-- <version>{tamaya_version}</version>
--</dependency></code></pre>
--</div>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_core_architecture">Core Architecture</h3>
--<div class="paragraph">
--<p>The core of the module are the ConfigEventListener interface and the ConfigEvent class, which defines an abstraction
--for event handling and observation:</p>
--</div>
--<div class="listingblock">
--<div class="title">ConfigEvent</div>
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final interface ConfigEvent<T> {
--
-- Class<T> getResourceType();
-- T getResource();
-- String getVersion();
-- long getTimestamp();
--}
--
--// @FunctionalInterface
--public interface ConfigEventListener {
--
-- void onConfigEvent(ConfigEvent<?> event);
--
--}</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>This mechanism can now be used to propagate configuration changes to all interested stakeholders. Hereby the payload
--can be basically arbitrary as long as it implements the ConfigEvent interface. The next sections
--give more details on the the provided event types and their usage.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_modelling_configuration_changes">Modelling Configuration Changes</h3>
--<div class="paragraph">
--<p>This module provides a serializable and thread-safe abstraction modlling a configuration change. A change hereby may
--be</p>
--</div>
--<div class="ulist">
--<ul>
--<li>
--<p>additional configuration entries</p>
--</li>
--<li>
--<p>removed configuration entries</p>
--</li>
--<li>
--<p>changes on entries</p>
--</li>
--</ul>
--</div>
--<div class="paragraph">
--<p>The most important event modelled is the ConfigurationChange class, which implements the event sent for a changed
--Configuration:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ConfigurationChange implements ConfigEvent<Configuration>, Serializable{
--
-- public static ConfigurationChange emptyChangeSet(Configuration configuration);
--
-- @Override
-- public Configuration getResource();
-- @Override
-- public Class<Configuration> getResourceType();
-- @Override
-- public String getVersion();
-- @Override
-- public long getTimestamp();
--
-- // Event specific methods
--
-- public Collection<PropertyChangeEvent> getChanges();
-- public int getRemovedSize();
-- public int getAddedSize();
-- public int getUpdatedSize();
--
-- public boolean isKeyAffected(String key);
-- public boolean isRemoved(String key);
-- public boolean isAdded(String key);
-- public boolean isUpdated(String key);
-- public boolean containsKey(String key);
-- public boolean isEmpty();
--}</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>New instances of this class hereby can be created using a fluent builder:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ...;
--ConfigurationChange change = ConfigurationChangeBuilder.of(config)
-- .addChange("MyKey", "newValue")
-- .removeKeys("myRemovedKey").build();</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>Also it is possible to directly compare 2 instances of configurations to create ConfigurationChange that
--reflect the differences between the two configurations:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Comparing 2 configurations
---------------------------------------------------------
--Configuration config = ...;
--Configuration changedConfig = ...;
--ConfigurationChange change = ConfigurationChangeBuilder.of(config)
-- .addChanges(changedConfig).build();
---------------------------------------------------------</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>So a ConfigurationChange allows you to evaluate the changes on a configuration. This allows you to listen to changes
--and react in your client code as useful, once you encounter changes that are relevant to you, e.g. by reconfiguring
--your component. For listening to configuration changes you must implement the
--ConfigEventListener functional interface:</p>
--</div>
--<div class="listingblock">
--<div class="title">Implementing a ConfigChangeListener</div>
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class MyConfigChangeListener implements ConfigChangeListener<ConfigurationChange>{
--
-- private Configuration config = ConfigurationProvider.getConfiguration();
--
-- public void onConfigEvent(ConfigEvent<?> event){
-- if(event.getResourceTspe()==Configuration.class){
-- if(event.getConfiguration()==config){
-- // do something
-- }
-- }
-- }
--
--}</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>You can <strong>register</strong> your implementation in 2 ways:</p>
--</div>
--<div class="olist arabic">
--<ol class="arabic">
--<li>
--<p>Manually by calling ConfigEventManager.addListener(new MyConfigChangeListener())</p>
--</li>
--<li>
--<p>Automatically by registering your listener using the ServiceLoader under
--META-INF/services/org.apache.tamaya.events.ConfigEventListener</p>
--</li>
--</ol>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_modelling_propertysource_changes">Modelling PropertySource Changes</h3>
--<div class="paragraph">
--<p>Beside that a whole configuration changes, also PropertySource instances can change, e.g. by a configuration file
--edited on the fly. This is similarly to a ConfigurationChange reflected by the classes PropertySourceChange,
--PropertySourceChangeBuilder.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_the_configeventmanager_singleton">The ConfigEventManager Singleton</h3>
--<div class="paragraph">
--<p>Main entry point of the events module is the ConfigEventManager singleton class, which provides static accessor
--methods to the extension’s functionality:</p>
--</div>
--<div class="ulist">
--<ul>
--<li>
--<p>Adding/removing of ConfigChangeListener instances, either globally or per event type.</p>
--</li>
--<li>
--<p>Firing configuration events synchronously or asyncronously (mostly called by framework code).</p>
--</li>
--<li>
--<p>Configuring the monitor that periodically checks for changes on the global Configuration provided
--by ConfigurationProvider.getConfiguration().</p>
--</li>
--</ul>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ConfigEventManager {
--
-- private ConfigEventManager() {}
--
-- public static void addListener(ConfigEventListener l);
-- public static <T extends ConfigEvent> void addListener(ConfigEventListener l, Class<T> eventType);
-- public static void removeListener(ConfigEventListener l);
-- public static <T extends ConfigEvent> void removeListener(ConfigEventListener l, Class<T> eventType);
-- public static <T extends ConfigEvent>
-- Collection<? extends ConfigEventListener> getListeners();
-- public static <T extends ConfigEvent>
-- Collection<? extends ConfigEventListener> getListeners(Class<T> type);
--
-- public static <T> void fireEvent(ConfigEvent<?> event);
-- public static <T> void fireEventAsynch(ConfigEvent<?> event);
--
-- public static void enableChangeMonitoring(boolean enable);
-- public static boolean isChangeMonitoring();
-- public long getChangeMonitoringPeriod();
-- public void setChangeMonitoringPeriod(long millis);
--
--}</code></pre>
--</div>
--</div>
--<div class="sect3">
--<h4 id="_monitoring_of_configuration_changes">Monitoring of configuration changes</h4>
--<div class="paragraph">
--<p>The ConfigEventManager also supports active monitoring of the current configuration to trigger corresponding change
--events to listeners registered. This feature is deactivated by default, but can be enabled by calling
--ConfigEventManager.enableChangeMonitoring(true);. This feature avoids regularly polling your local Configuration for
--any kind of changes. If a change has been encountered Tamaya identifies it and triggers corresponding
--ConfigurationChange events automatically.</p>
--</div>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_freezing_configurations_and_propertysources">Freezing Configurations and PropertySources</h3>
--<div class="paragraph">
--<p>Configuration instances as well as PropertySources are explicitly not required to be serializable. To enable easy
--serialization of these types a Configuration's <strong>current state can be frozen</strong> (e.g. for later comparison with a newly
--loaded version). Freezing hereby means</p>
--</div>
--<div class="ulist">
--<ul>
--<li>
--<p>all key/values are read-out by calling the getProperties() method.</p>
--</li>
--<li>
--<p>a meta data entry is added of the form _frozenAt=223273777652325677, whichdefines the UTC timestamp in
--milliseconds when this instance was frozen.</p>
--</li>
--<li>
--<p>if not already defined an _id property will be added to the Configuration containing the
--identifier of the configuration.</p>
--</li>
--</ul>
--</div>
--<div class="paragraph">
--<p>In code freezing is a no-brainer:</p>
--</div>
--<div class="listingblock">
--<div class="title">Freezing the current Configuration</div>
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">Configuration config = ConfigurationProvider.getConfiguration();
--Configuration frozenConfig = FrozenConfiguration.of(config);</code></pre>
--</div>
--</div>
--<div class="olist lowerroman">
--<ol class="lowerroman" type="i">
--<li>
--<p>and similarly for a PropertySource:</p>
--</li>
--</ol>
--</div>
--<div class="listingblock">
--<div class="title">Freezing the current Configuration</div>
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">PropertySource propertySource = ...;
--PropertySource frozenSource = FrozenPropertySource.of(propertySource);</code></pre>
--</div>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_spis">SPIs</h3>
--<div class="paragraph">
--<p>This component also defines an additional SPI, which allows to adapt the implementation of the main ConfigEventManager
--singleton. This enables, for example, using external eventing systems, such as CDI, instead of the default provided
--simple SE based implementation. As normal, implementation must be registered using the current ServiceContext
--active, by default using the Java ServiceLoader mechanism.</p>
--</div>
--<div class="listingblock">
--<div class="title">SPI: ConfigEventSpi</div>
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public interface ConfigEventManagerSpi {
--
-- <T> void addListener(ConfigEventListener l);
-- <T extends ConfigEvent> void addListener(ConfigEventListener l, Class<T> eventType);
-- void removeListener(ConfigEventListener l);
-- <T extends ConfigEvent> void removeListener(ConfigEventListener l, Class<T> eventType);
-- Collection<? extends ConfigEventListener> getListeners();
-- Collection<? extends ConfigEventListener> getListeners(Class<? extends ConfigEvent> eventType);
--
-- void fireEvent(ConfigEvent<?> event);
-- void fireEventAsynch(ConfigEvent<?> event);
--
-- long getChangeMonitoringPeriod();
-- void setChangeMonitoringPeriod(long millis);
-- boolean isChangeMonitorActive();
-- void enableChangeMonitor(boolean enable);
--}</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>Summarizing with the events module you can easily observe configuration changes, record the
--state of any configuration and compare configuration states to create and publish related
--change events.</p>
--</div>
--</div>
--</div>
--</div></p>
--
-- <hr />
-- </div>
-- </div>
-- <div>
-- <div id="push"></div>
--
-- <div id="footer">
-- <div class="container">
-- <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
-- | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
- at <span>2016-12-12</span>
- at <span>2016-11-27</span>
-- </p>
-- <p>
-- <b>Disclaimer</b>
-- Apache Tamaya (incubating) is an effort undergoing
-- incubation at
-- The Apache Software Foundation (ASF), sponsored by
-- the name of Apache Incubator. Incubation is required of
-- all newly accepted projects until a further review indicates
-- that the infrastructure, communications, and decision making
-- process have stabilized in a manner consistent with other
-- successful ASF projects. While incubation status is not
-- necessarily a reflection of the completeness or stability of
-- the code, it does indicate that the project has yet to
-- be fully endorsed by the ASF.<br />
-- <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
-- </p>
-- </div>
-- </div>
--
-- <!-- Le javascript
-- ================================================== -->
-- <!-- Placed at the end of the document so the pages load faster -->
-- <script src="../js/jquery-1.11.1.min.js"></script>
-- <script src="../js/bootstrap.min.js"></script>
-- <script src="../js/prettify.js"></script>
--
-- </div>
-- </body>
--</html>
http://git-wip-us.apache.org/repos/asf/incubator-tamaya-site/blob/4f4912e5/extensions/mod_filter.html
----------------------------------------------------------------------
diff --cc extensions/mod_filter.html
index a96bc51,17c3e9b..0000000
deleted file mode 100644,100644
--- a/extensions/mod_filter.html
+++ /dev/null
@@@ -1,278 -1,278 +1,0 @@@
--<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
--
--<html xmlns="http://www.w3.org/1999/xhtml">
-- <head>
-- <meta charset="utf-8"/>
-- <title>Apache Tamaya&#8201;&#8212;&#8201;Extension: User Filtering</title>
-- <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
-- <meta name="description" content=""/>
-- <meta name="author" content=""/>
-- <meta name="keywords" content=""/>
-- <meta name="generator" content="'JBake '+'${version}"/>
--
-- <!-- Le styles -->
-- <link href="../css/bootstrap.min.css" rel="stylesheet"/>
-- <link href="../css/asciidoctor.css" rel="stylesheet"/>
-- <link href="../css/base.css" rel="stylesheet"/>
-- <link href="../css/prettify.css" rel="stylesheet"/>
--
-- <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
-- <!--[if lt IE 9]>
-- <script src="../js/html5shiv.min.js"></script>
-- <![endif]-->
--
-- <!-- Fav and touch icons from ASF -->
-- <link rel="shortcut icon" href="../favicon.ico"/>
-- <link rel="apple-touch-icon" sizes="57x57" href="../favicons/apple-touch-icon-57x57.png"/>
-- <link rel="apple-touch-icon" sizes="60x60" href="../favicons/apple-touch-icon-60x60.png"/>
-- <link rel="apple-touch-icon" sizes="72x72" href="../favicons/apple-touch-icon-72x72.png"/>
-- <link rel="apple-touch-icon" sizes="76x76" href="../favicons/apple-touch-icon-76x76.png"/>
-- <link rel="apple-touch-icon" sizes="114x114" href="../favicons/apple-touch-icon-114x114.png"/>
-- <link rel="apple-touch-icon" sizes="120x120" href="../favicons/apple-touch-icon-120x120.png"/>
-- <link rel="apple-touch-icon" sizes="144x144" href="../favicons/apple-touch-icon-144x144.png"/>
-- <link rel="apple-touch-icon" sizes="152x152" href="../favicons/apple-touch-icon-152x152.png"/>
-- <link rel="apple-touch-icon" sizes="180x180" href="../favicons/apple-touch-icon-180x180.png"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-32x32.png" sizes="32x32"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-194x194.png" sizes="194x194"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-96x96.png" sizes="96x96"/>
-- <link rel="icon" type="image/png" href="../favicons/android-chrome-192x192.png" sizes="192x192"/>
-- <link rel="icon" type="image/png" href="../favicons/favicon-16x16.png" sizes="16x16"/>
-- <link rel="manifest" href="../favicons/manifest.json"/>
-- <link rel="shortcut icon" href="../favicons/favicon.ico"/>
-- <meta name="msapplication-TileColor" content="#603cba"/>
-- <meta name="msapplication-TileImage" content="../favicons/mstile-144x144.png"/>
-- <meta name="msapplication-config" content="../favicons/browserconfig.xml"/>
-- <meta name="theme-color" content="#303284"/>
-- </head>
-- <body onload="prettyPrint()">
-- <div id="wrap">
-- <div>
--
-- <!-- Fixed navbar -->
-- <div class="navbar navbar-default navbar-fixed-top" role="navigation">
-- <div class="container">
-- <div class="navbar-header">
-- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
-- <span class="sr-only">Toggle navigation</span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- <span class="icon-bar"></span>
-- </button>
-- <a class="navbar-brand" href="../">Apache Tamaya (incubating)</a>
-- </div>
-- <div class="navbar-collapse collapse">
-- <ul class="nav navbar-nav">
-- <li><a href="../index.html">Home</a></li>
-- <li><a href="../quickstart.html">Quickstart</a></li>
-- <li><a href="../index.html">Documentation</a></li>
-- <li><a href="..//apidocs/index.html">API</a></li>
-- <li><a href="../index.html">Development</a></li>
-- <li><a href="../index.html">Releases</a></li>
-- <li><a href="../about.html">About</a></li>
-- <li><a href="../sitemap.xml">Sitemap</a></li>
-- <li><a href="../feed.xml">Subscribe</a></li>
--<!--
-- <li class="dropdown">
-- <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
-- <ul class="dropdown-menu">
-- <li><a href="#">Action</a></li>
-- <li><a href="#">Another action</a></li>
-- <li><a href="#">Something else here</a></li>
-- <li class="divider"></li>
-- <li class="dropdown-header">Nav header</li>
-- <li><a href="#">Separated link</a></li>
-- <li><a href="#">One more separated link</a></li>
-- </ul>
-- </li>
---->
-- </ul>
-- </div><!--/.nav-collapse -->
-- </div>
-- </div>
--
-- </div>
-- <div class="container">
--
-- <div class="page-header">
-- <h1>Apache Tamaya&#8201;&#8212;&#8201;Extension: User Filtering</h1>
-- </div>
--
- <p><em>2016-11-28</em></p>
- <p><em>2016-11-19</em></p>
--
-- <p><div id="preamble">
--<div class="sectionbody">
--<!-- toc disabled -->
--</div>
--</div>
--<div class="sect1">
--<h2 id="Optional">User Filtering (Extension Module)</h2>
--<div class="sectionbody">
--<div class="sect2">
--<h3 id="_overview">Overview</h3>
--<div class="paragraph">
--<p>The Tamaya filter module provides a simple singleton accessor that allows to explicitly add PropertyFilter instances
--active on the current thread only. This can be very useful in many scenarios. Additionally this module adds
--standard filters that hide metadata entries when the full configuration map is accessed. When keys are accessed
--explicitily no filtering is applied and everything is visible.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_compatibility">Compatibility</h3>
--<div class="paragraph">
--<p>The module is based on Java 7, so it will not run on Java 7 and beyond.</p>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_installation">Installation</h3>
--<div class="paragraph">
--<p>To benefit from configuration builder support you only must add the corresponding dependency to your module:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-xml" data-lang="xml"><dependency>
-- <groupId>org.apache.tamaya.ext</groupId>
-- <artifactId>tamaya-filter</artifactId>
-- <version>{tamaya_version}</version>
--</dependency></code></pre>
--</div>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_the_extensions_provided">The Extensions Provided</h3>
--<div class="paragraph">
--<p>Tamaya Filter comes basically with 3 artifacts:</p>
--</div>
--<div class="ulist">
--<ul>
--<li>
--<p>The org.apache.tamaya.filter.ConfigurationFilter provides several static methods to register PropertyFilter
--instances on the current thread.</p>
--</li>
--<li>
--<p>The org.apache.tamaya.filter.DefaultMetdataFilter is a PropertyFilter with hides all entries starting with
--an underscore ('_'), when a full property map is accessed.</p>
--</li>
--</ul>
--</div>
--</div>
--<div class="sect2">
--<h3 id="_the_configurationfilter">The ConfigurationFilter</h3>
--<div class="paragraph">
--<p>The accessor mentioned implements the API for for adding PropertyFilters to the current thread (as thread local):</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class ConfigurationFilter implements PropertyFilter{
--
-- ...
--
-- /**
-- * Seactivates metadata filtering also on global map access for this thread.
-- * @see #clearFilters()
-- * @param active true,to enable metadata filtering (default).
-- */
-- public static void setFilterMetadata(boolean active);
--
-- /**
-- * Access the filtering configuration that is used for filtering single property values accessed.
-- * @return the filtering config, never null.
-- */
-- public static FilterContext getSingleFilterContext();
--
-- /**
-- * Access the filtering configuration that is used for filtering configuration properties accessed as full
-- * map.
-- * @return the filtering config, never null.
-- */
-- public static FilterContext getMapFilters();
--
-- /**
-- * Removes all programmable filters active on the current thread.
-- */
-- public static void clearFilters();
--
-- ...
--
--}</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>For using regular expression when filtering configuration keys a corresponding implementation of a PropertyFilter
--is part of this module, So you can add a customized filter as follows:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">try {
-- ConfigurationFilter.getMapFilters().addFilter(new myFilter());
--
-- // do your code with filtering active
--}
--finally {
-- // cleanup
-- ConfigurationFilter.clearFilters();
--}</code></pre>
--</div>
--</div>
--<div class="paragraph">
--<p>The FilterContext is a simple structure just providing some handy accessors to the dynamic thread-local
--managed filters:</p>
--</div>
--<div class="listingblock">
--<div class="content">
--<pre class="prettyprint highlight"><code class="language-java" data-lang="java">public final class FilterContext implements PropertyFilter {
--
-- public void addIncludes(PropertyFilter filter);
-- public void addExcludes(int pos, PropertyFilter filter);
-- public PropertyFilter removeFilter(int pos);
-- public void clearFilters();
-- public void setIncludes(PropertyFilter... filters);
-- public void setExcludes(Collection<PropertyFilter> filters);
-- public List<PropertyFilter> getFilters();
--
--}</code></pre>
--</div>
--</div>
--</div>
--</div>
--</div></p>
--
-- <hr />
-- </div>
-- </div>
-- <div>
-- <div id="push"></div>
--
-- <div id="footer">
-- <div class="container">
-- <p class="muted credit">© 2014-2016 Apache Software Foundation | Mixed with <a href="http://getbootstrap.com/">Bootstrap v3.1.1</a>
-- | Baked with <a href="http://jbake.org">JBake <span>v2.5.0</span></a>
- at <span>2016-12-12</span>
- at <span>2016-11-27</span>
-- </p>
-- <p>
-- <b>Disclaimer</b>
-- Apache Tamaya (incubating) is an effort undergoing
-- incubation at
-- The Apache Software Foundation (ASF), sponsored by
-- the name of Apache Incubator. Incubation is required of
-- all newly accepted projects until a further review indicates
-- that the infrastructure, communications, and decision making
-- process have stabilized in a manner consistent with other
-- successful ASF projects. While incubation status is not
-- necessarily a reflection of the completeness or stability of
-- the code, it does indicate that the project has yet to
-- be fully endorsed by the ASF.<br />
-- <a href="http://incubator.apache.org/guides/website.html" style="border:0px;" target="_target"><img class="incubator-logo" src="../logos/egg-logo2.png"/></a>
-- </p>
-- </div>
-- </div>
--
-- <!-- Le javascript
-- ================================================== -->
-- <!-- Placed at the end of the document so the pages load faster -->
-- <script src="../js/jquery-1.11.1.min.js"></script>
-- <script src="../js/bootstrap.min.js"></script>
-- <script src="../js/prettify.js"></script>
--
-- </div>
-- </body>
--</html>