Skip to content

Commit

Permalink
Maven site: wcm-io-devops/conga
Browse files Browse the repository at this point in the history
  • Loading branch information
wcmio-site-deploy committed Jan 22, 2024
1 parent 3d5030a commit 9da9667
Show file tree
Hide file tree
Showing 69 changed files with 1,860 additions and 1,959 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,12 @@ <h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.yaml.snakeyaml.Yaml)">AbstractModelReader</a></span>&#8203;(org.yaml.snakeyaml.Yaml&nbsp;yaml)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
Expand Down Expand Up @@ -243,7 +245,7 @@ <h3>Constructor Detail</h3>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractModelReader</h4>
<pre>public&nbsp;AbstractModelReader&#8203;(org.yaml.snakeyaml.Yaml&nbsp;yaml)</pre>
<pre>protected&nbsp;AbstractModelReader&#8203;(org.yaml.snakeyaml.Yaml&nbsp;yaml)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>yaml</code> - YAML</dd>
Expand Down
Binary file modified conga/generator/apidocs/member-search-index.zip
Binary file not shown.
Binary file modified conga/generator/apidocs/package-search-index.zip
Binary file not shown.
Binary file modified conga/generator/apidocs/type-search-index.zip
Binary file not shown.
2 changes: 1 addition & 1 deletion conga/generator/jacoco-unit/index.html

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<span class="fc" id="L92"> }</span>
}
<span class="nc" id="L94"> catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException ex) {</span>
<span class="nc" id="L95"> throw new RuntimeException(&quot;Unable to get bean properties from '&quot; + object.getClass().getName() + &quot;'.&quot;, ex);</span>
<span class="nc" id="L95"> throw new IllegalArgumentException(&quot;Unable to get bean properties from '&quot; + object.getClass().getName() + &quot;'.&quot;, ex);</span>
<span class="fc" id="L96"> }</span>
<span class="fc" id="L97"> }</span>

Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!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" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JexlResolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">CONGA Generator</a> &gt; <a href="index.html" class="el_package">io.wcm.devops.conga.generator.util</a> &gt; <span class="el_class">JexlResolver</span></div><h1>JexlResolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 143</td><td class="ctr2">98%</td><td class="bar">1 of 18</td><td class="ctr2">94%</td><td class="ctr1">1</td><td class="ctr2">15</td><td class="ctr1">1</td><td class="ctr2">38</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="JexlResolver.java.html#L80" class="el_method">lambda$resolveMapWithoutCycles$0(Map.Entry)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="114" height="10" title="41" alt="41"/></td><td class="ctr2" id="c5">95%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="11" alt="11"/></td><td class="ctr2" id="e1">91%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="JexlResolver.java.html#L105" class="el_method">hasJexlExpresssions(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="86" height="10" title="31" alt="31"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="JexlResolver.java.html#L65" class="el_method">resolve(String, Map)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="78" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="JexlResolver.java.html#L55" class="el_method">JexlResolver(VariableMapResolver)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="50" height="10" title="18" alt="18"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="JexlResolver.java.html#L79" class="el_method">resolveMapWithoutCycles(Map)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="50" height="10" title="18" alt="18"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="JexlResolver.java.html#L52" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
<?xml version="1.0" encoding="UTF-8"?><!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" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>JexlResolver</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">CONGA Generator</a> &gt; <a href="index.html" class="el_package">io.wcm.devops.conga.generator.util</a> &gt; <span class="el_class">JexlResolver</span></div><h1>JexlResolver</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2 of 143</td><td class="ctr2">98%</td><td class="bar">1 of 18</td><td class="ctr2">94%</td><td class="ctr1">1</td><td class="ctr2">15</td><td class="ctr1">1</td><td class="ctr2">38</td><td class="ctr1">0</td><td class="ctr2">6</td></tr></tfoot><tbody><tr><td id="a2"><a href="JexlResolver.java.html#L80" class="el_method">lambda$resolveMapWithoutCycles$0(Map.Entry)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="2" alt="2"/><img src="../jacoco-resources/greenbar.gif" width="114" height="10" title="41" alt="41"/></td><td class="ctr2" id="c5">95%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="10" height="10" title="1" alt="1"/><img src="../jacoco-resources/greenbar.gif" width="110" height="10" title="11" alt="11"/></td><td class="ctr2" id="e1">91%</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">7</td><td class="ctr1" id="h0">1</td><td class="ctr2" id="i1">9</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="JexlResolver.java.html#L104" class="el_method">hasJexlExpresssions(String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="86" height="10" title="31" alt="31"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"><img src="../jacoco-resources/greenbar.gif" width="60" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i0">10</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a3"><a href="JexlResolver.java.html#L65" class="el_method">resolve(String, Map)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="78" height="10" title="28" alt="28"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i3">6</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="JexlResolver.java.html#L55" class="el_method">JexlResolver(VariableMapResolver)</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="50" height="10" title="18" alt="18"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr><tr><td id="a4"><a href="JexlResolver.java.html#L79" class="el_method">resolveMapWithoutCycles(Map)</a></td><td class="bar" id="b4"><img src="../jacoco-resources/greenbar.gif" width="50" height="10" title="18" alt="18"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d4"/><td class="ctr2" id="e4">n/a</td><td class="ctr1" id="f4">0</td><td class="ctr2" id="g4">1</td><td class="ctr1" id="h4">0</td><td class="ctr2" id="i4">4</td><td class="ctr1" id="j4">0</td><td class="ctr2" id="k4">1</td></tr><tr><td id="a5"><a href="JexlResolver.java.html#L52" class="el_method">static {...}</a></td><td class="bar" id="b5"><img src="../jacoco-resources/greenbar.gif" width="13" height="10" title="5" alt="5"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d5"/><td class="ctr2" id="e5">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" id="g5">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i5">1</td><td class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.11.202310140853</span></div></body></html>
Original file line number Diff line number Diff line change
Expand Up @@ -79,46 +79,45 @@
<span class="fc" id="L79"> SplitResult splitResult = MapSplitter.splitMap(variables, entry -&gt; {</span>
<span class="fc bfc" id="L80" title="All 2 branches covered."> if (entry.getValue() instanceof List) {</span>
<span class="fc bfc" id="L81" title="All 2 branches covered."> for (Object item : (List)entry.getValue()) {</span>
<span class="fc bfc" id="L82" title="All 2 branches covered."> if (item instanceof String) {</span>
<span class="pc bpc" id="L83" title="1 of 2 branches missed."> if (hasJexlExpresssions((String)item)) {</span>
<span class="nc" id="L84"> return false;</span>
}
<span class="fc bfc" id="L82" title="All 2 branches covered."> if ((item instanceof String)</span>
<span class="pc bpc" id="L83" title="1 of 2 branches missed."> &amp;&amp; hasJexlExpresssions((String)item)) {</span>
<span class="nc" id="L84"> return false;</span>
}
<span class="fc" id="L87"> }</span>
<span class="fc" id="L86"> }</span>
}
<span class="fc bfc" id="L89" title="All 2 branches covered."> else if (entry.getValue() instanceof String) {</span>
<span class="fc bfc" id="L90" title="All 2 branches covered."> return !hasJexlExpresssions((String)entry.getValue());</span>
<span class="fc bfc" id="L88" title="All 2 branches covered."> else if (entry.getValue() instanceof String) {</span>
<span class="fc bfc" id="L89" title="All 2 branches covered."> return !hasJexlExpresssions((String)entry.getValue());</span>
}
<span class="fc" id="L92"> return true;</span>
<span class="fc" id="L91"> return true;</span>
});

// resolve simple variable references inside map
<span class="fc" id="L96"> Map&lt;String, Object&gt; resolvedVariables = variableMapResolver.resolve(splitResult.getMatching());</span>
<span class="fc" id="L95"> Map&lt;String, Object&gt; resolvedVariables = variableMapResolver.resolve(splitResult.getMatching());</span>

// add back variables with complex expressions without resolving them
<span class="fc" id="L99"> resolvedVariables = MapMerger.merge(resolvedVariables, splitResult.getUnmatching());</span>
<span class="fc" id="L98"> resolvedVariables = MapMerger.merge(resolvedVariables, splitResult.getUnmatching());</span>

<span class="fc" id="L101"> return resolvedVariables;</span>
<span class="fc" id="L100"> return resolvedVariables;</span>
}

private boolean hasJexlExpresssions(String expressionString) {
<span class="fc" id="L105"> Matcher matcher = MULTI_EXPRESSION_PATTERN.matcher(expressionString);</span>
<span class="fc bfc" id="L106" title="All 2 branches covered."> while (matcher.find()) {</span>
<span class="fc" id="L104"> Matcher matcher = MULTI_EXPRESSION_PATTERN.matcher(expressionString);</span>
<span class="fc bfc" id="L105" title="All 2 branches covered."> while (matcher.find()) {</span>

<span class="fc" id="L108"> boolean escapedVariable = StringUtils.equals(matcher.group(EXPRESSION_POS_DOLLAR_SIGN), &quot;\\$&quot;);</span>
<span class="fc" id="L109"> String expression = matcher.group(EXPRESSION_POS_EXPRESSION);</span>
<span class="fc" id="L107"> boolean escapedVariable = StringUtils.equals(matcher.group(EXPRESSION_POS_DOLLAR_SIGN), &quot;\\$&quot;);</span>
<span class="fc" id="L108"> String expression = matcher.group(EXPRESSION_POS_EXPRESSION);</span>

// keep escaped variables intact
<span class="fc bfc" id="L112" title="All 2 branches covered."> if (!escapedVariable) {</span>
<span class="fc" id="L113"> Matcher variableMatcher = VARIABLE_PATTERN.matcher(expression);</span>
<span class="fc bfc" id="L111" title="All 2 branches covered."> if (!escapedVariable) {</span>
<span class="fc" id="L112"> Matcher variableMatcher = VARIABLE_PATTERN.matcher(expression);</span>
// if expression found that matches not the variable pattern this string contains Jexl expressions
<span class="fc bfc" id="L115" title="All 2 branches covered."> if (!variableMatcher.matches()) {</span>
<span class="fc" id="L116"> return true;</span>
<span class="fc bfc" id="L114" title="All 2 branches covered."> if (!variableMatcher.matches()) {</span>
<span class="fc" id="L115"> return true;</span>
}
}

<span class="fc" id="L120"> }</span>
<span class="fc" id="L121"> return false;</span>
<span class="fc" id="L119"> }</span>
<span class="fc" id="L120"> return false;</span>
}

}
Expand Down
Loading

0 comments on commit 9da9667

Please sign in to comment.