You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shiro.apache.org by bd...@apache.org on 2016/10/19 14:24:55 UTC
[65/67] shiro-site git commit: Replaced latest version with variable
http://git-wip-us.apache.org/repos/asf/shiro-site/blob/07b38e48/download.html.vtl
----------------------------------------------------------------------
diff --git a/download.html.vtl b/download.html.vtl
new file mode 100644
index 0000000..94a9733
--- /dev/null
+++ b/download.html.vtl
@@ -0,0 +1,1088 @@
+#parse("templates/includes.vtl")
+
+<h1><a name="Download-DownloadApacheShiro"></a>Download Apache Shiro</h1>
+
+<table align="right" width="275" style="margin-left: 20px; margin-bottom: 20px; border-style: solid; border-width: 2px; border-color: navy" cellpadding="10px">
+
+<tr>
+<td>
+<div id="border">
+ <h2>Related Content</h2>
+
+ <h3><a href="get-started.html">Getting Started</a></h3>
+ <p>Resources, guides and tutorials for new Shiro users. </br><span style="font-size:11"><a href="get-started.html">Read More >></a></span></p>
+
+ <h3><a href="10-minute-tutorial.html">10-Minute Shiro Tutorial</a></h3>
+ <p>Try Apache Shiro for yourself in under 10 minutes. </br><span style="font-size:11"><a href="10-minute-tutorial.html">Read More >></a></span></p>
+
+ <h3><a href="webapp-tutorial.html">Web App Tutorial</a></h3>
+ <p>Step-by-step tutorial for securing a web application with Shiro. </br><span style="font-size:11"><a href="webapp-tutorial.html">Read More >></a></span></p>
+
+ <h3><a href="java-authentication-guide.html">Java Authentication Guide</a></h3>
+ <p>Learn how Authentication in Java is performed in Shiro. </br><span style="font-size:11"><a href="java-authentication-guide.html">Read More >></a></span></p>
+
+ <h3><a href="java-authorization-guide.html">Java Authorization Guide</a></h3>
+ <p>Learn how Shiro handles access control in Java. </br><span style="font-size:11"><a href="java-authorization-guide.html">Read More >></a></span></p>
+
+</div>
+</td>
+</tr>
+</table>
+
+<p>Apache Shiro ${latestRelease} is the current stable release (Java 1.6+ JVM).</p>
+
+<p>To download Shiro please follow the instructions below.</p>
+
+<h3>Code Signatures</h3>
+
+<p>You may <a class="external-link" href="http://www.apache.org/dev/release-signing.html#verifying-signature">verify the
+ authenticity</a> of all artifacts below by using the PGP <a class="external-link"
+ href="http://www.apache.org/dist/shiro/KEYS">KEYS</a>
+ file. </p>
+
+<h3>Releases</h3>
+
+<div>
+ <ul>
+ <li>
+ <a href="#latest">Latest Stable Release (${latestRelease})</a>
+ <ul>
+ <li><a href="#latestBinary">${latestRelease} Binary Distribution</a></li>
+ <li><a href="#latestSource">${latestRelease} Source Code Distribution</a></li>
+ <li><a href="#latestGit">${latestRelease} Git Source repository</a></li>
+ </ul>
+ </li>
+ <li><a href="#previous">Previous Releases</a>
+ <ul>
+ <li><a href="#1.2.xBinary">1.2.6</a></li>
+ <ul>
+ <li><a href="#1.2.xBinary">1.2.6 Binary Distribution</a></li>
+ <li><a href="#1.2.xSource">1.2.6 Source Code Distribution</a></li>
+ <li><a href="#1.2.xGit">1.2.6 Git Source repository</a></li>
+ </ul>
+ </ul>
+ <ul>
+ <li><a href="#1.1.0Binary">1.1.0</a></li>
+ <ul>
+ <li><a href="#1.1.0Binary">1.1.0 Binary Distribution</a></li>
+ <li><a href="#1.1.0Source">1.1.0 Source Code Distribution</a></li>
+ <li><a href="#1.1.0Git">1.1.0 Git Source repository</a></li>
+ </ul>
+ </ul>
+ </li>
+ </ul>
+</div>
+
+
+<h2><a name="latest"></a>Latest Stable Release (${latestRelease})</h2>
+
+<h3><a name="latestBinary"></a>${latestRelease} Binary Distribution</h3>
+
+<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>
+
+<p>To download the files directly as one .jar file just click the link in the "Artifact" column. If you would like
+ acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>
+
+<p>
+</p>
+<div class="table-wrap">
+
+ <table class="confluenceTable" id="table-latest">
+ <tbody>
+ <tr>
+ <th colspan="1" rowspan="1" class="confluenceTh"> Artifact</th>
+ <th colspan="1" rowspan="1" class="confluenceTh"> Maven Usage</th>
+ <th colspan="1" rowspan="1" class="confluenceTh"> Notes</th>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-all/${latestRelease}/shiro-all-${latestRelease}.jar">shiro-all</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd"><b>Not Recommended</b></td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Includes all binary functionality for Shiro (without
+ dependencies), useful in certain build environments (e.g. Ant). However, this is <b>NOT</b>
+ recommended in Maven builds as it does not retain correct dependency metadata, which can lead to
+ Maven working incorrectly. For Maven builds, it is <b>highly</b> recommended to specify individual
+ modules listed below as you require them.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-core/${latestRelease}/shiro-core-${latestRelease}.jar">shiro-core</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-core</artifactId>
+ <version>${latestRelease}</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Required in all environments. <a class="external-link"
+ href="http://slf4j.org/">Slf4j</a>'s
+ <tt>slf4j-api</tt> jar and one of its binding jars is required. <tt>commons-beanutils</tt> is
+ required only if using INI config.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-web/${latestRelease}/shiro-web-${latestRelease}.jar">shiro-web</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-web</artifactId>
+ <version>${latestRelease}</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables support for web-based applications.</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/${latestRelease}/shiro-aspectj-${latestRelease}.jar">shiro-aspectj</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-aspectj</artifactId>
+ <version>${latestRelease}</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://www.eclipse.org/aspectj/">AspectJ</a> support for
+ Shiro AOP and Annotations.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/${latestRelease}/shiro-cas-${latestRelease}.jar">shiro-cas</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-cas</artifactId>
+ <version>${latestRelease}</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables Jasig <a class="external-link"
+ href="http://www.jasig.org/cas">CAS</a> support.
+ <div class="warning">
+ <span>NOTE:</span>
+ Shiro-CAS support is deprecated, support has been moved to the Apache Shiro based <a href="https://github.com/bujiio/buji-pac4j">buji-pac4j</a> project.
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/${latestRelease}/shiro-ehcache-${latestRelease}.jar">shiro-ehcache</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-ehcache</artifactId>
+ <version>${latestRelease}</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://ehcache.org">Ehcache</a>-based
+ famework caching.
+ </td>
+ </tr>
+
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-hazelcast/${latestRelease}/shiro-hazelcast-${latestRelease}.jar">shiro-hazelcast</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-hazelcast</artifactId>
+ <version>${latestRelease}</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://hazelcast.org">Hazelcast</a>-based
+ famework caching.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-features/${latestRelease}/shiro-features-${latestRelease}-features.xml">shiro-features</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-features</artifactId>
+ <version>${latestRelease}</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> OSGi / <a class="external-link"
+ href="http://karaf.apache.org/">Apache
+ Karaf</a> integration.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/${latestRelease}/shiro-guice-${latestRelease}.jar">shiro-guice</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-guice</artifactId>
+ <version>${latestRelease}</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://code.google.com/p/google-guice/">Google Guice</a>
+ integration.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/${latestRelease}/shiro-quartz-${latestRelease}.jar">shiro-quartz</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-quartz</artifactId>
+ <version>${latestRelease}</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://www.quartz-scheduler.org/">Quartz</a>-based scheduling
+ for Shiro native session validation.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/${latestRelease}/shiro-spring-${latestRelease}.jar">shiro-spring</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-spring</artifactId>
+ <version>${latestRelease}</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://www.springsource.org/about">Spring Framework</a>
+ integration.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/${latestRelease}/shiro-tools-hasher-${latestRelease}-cli.jar">shiro-tools-hasher-cli</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd"><b>Not Relevant</b></td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> A command-line program to perform hashing (MD5, SHA,
+ etc) for files, streams and passwords. Note that this is a command line program and not intended to
+ be <br clear="none">
+ used as a Maven/program dependency. It is intended to be downloaded and executed:
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java">
+java -jar shiro-tools-hasher-${latestRelease}-cli.jar
+</pre>
+ </div>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+
+<h3><a name="latestSource"></a>${latestRelease} Source Code Distribution</h3>
+
+<p>The source bundle requires JDK 1.6 and Maven 3.0.3+ to build:</p>
+
+<p><a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/${latestRelease}/shiro-root-${latestRelease}-source-release.zip">zip</a>
+ (<a class="external-link"
+ href="http://www.apache.org/dyn/closer.cgi/shiro/${latestRelease}/shiro-root-${latestRelease}-source-release.zip.asc">pgp</a>, <a
+ class="external-link"
+ href="http://www.apache.org/dyn/closer.cgi/shiro/${latestRelease}/shiro-root-${latestRelease}-source-release.zip.md5">md5</a>, <a
+ class="external-link"
+ href="http://www.apache.org/dyn/closer.cgi/shiro/${latestRelease}/shiro-root-${latestRelease}-source-release.zip.sha1">sha1</a>)
+</p>
+
+<h3><a name="latestGit"></a>${latestRelease} Git Source repository</h3>
+
+<p>The source can be cloned anonymously from Git with this command:</p>
+<div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java">
+git clone https:<span class="code-comment">//github.com/apache/shiro.git</span>
+git checkout shiro-root-${latestRelease} -b shiro-root-${latestRelease}
+</pre>
+ </div>
+</div>
+
+<h2><a name="previous"></a>Previous Releases</h2>
+
+
+<h3><a name="1.2.xBinary"></a>1.2.6 Binary Distribution</h3>
+
+<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>
+
+<p>To download the files directly as one .jar file just click the link in the "Artifact" column. If you would like
+ acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>
+
+<p>
+</p>
+<div class="table-wrap">
+
+ <table class="confluenceTable" id="table-1.2.x">
+ <tbody>
+ <tr>
+ <th colspan="1" rowspan="1" class="confluenceTh"> Artifact</th>
+ <th colspan="1" rowspan="1" class="confluenceTh"> Maven Usage</th>
+ <th colspan="1" rowspan="1" class="confluenceTh"> Notes</th>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-all/1.2.6/shiro-all-1.2.6.jar">shiro-all</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd"><b>Not Recommended</b></td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Includes all binary functionality for Shiro (without
+ dependencies), useful in certain build environments (e.g. Ant). However, this is <b>NOT</b>
+ recommended in Maven builds as it does not retain correct dependency metadata, which can lead to
+ Maven working incorrectly. For Maven builds, it is <b>highly</b> recommended to specify individual
+ modules listed below as you require them.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-core/1.2.6/shiro-core-1.2.6.jar">shiro-core</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-core</artifactId>
+ <version>1.2.6</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Required in all environments. <a class="external-link"
+ href="http://slf4j.org/">Slf4j</a>'s
+ <tt>slf4j-api</tt> jar and one of its binding jars is required. <tt>commons-beanutils</tt> is
+ required only if using INI config.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-web/1.2.6/shiro-web-1.2.6.jar">shiro-web</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-web</artifactId>
+ <version>1.2.6</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables support for web-based applications.</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/1.2.6/shiro-aspectj-1.2.6.jar">shiro-aspectj</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-aspectj</artifactId>
+ <version>1.2.6</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://www.eclipse.org/aspectj/">AspectJ</a> support for
+ Shiro AOP and Annotations.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-cas/1.2.6/shiro-cas-1.2.6.jar">shiro-cas</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-cas</artifactId>
+ <version>1.2.6</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables Jasig <a class="external-link"
+ href="http://www.jasig.org/cas">CAS</a> support.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/1.2.6/shiro-ehcache-1.2.6.jar">shiro-ehcache</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-ehcache</artifactId>
+ <version>1.2.6</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://ehcache.org">Ehcache</a>-based
+ famework caching.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-features/1.2.6/shiro-features-1.2.6-features.xml">shiro-features</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-features</artifactId>
+ <version>1.2.6</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> OSGi / <a class="external-link"
+ href="http://karaf.apache.org/">Apache
+ Karaf</a> integration.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-guice/1.2.6/shiro-guice-1.2.6.jar">shiro-guice</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-guice</artifactId>
+ <version>1.2.6</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://code.google.com/p/google-guice/">Google Guice</a>
+ integration.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/1.2.6/shiro-quartz-1.2.6.jar">shiro-quartz</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-quartz</artifactId>
+ <version>1.2.6</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://www.quartz-scheduler.org/">Quartz</a>-based scheduling
+ for Shiro native session validation.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/1.2.6/shiro-spring-1.2.6.jar">shiro-spring</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-spring</artifactId>
+ <version>1.2.6</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://www.springsource.org/about">Spring Framework</a>
+ integration.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/tools/shiro-tools-hasher/1.2.6/shiro-tools-hasher-1.2.6-cli.jar">shiro-tools-hasher-cli</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd"><b>Not Relevant</b></td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> A command-line program to perform hashing (MD5, SHA,
+ etc) for files, streams and passwords. Note that this is a command line program and not intended to
+ be <br clear="none">
+ used as a Maven/program dependency. It is intended to be downloaded and executed:
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java">
+java -jar shiro-tools-hasher-1.2.6-cli.jar
+</pre>
+ </div>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+
+<h3><a name="1.2.xSource"></a>1.2.6 Source Code Distribution</h3>
+
+<p>The source bundle requires JDK 1.6 and Maven 3.0.3+ to build:</p>
+
+<p><a class="external-link" href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.6/shiro-root-1.2.6-source-release.zip">zip</a>
+ (<a class="external-link"
+ href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.6/shiro-root-1.2.6-source-release.zip.asc">pgp</a>, <a
+ class="external-link"
+ href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.6/shiro-root-1.2.6-source-release.zip.md5">md5</a>, <a
+ class="external-link"
+ href="http://www.apache.org/dyn/closer.cgi/shiro/1.2.6/shiro-root-1.2.6-source-release.zip.sha1">sha1</a>)
+</p>
+
+<h3><a name="1.2.xGit"></a>1.2.6 Git Source repository</h3>
+
+<p>The source can be cloned anonymously from Git with this command:</p>
+<div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java">
+git clone https:<span class="code-comment">//github.com/apache/shiro.git</span>
+git checkout shiro-root-1.2.6 -b shiro-root-1.2.6
+</pre>
+ </div>
+</div>
+
+
+<h3><a name="1.1.0"></a>1.1.0</h3>
+
+<h4><a name="1.1.0Binary"></a>1.1.0 Binary Distribution</h4>
+
+<p>Associated documentation can be found <a href="documentation.html" title="Documentation">here</a></p>
+
+<p>To download the files directly as one .jar file just click the link in the "Artifact" column. If you would like
+ acquire Shiro through Maven, then please use the markup listed under "Maven Usage"</p>
+
+<p>
+</p>
+<div class="table-wrap">
+
+ <table class="confluenceTable" id="table-1.1.0">
+ <tbody>
+ <tr>
+ <th colspan="1" rowspan="1" class="confluenceTh"> Artifact</th>
+ <th colspan="1" rowspan="1" class="confluenceTh"> Maven Usage</th>
+ <th colspan="1" rowspan="1" class="confluenceTh"> Notes</th>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-all/1.1.0/shiro-all-1.1.0.jar">shiro-all</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd"><b>Not Recommended</b></td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Includes all binary functionality for Shiro (without
+ dependencies), useful in certain build environments (e.g. Ant). However, this is <b>NOT</b>
+ recommended in Maven builds as it does not retain correct dependency metadata, which can lead to
+ Maven working incorrectly. For Maven builds, it is <b>highly</b> recommended to specify individual
+ modules listed below as you require them.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-core/1.1.0/shiro-core-1.1.0.jar">shiro-core</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-core</artifactId>
+ <version>1.1.0</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Required in all environments. <a class="external-link"
+ href="http://slf4j.org/">Slf4j</a>'s
+ <tt>slf4j-api</tt> jar and one of its binding jars is required. <tt>commons-beanutils</tt> is
+ required only if using INI config.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-web/1.1.0/shiro-web-1.1.0.jar">shiro-web</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-web</artifactId>
+ <version>1.1.0</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables support for web-based applications.</td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-aspectj/1.1.0/shiro-aspectj-1.1.0.jar">shiro-aspectj</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-aspectj</artifactId>
+ <version>1.1.0</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://www.eclipse.org/aspectj/">AspectJ</a> support for
+ Shiro AOP and Annotations.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-ehcache/1.1.0/shiro-ehcache-1.1.0.jar">shiro-ehcache</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-ehcache</artifactId>
+ <version>1.1.0</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://ehcache.org">Ehcache</a>-based
+ famework caching.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-quartz/1.1.0/shiro-quartz-1.1.0.jar">shiro-quartz</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-quartz</artifactId>
+ <version>1.1.0</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://www.quartz-scheduler.org/">Quartz</a>-based scheduling
+ for Shiro native session validation.
+ </td>
+ </tr>
+ <tr>
+ <td colspan="1" rowspan="1" class="confluenceTd"><a class="external-link"
+ href="http://repo1.maven.org/maven2/org/apache/shiro/shiro-spring/1.1.0/shiro-spring-1.1.0.jar">shiro-spring</a></td>
+ <td colspan="1" rowspan="1" class="confluenceTd">
+ <div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java"><dependency>
+ <groupId>org.apache.shiro</groupId>
+ <artifactId>shiro-spring</artifactId>
+ <version>1.1.0</version>
+</dependency></pre>
+ </div>
+ </div>
+ </td>
+ <td colspan="1" rowspan="1" class="confluenceTd"> Enables <a class="external-link"
+ href="http://www.springsource.org/about">Spring Framework</a>
+ integration.
+ </td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+
+<h4><a name="1.1.0Source"></a>1.1.0 Source Code Distribution</h4>
+
+<p>The 1.1.0 source bundle requires JDK 1.5+ and Maven 2.2+ to build:</p>
+
+<p><a class="external-link"
+ href="http://archive.apache.org/dist/shiro/1.1.0/shiro-root-1.1.0-source-release.zip">zip</a> (<a
+ class="external-link" href="http://archive.apache.org/dist/shiro/1.1.0/shiro-root-1.1.0-source-release.zip.asc">pgp</a>,
+ <a class="external-link" href="http://archive.apache.org/dist/shiro/1.1.0/shiro-root-1.1.0-source-release.zip.md5">md5</a>,
+ <a class="external-link" href="http://archive.apache.org/dist/shiro/1.1.0/shiro-root-1.1.0-source-release.zip.sha1">sha1</a>)
+</p>
+
+<h4><a name="1.1.0Git"></a>1.1.0 Git Source repository</h4>
+
+<p>The source can be cloned anonymously from Git with this command:</p>
+<div class="code panel" style="border-width: 1px;">
+ <div class="codeContent panelContent">
+<pre class="code-java">
+git clone https:<span class="code-comment">//github.com/apache/shiro.git</span>
+git checkout shiro-root-1.1.0 -b shiro-root-1.1.0
+</pre>
+ </div>
+</div>
+
+
+<script type="text/javascript"> <!--
+//Copyright(c)2005,2010 Bob Swift and other contributors. All rights reserved.
+function getElementInnerText(element) {
+ var str = "";
+ for (var i = 0; i < element.childNodes.length; i++) {
+ switch (element.childNodes.item(i).nodeType) {
+ case 1:
+ str += getElementInnerText(element.childNodes.item(i));
+ break;
+ case 3:
+ str += element.childNodes.item(i).nodeValue;
+ break;
+ }
+ }
+ return str;
+}
+function trimSafe(v) {
+ return((v == undefined) || (v == null)) ? "" : v.Trim();
+}
+String.prototype.Trim = new Function("return this.replace(/^\\s+|\\s+$/g,'')");
+function compareNumber(v1, v2) {
+ if (isNaN(v2)) {
+ if (isNaN(v1))return 0;
+ return-1;
+ }
+ if (v1 < v2)return-1;
+ if (v1 == v2)return 0;
+ return 1;
+}
+function compareSeparatedNumber(v1, v2) {
+ for (i = 0; (i < v1.length) && (i < v2.length); i++) {
+ var result = compareNumber(parseInt(v1[i]), parseInt(v2[i]));
+ if (result != 0)return result;
+ }
+ if (v1.length < v2.length)return-1;
+ if (v2.length < v1.length)return 1;
+ return 0;
+}
+function sortByCell(sortCell, firstDataRowIndex, footingCount) {
+ var compareFunction;
+ var valueParser;
+ compareFunction = compareNumber;
+ if (sortCell.columnType == "I") {
+ valueParser = function (value) {
+ return parseInt(getElementInnerText(value));
+ };
+ } else if (sortCell.columnType == "F") {
+ valueParser = function (value) {
+ return parseFloat(getElementInnerText(value));
+ };
+ } else if (sortCell.columnType == "C") {
+ valueParser = function (value) {
+ return parseFloat(getElementInnerText(value).replace(/[^\d\.\,\-]*([\d\.\,\-*]*).*/, '$1'));
+ };
+ } else if (sortCell.columnType.charAt(0) == 'D') {
+ if (Date.parseString) {
+ valueParser = function (value) {
+ var date = Date.parseString(trimSafe(getElementInnerText(value)), sortCell.columnType.substring(1));
+ return((date == null) ? NaN : date.getTime());
+ };
+ } else {
+ valueParser = function (value) {
+ return Date.parse(getElementInnerText(value));
+ };
+ }
+ } else if ((sortCell.columnType == "/") || (sortCell.columnType == ".") || (sortCell.columnType == "-") || (sortCell.columnType == ":")) {
+ compareFunction = compareSeparatedNumber;
+ valueParser = function (value) {
+ return getElementInnerText(value).split(sortCell.columnType);
+ };
+ } else if (sortCell.columnType == "A") {
+ valueParser = function (value) {
+ return 0;
+ };
+ } else {
+ compareFunction = function (v1, v2) {
+ if (v1 < v2)return-1;
+ if (v1 == v2)return 0;
+ return 1;
+ };
+ valueParser = function (value) {
+ return trimSafe(getElementInnerText(value)).toUpperCase();
+ };
+ }
+ var headRowCount = (sortCell.sortTable.tHead == null) ? 0 : sortCell.sortTable.tHead.rows.length;
+ firstDataRowIndex = firstDataRowIndex - headRowCount;
+ var table = sortCell.sortTable.tBodies[0];
+ var rowCount = table.rows.length - firstDataRowIndex - footingCount;
+ var map = Array(rowCount);
+ var values = Array(rowCount);
+ var compareTest = (sortCell.sortDescending ? -1 : 1);
+ sortCell.sortDescending = !sortCell.sortDescending;
+ var firstCell = (((sortCell.sortTable.tHead == null) || (sortCell.sortTable.tHead.rows.length == 0)) ? table.rows[0].cells[sortCell.columnIndex] : sortCell.sortTable.tHead.rows[0].cells[sortCell.columnIndex]);
+ if ((firstCell != null) && (firstCell.sortTable != null) && (firstCell.sortTable != undefined) && (firstCell.sortTable.sortImage != null) && (firstCell.sortTable.sortImage != undefined)) {
+ firstCell.sortTable.sortImage.setAttribute("src", firstCell.sortDescending ? firstCell.sortTable.sortAttributeDescending : firstCell.sortTable.sortAttributeAscending);
+ firstCell.appendChild(firstCell.sortTable.sortImage);
+ }
+ var i;
+ for (i = 0; i < rowCount; i++) {
+ map[i] = sortCell.sortFirstTime ? i : (rowCount - 1 - i);
+ var row = table.rows[i + firstDataRowIndex];
+ var cellValue = row.cells[sortCell.columnIndex];
+ values[i] = valueParser(cellValue);
+ }
+ sortCell.sortFirstTime = false;
+ var didSwap;
+ do {
+ didSwap = false;
+ for (i = 0; i < rowCount - 1; i++) {
+ if (compareFunction(values[map[i]], values[map[i + 1]]) == compareTest) {
+ saveIndex = map[i];
+ map[i] = map[i + 1];
+ map[i + 1] = saveIndex;
+ didSwap = true;
+ }
+ }
+ } while (didSwap);
+ var tableRows = new Array();
+ for (i = 0; i < rowCount + footingCount; i++) {
+ tableRows.push(table.rows[i + firstDataRowIndex]);
+ }
+ for (i = 0; i < rowCount + footingCount; i++) {
+ table.removeChild(tableRows[i]);
+ }
+ for (i = 0; i < rowCount; i++) {
+ var row = tableRows[map[i]];
+ table.appendChild(row);
+ if (row.autoNumber) {
+ row.cells[0].innerHTML = i + 1;
+ }
+ }
+ for (i = 0; i < footingCount; i++) {
+ table.appendChild(tableRows[i + rowCount]);
+ }
+}
+function enableSortOnCell(cell, columnIndex, table, columnTypes, customize) {
+ cell.style.cursor = "pointer";
+ cell.sortTable = table;
+ cell.sortFirstTime = true;
+ cell.sortDescending = false;
+ cell.columnIndex = (customize.autoNumber ? (columnIndex + 1) : columnIndex);
+ if (columnIndex == -1) {
+ cell.columnType = "I";
+ } else {
+ cell.columnType = (columnTypes && columnTypes[columnIndex]) ? columnTypes[columnIndex] : "S";
+ }
+ if (cell.columnType != "X") {
+ cell.onmouseover = function () {
+ this.saveTitle = this.getAttribute('title');
+ this.setAttribute('title', customize.sortTip + " " + ((this.saveTitle != null) && (this.saveTitle != undefined) ? this.saveTitle : ''));
+ };
+ cell.onmouseout = function () {
+ this.setAttribute('title', this.saveTitle);
+ };
+ cell.onclick = function () {
+ sortByCell(this, customize.firstDataRowIndex, customize.footingCount);
+ };
+ } else {
+ cell.columnType = cell.columnType.substring(1);
+ }
+}
+function sumColumn(table, index, firstDataRowIndex, columnType) {
+ var total = 0;
+ for (var i = firstDataRowIndex; i < table.rows.length; i++) {
+ var cell = table.rows[i].cells[index];
+ var value;
+ if (cell) {
+ if (columnType == 'C') {
+ value = parseFloat(getElementInnerText(cell).replace(/[^\d\.\,\-]*([\d\.\,\-*]*).*/, '$1'))
+ } else {
+ value = parseFloat(getElementInnerText(cell));
+ }
+ if (!isNaN(value)) {
+ total = total + value;
+ }
+ }
+ }
+ return total;
+}
+function appendTotalRow(table, columnTypes, firstDataRowIndex) {
+ var row = document.createElement('tr');
+ var table = table.tBodies[0];
+ var columnCount = (0 < table.rows.length) ? table.rows[table.rows.length - 1].cells.length : 0;
+ for (var columnIndex = 0; columnIndex < columnCount; columnIndex++) {
+ var column = document.createElement('th');
+ column.className = 'confluenceTh';
+ column.innerHTML = (columnIndex < columnTypes.length && ((columnTypes[columnIndex] == 'I') || (columnTypes[columnIndex] == 'F') || (columnTypes[columnIndex] == 'C'))) ? sumColumn(table, columnIndex, firstDataRowIndex, columnTypes[columnIndex]) : '';
+ row.appendChild(column);
+ }
+ table.appendChild(row);
+}
+function handleRow(table, row, rowIndex, customize) {
+ var columnCount = row.cells.length;
+ for (var i = 0; i < columnCount; i++) {
+ if (customize.enableSorting && (rowIndex <= customize.lastClickableRow)) {
+ enableSortOnCell(row.cells[i], i, table, customize.columnTypes, customize);
+ }
+ if ((rowIndex == 0) && (customize.sortColumn != '') && (customize.sortCell == null) && (((i + 1).toString() == customize.sortColumn) || (trimSafe(getElementInnerText(row.cells[i])) == customize.sortColumn) || (trimSafe(row.cells[i].getAttribute('title')) == customize.sortColumn))) {
+ customize.sortCell = row.cells[i];
+ }
+ if (customize.firstDataRowIndex <= rowIndex) {
+ if ((customize.columnTypes[i] == "I") || (customize.columnTypes[i] == "F") || (customize.columnTypes[i] == "C")) {
+ row.cells[i].style.textAlign = "right";
+ }
+ }
+ if (customize.columnTypes[i] == "H") {
+ row.cells[i].style.display = "none";
+ }
+ if (customize.enableHeadingAttributes || (customize.firstDataRowIndex <= rowIndex)) {
+ if (i < customize.attrList.length) {
+ for (var j = 0; j < customize.attrList[i].length; j++) {
+ var attr = customize.attrList[i][j].Trim().split("=");
+ if (1 < attr.length) {
+ var aName = attr[0].Trim();
+ var aValue = attr[1].Trim();
+ if ((aName.toLowerCase() == "style") && (2 < aValue.length)) {
+ if ((aValue.charAt(0) == '"')) {
+ aValue = aValue.substring(1, aValue.length - 1);
+ }
+ row.cells[i].style.cssText = aValue;
+ } else {
+ row.cells[i].setAttribute(aName, aValue);
+ }
+ }
+ }
+ }
+ }
+ }
+ if (customize.autoNumber) {
+ var column = document.createElement(!customize.autoNumberSort || (rowIndex < customize.firstDataRowIndex) ? 'th' : 'td');
+ column.className = (!customize.autoNumberSort || (rowIndex < customize.firstDataRowIndex) ? 'confluenceTh' : 'confluenceTd');
+ column.innerHTML = ((rowIndex < customize.firstDataRowIndex) || (customize.totalRowCount - customize.firstDataRowIndex - customize.footingCount < rowIndex) ? '' : customize.dataRowCount++);
+ column.setAttribute('align', 'right');
+ row.autoNumber = !customize.autoNumberSort;
+ row.insertBefore(column, row.cells[0]);
+ if (customize.enableSorting && customize.autoNumberSort && (rowIndex <= customize.lastClickableRow)) {
+ enableSortOnCell(column, -1, table, null, customize);
+ }
+ }
+ if ((customize.highlightColor != "") && (customize.firstDataRowIndex <= rowIndex)) {
+ row.onmouseover = function () {
+ this.tableHighLightRowColor = this.bgColor;
+ this.bgColor = customize.highlightColor;
+ };
+ row.onmouseout = function () {
+ this.bgColor = this.tableHighLightRowColor;
+ this.tableHighLightRowColor = null;
+ };
+ }
+}
+function customizeMacroTable(tableId, columnTypes, firstDataRowIndex, highlightColor, enableSorting, sortTip, sortColumn, sortDescending, autoNumber, autoNumberSort, enableHeadingAttributes, footingCount, autoTotal, iconLocation) {
+ var customize = new Object;
+ customize.columnTypes = columnTypes;
+ customize.firstDataRowIndex = firstDataRowIndex;
+ customize.highlightColor = highlightColor;
+ customize.enableSorting = enableSorting;
+ customize.sortTip = sortTip;
+ customize.sortColumn = sortColumn;
+ customize.sortDescending = sortDescending;
+ customize.autoNumber = autoNumber;
+ customize.autoNumberSort = autoNumberSort;
+ customize.enableHeadingAttributes = enableHeadingAttributes;
+ customize.footingCount = footingCount;
+ customize.autoTotal = autoTotal;
+ customize.iconLocation = iconLocation;
+ var table = (typeof(tableId) == "string") ? document.getElementById(tableId) : null;
+ if (table) {
+ if (customize.autoTotal) {
+ appendTotalRow(table, customize.columnTypes, customize.firstDataRowIndex);
+ customize.footingCount++;
+ }
+ if (customize.iconLocation != "") {
+ table.sortAttributeAscending = contextPath + customize.iconLocation + "down.gif";
+ table.sortAttributeDescending = contextPath + customize.iconLocation + "up.gif";
+ table.sortImage = document.createElement("IMG");
+ }
+ customize.lastClickableRow = customize.firstDataRowIndex - 1;
+ if (customize.lastClickableRow < 0) {
+ customize.lastClickableRow = 0;
+ }
+ customize.sortCell = null;
+ customize.dataRowCount = 1;
+ var colAttrs = columnAttributes.split(",");
+ customize.attrList = Array(colAttrs.length);
+ for (var i = 0; i < colAttrs.length; i++) {
+ customize.attrList[i] = colAttrs[i].Trim().split(";;");
+ }
+ var rowIndex = 0;
+ var headRowCount = (table.tHead == null) ? 0 : table.tHead.rows.length;
+ var footRowCount = (table.tFoot == null) ? 0 : table.tFoot.rows.length;
+ var bodyRowCount = table.tBodies[0].rows.length;
+ customize.totalRowCount = headRowCount + footRowCount + bodyRowCount;
+ for (var i = 0; i < headRowCount; i++) {
+ var row = table.tHead.rows[i];
+ handleRow(table, row, rowIndex, customize);
+ rowIndex++;
+ }
+ for (var i = 0; i < bodyRowCount; i++) {
+ var row = table.tBodies[0].rows[i];
+ handleRow(table, row, rowIndex, customize);
+ rowIndex++;
+ }
+ for (var i = 0; i < footRowCount; i++) {
+ var row = table.tFoot.rows[i];
+ handleRow(table, row, rowIndex, customize);
+ rowIndex++;
+ }
+ if (customize.sortCell != null) {
+ customize.sortCell.sortDescending = customize.sortDescending;
+ sortByCell(customize.sortCell, customize.firstDataRowIndex, customize.footingCount);
+ }
+ }
+ return table;
+}
+
+var columnTypes = ['S'];
+var columnAttributes = 'style="white-space:nowrap;",,';
+customizeMacroTable('table-latest', columnTypes, 1, 'lightgoldenrodyellow', true, 'Click to sort', '', false, false, false, true, 0, false, '');
+customizeMacroTable('table-1.2.x', columnTypes, 1, 'lightgoldenrodyellow', true, 'Click to sort', '', false, false, false, true, 0, false, '');
+customizeMacroTable('table-1.1.0', columnTypes, 1, 'lightgoldenrodyellow', true, 'Click to sort', '', false, false, false, true, 0, false, '');
+//-->
+</script>
http://git-wip-us.apache.org/repos/asf/shiro-site/blob/07b38e48/templates/default.vtl
----------------------------------------------------------------------
diff --git a/templates/default.vtl b/templates/default.vtl
index 3651a92..fb5a781 100644
--- a/templates/default.vtl
+++ b/templates/default.vtl
@@ -16,7 +16,7 @@
-->
<html>
-#parse("templates/macros.vtl")
+#parse("templates/includes.vtl")
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
http://git-wip-us.apache.org/repos/asf/shiro-site/blob/07b38e48/templates/includes.vtl
----------------------------------------------------------------------
diff --git a/templates/includes.vtl b/templates/includes.vtl
new file mode 100644
index 0000000..359060a
--- /dev/null
+++ b/templates/includes.vtl
@@ -0,0 +1,8 @@
+#parse( "templates/macros/danger.vtl" )
+#parse( "templates/macros/info.vtl" )
+#parse( "templates/macros/tip.vtl" )
+#parse( "templates/macros/warning.vtl" )
+#parse( "templates/macros/lend-a-hand.vtl" )
+#parse( "templates/macros/redirect.vtl" )
+
+#parse( "templates/versions.vtl" )
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/shiro-site/blob/07b38e48/templates/macros.vtl
----------------------------------------------------------------------
diff --git a/templates/macros.vtl b/templates/macros.vtl
deleted file mode 100644
index 7d9b83e..0000000
--- a/templates/macros.vtl
+++ /dev/null
@@ -1,6 +0,0 @@
-#parse( "templates/macros/danger.vtl" )
-#parse( "templates/macros/info.vtl" )
-#parse( "templates/macros/tip.vtl" )
-#parse( "templates/macros/warning.vtl" )
-#parse( "templates/macros/lend-a-hand.vtl" )
-#parse( "templates/macros/redirect.vtl" )
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/shiro-site/blob/07b38e48/templates/versions.vtl
----------------------------------------------------------------------
diff --git a/templates/versions.vtl b/templates/versions.vtl
new file mode 100644
index 0000000..aa2f42b
--- /dev/null
+++ b/templates/versions.vtl
@@ -0,0 +1,2 @@
+#set( $latestRelease = "1.3.2" )
+#set( $versionInfo = {"1.3.2": { "releaseDate": "2016-09-12" } } )
\ No newline at end of file