Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/testapidocs/src-html/org/apache/fulcrum/jce/crypto/SmartDecryptingInputStreamTest.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/testapidocs/src-html/org/apache/fulcrum/jce/crypto/SmartDecryptingInputStreamTest.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/testapidocs/src-html/org/apache/fulcrum/jce/crypto/SmartDecryptingInputStreamTest.html
 Tue May 21 03:58:58 2019
@@ -1,237 +1,242 @@
-<HTML>
-<BODY BGCOLOR="white">
-<PRE>
-<FONT color="green">001</FONT>    package org.apache.fulcrum.jce.crypto;<a 
name="line.1"></a>
-<FONT color="green">002</FONT>    <a name="line.2"></a>
-<FONT color="green">003</FONT>    /*<a name="line.3"></a>
-<FONT color="green">004</FONT>     * Licensed to the Apache Software 
Foundation (ASF) under one<a name="line.4"></a>
-<FONT color="green">005</FONT>     * or more contributor license agreements.  
See the NOTICE file<a name="line.5"></a>
-<FONT color="green">006</FONT>     * distributed with this work for additional 
information<a name="line.6"></a>
-<FONT color="green">007</FONT>     * regarding copyright ownership.  The ASF 
licenses this file<a name="line.7"></a>
-<FONT color="green">008</FONT>     * to you under the Apache License, Version 
2.0 (the<a name="line.8"></a>
-<FONT color="green">009</FONT>     * "License"); you may not use this file 
except in compliance<a name="line.9"></a>
-<FONT color="green">010</FONT>     * with the License.  You may obtain a copy 
of the License at<a name="line.10"></a>
-<FONT color="green">011</FONT>     *<a name="line.11"></a>
-<FONT color="green">012</FONT>     *   
http://www.apache.org/licenses/LICENSE-2.0<a name="line.12"></a>
-<FONT color="green">013</FONT>     *<a name="line.13"></a>
-<FONT color="green">014</FONT>     * Unless required by applicable law or 
agreed to in writing,<a name="line.14"></a>
-<FONT color="green">015</FONT>     * software distributed under the License is 
distributed on an<a name="line.15"></a>
-<FONT color="green">016</FONT>     * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY<a name="line.16"></a>
-<FONT color="green">017</FONT>     * KIND, either express or implied.  See the 
License for the<a name="line.17"></a>
-<FONT color="green">018</FONT>     * specific language governing permissions 
and limitations<a name="line.18"></a>
-<FONT color="green">019</FONT>     * under the License.<a name="line.19"></a>
-<FONT color="green">020</FONT>     */<a name="line.20"></a>
-<FONT color="green">021</FONT>    <a name="line.21"></a>
-<FONT color="green">022</FONT>    <a name="line.22"></a>
-<FONT color="green">023</FONT>    import java.io.ByteArrayInputStream;<a 
name="line.23"></a>
-<FONT color="green">024</FONT>    import java.io.ByteArrayOutputStream;<a 
name="line.24"></a>
-<FONT color="green">025</FONT>    import java.io.File;<a name="line.25"></a>
-<FONT color="green">026</FONT>    import java.io.FileInputStream;<a 
name="line.26"></a>
-<FONT color="green">027</FONT>    <a name="line.27"></a>
-<FONT color="green">028</FONT>    import junit.framework.TestCase;<a 
name="line.28"></a>
-<FONT color="green">029</FONT>    <a name="line.29"></a>
-<FONT color="green">030</FONT>    /**<a name="line.30"></a>
-<FONT color="green">031</FONT>     * Test suite for 
SmartDecryptingInputStream<a name="line.31"></a>
-<FONT color="green">032</FONT>     *<a name="line.32"></a>
-<FONT color="green">033</FONT>     * @author &lt;a 
href="mailto:[email protected]"&gt;Siegfried Goeschl&lt;/a&gt;<a 
name="line.33"></a>
-<FONT color="green">034</FONT>     */<a name="line.34"></a>
-<FONT color="green">035</FONT>    <a name="line.35"></a>
-<FONT color="green">036</FONT>    public class SmartDecryptingInputStreamTest 
extends TestCase<a name="line.36"></a>
-<FONT color="green">037</FONT>    {<a name="line.37"></a>
-<FONT color="green">038</FONT>        /** the password to be used */<a 
name="line.38"></a>
-<FONT color="green">039</FONT>        private String password;<a 
name="line.39"></a>
-<FONT color="green">040</FONT>    <a name="line.40"></a>
-<FONT color="green">041</FONT>        /** the test data directory */<a 
name="line.41"></a>
-<FONT color="green">042</FONT>        private File testDataDirectory;<a 
name="line.42"></a>
-<FONT color="green">043</FONT>    <a name="line.43"></a>
-<FONT color="green">044</FONT>        /** the temp data director */<a 
name="line.44"></a>
-<FONT color="green">045</FONT>        private File tempDataDirectory;<a 
name="line.45"></a>
-<FONT color="green">046</FONT>    <a name="line.46"></a>
-<FONT color="green">047</FONT>        /**<a name="line.47"></a>
-<FONT color="green">048</FONT>         * Constructor<a name="line.48"></a>
-<FONT color="green">049</FONT>         * @param name the name of the test 
case<a name="line.49"></a>
-<FONT color="green">050</FONT>         */<a name="line.50"></a>
-<FONT color="green">051</FONT>        public SmartDecryptingInputStreamTest( 
String name )<a name="line.51"></a>
-<FONT color="green">052</FONT>        {<a name="line.52"></a>
-<FONT color="green">053</FONT>            super(name);<a name="line.53"></a>
-<FONT color="green">054</FONT>    <a name="line.54"></a>
-<FONT color="green">055</FONT>            this.password = "mysecret";<a 
name="line.55"></a>
-<FONT color="green">056</FONT>            this.testDataDirectory = new File( 
"./src/test/data" );<a name="line.56"></a>
-<FONT color="green">057</FONT>            this.tempDataDirectory = new File( 
"./temp" );<a name="line.57"></a>
-<FONT color="green">058</FONT>        }<a name="line.58"></a>
-<FONT color="green">059</FONT>    <a name="line.59"></a>
-<FONT color="green">060</FONT>        /**<a name="line.60"></a>
-<FONT color="green">061</FONT>         * @see 
junit.framework.TestCase#setUp()<a name="line.61"></a>
-<FONT color="green">062</FONT>         */<a name="line.62"></a>
-<FONT color="green">063</FONT>        protected void setUp() throws 
Exception<a name="line.63"></a>
-<FONT color="green">064</FONT>        {<a name="line.64"></a>
-<FONT color="green">065</FONT>            CryptoStreamFactoryImpl factory = 
new CryptoStreamFactoryImpl(<a name="line.65"></a>
-<FONT color="green">066</FONT>                CryptoParameters.SALT,<a 
name="line.66"></a>
-<FONT color="green">067</FONT>                CryptoParameters.COUNT<a 
name="line.67"></a>
-<FONT color="green">068</FONT>                );<a name="line.68"></a>
-<FONT color="green">069</FONT>    <a name="line.69"></a>
-<FONT color="green">070</FONT>            CryptoStreamFactoryImpl.setInstance( 
factory );<a name="line.70"></a>
-<FONT color="green">071</FONT>        }<a name="line.71"></a>
-<FONT color="green">072</FONT>    <a name="line.72"></a>
-<FONT color="green">073</FONT>        /**<a name="line.73"></a>
-<FONT color="green">074</FONT>         * @return Returns the password.<a 
name="line.74"></a>
-<FONT color="green">075</FONT>         */<a name="line.75"></a>
-<FONT color="green">076</FONT>        protected char[] getPassword()<a 
name="line.76"></a>
-<FONT color="green">077</FONT>        {<a name="line.77"></a>
-<FONT color="green">078</FONT>            return password.toCharArray();<a 
name="line.78"></a>
-<FONT color="green">079</FONT>        }<a name="line.79"></a>
-<FONT color="green">080</FONT>    <a name="line.80"></a>
-<FONT color="green">081</FONT>        /**<a name="line.81"></a>
-<FONT color="green">082</FONT>         * @return Returns the 
tempDataDirectory.<a name="line.82"></a>
-<FONT color="green">083</FONT>         */<a name="line.83"></a>
-<FONT color="green">084</FONT>        protected File getTempDataDirectory()<a 
name="line.84"></a>
-<FONT color="green">085</FONT>        {<a name="line.85"></a>
-<FONT color="green">086</FONT>            return tempDataDirectory;<a 
name="line.86"></a>
-<FONT color="green">087</FONT>        }<a name="line.87"></a>
-<FONT color="green">088</FONT>    <a name="line.88"></a>
-<FONT color="green">089</FONT>        /**<a name="line.89"></a>
-<FONT color="green">090</FONT>         * @return Returns the 
testDataDirectory.<a name="line.90"></a>
-<FONT color="green">091</FONT>         */<a name="line.91"></a>
-<FONT color="green">092</FONT>        protected File getTestDataDirectory()<a 
name="line.92"></a>
-<FONT color="green">093</FONT>        {<a name="line.93"></a>
-<FONT color="green">094</FONT>            return testDataDirectory;<a 
name="line.94"></a>
-<FONT color="green">095</FONT>        }<a name="line.95"></a>
-<FONT color="green">096</FONT>    <a name="line.96"></a>
-<FONT color="green">097</FONT>        public void testSmartEmtpyDecryption() 
throws Exception<a name="line.97"></a>
-<FONT color="green">098</FONT>        {<a name="line.98"></a>
-<FONT color="green">099</FONT>            
this.testSmartDecryption("empty.txt","ISO-8859-1");<a name="line.99"></a>
-<FONT color="green">100</FONT>        }<a name="line.100"></a>
-<FONT color="green">101</FONT>    <a name="line.101"></a>
-<FONT color="green">102</FONT>        public void testSmartTextDecryption() 
throws Exception<a name="line.102"></a>
-<FONT color="green">103</FONT>        {<a name="line.103"></a>
-<FONT color="green">104</FONT>            
this.testSmartDecryption("plain.txt","ISO-8859-1");<a name="line.104"></a>
-<FONT color="green">105</FONT>        }<a name="line.105"></a>
-<FONT color="green">106</FONT>    <a name="line.106"></a>
-<FONT color="green">107</FONT>        public void testSmartGroovyDecryption() 
throws Exception<a name="line.107"></a>
-<FONT color="green">108</FONT>        {<a name="line.108"></a>
-<FONT color="green">109</FONT>            
this.testSmartDecryption("plain.groovy","ISO-8859-1");<a name="line.109"></a>
-<FONT color="green">110</FONT>        }<a name="line.110"></a>
-<FONT color="green">111</FONT>    <a name="line.111"></a>
-<FONT color="green">112</FONT>        public void 
testSmartXmlIso8859Utf8Decryption() throws Exception<a name="line.112"></a>
-<FONT color="green">113</FONT>        {<a name="line.113"></a>
-<FONT color="green">114</FONT>            
this.testSmartDecryption("plain-iso-8859-1.xml","ISO-8859-1");<a 
name="line.114"></a>
-<FONT color="green">115</FONT>        }<a name="line.115"></a>
-<FONT color="green">116</FONT>    <a name="line.116"></a>
-<FONT color="green">117</FONT>        public void testSmartXmlUtf8Decryption() 
throws Exception<a name="line.117"></a>
-<FONT color="green">118</FONT>        {<a name="line.118"></a>
-<FONT color="green">119</FONT>            
this.testSmartDecryption("plain-utf8.xml","UTF-8");<a name="line.119"></a>
-<FONT color="green">120</FONT>        }<a name="line.120"></a>
-<FONT color="green">121</FONT>    <a name="line.121"></a>
-<FONT color="green">122</FONT>        public void 
testSmartXmlUtf16Decryption() throws Exception<a name="line.122"></a>
-<FONT color="green">123</FONT>        {<a name="line.123"></a>
-<FONT color="green">124</FONT>            
this.testSmartDecryption("plain-utf16.xml","UTF-16");<a name="line.124"></a>
-<FONT color="green">125</FONT>        }<a name="line.125"></a>
-<FONT color="green">126</FONT>    <a name="line.126"></a>
-<FONT color="green">127</FONT>        public void testPDFDecryption() throws 
Exception<a name="line.127"></a>
-<FONT color="green">128</FONT>        {<a name="line.128"></a>
-<FONT color="green">129</FONT>            
this.testSmartDecryption("plain.pdf","ISO-8859-1");<a name="line.129"></a>
-<FONT color="green">130</FONT>        }<a name="line.130"></a>
-<FONT color="green">131</FONT>    <a name="line.131"></a>
-<FONT color="green">132</FONT>        public void testZIPDecryption() throws 
Exception<a name="line.132"></a>
-<FONT color="green">133</FONT>        {<a name="line.133"></a>
-<FONT color="green">134</FONT>            
this.testSmartDecryption("plain.zip","ISO-8859-1");<a name="line.134"></a>
-<FONT color="green">135</FONT>        }<a name="line.135"></a>
-<FONT color="green">136</FONT>    <a name="line.136"></a>
-<FONT color="green">137</FONT>        /** Test smart decryption for a given 
file */<a name="line.137"></a>
-<FONT color="green">138</FONT>        private void testSmartDecryption( String 
fileName, String enc ) throws Exception<a name="line.138"></a>
-<FONT color="green">139</FONT>        {<a name="line.139"></a>
-<FONT color="green">140</FONT>            File sourceFile = new File( 
this.getTestDataDirectory(), fileName );<a name="line.140"></a>
-<FONT color="green">141</FONT>            String plainText = 
this.loadTextFile(sourceFile,enc);<a name="line.141"></a>
-<FONT color="green">142</FONT>            String smartText = 
this.smartDecrypt(sourceFile,enc);<a name="line.142"></a>
-<FONT color="green">143</FONT>            byte[] cipherText = 
this.encryptTextFile(sourceFile);<a name="line.143"></a>
-<FONT color="green">144</FONT>            String decryptedText = 
this.smartDecrypt(cipherText,enc);<a name="line.144"></a>
-<FONT color="green">145</FONT>    <a name="line.145"></a>
-<FONT color="green">146</FONT>            assertTrue( plainText.length() == 
smartText.length() );<a name="line.146"></a>
-<FONT color="green">147</FONT>            assertTrue( plainText.length() == 
decryptedText.length() );<a name="line.147"></a>
-<FONT color="green">148</FONT>            assertEquals( plainText, smartText 
);<a name="line.148"></a>
-<FONT color="green">149</FONT>            assertEquals( plainText, 
decryptedText );<a name="line.149"></a>
-<FONT color="green">150</FONT>        }<a name="line.150"></a>
-<FONT color="green">151</FONT>    <a name="line.151"></a>
-<FONT color="green">152</FONT>        /**<a name="line.152"></a>
-<FONT color="green">153</FONT>         * Loads a plain text file.<a 
name="line.153"></a>
-<FONT color="green">154</FONT>         * @param file the file to load<a 
name="line.154"></a>
-<FONT color="green">155</FONT>         */<a name="line.155"></a>
-<FONT color="green">156</FONT>        private String loadTextFile( File file, 
String enc ) throws Exception<a name="line.156"></a>
-<FONT color="green">157</FONT>        {<a name="line.157"></a>
-<FONT color="green">158</FONT>            String result = null;<a 
name="line.158"></a>
-<FONT color="green">159</FONT>            FileInputStream fis = new 
FileInputStream( file );<a name="line.159"></a>
-<FONT color="green">160</FONT>            ByteArrayOutputStream baos = new 
ByteArrayOutputStream();<a name="line.160"></a>
-<FONT color="green">161</FONT>            CryptoUtil.copy(fis,baos);<a 
name="line.161"></a>
-<FONT color="green">162</FONT>            fis.close();<a name="line.162"></a>
-<FONT color="green">163</FONT>            result = new String( 
baos.toByteArray(), enc );<a name="line.163"></a>
-<FONT color="green">164</FONT>            return result;<a name="line.164"></a>
-<FONT color="green">165</FONT>        }<a name="line.165"></a>
-<FONT color="green">166</FONT>    <a name="line.166"></a>
-<FONT color="green">167</FONT>        /**<a name="line.167"></a>
-<FONT color="green">168</FONT>         * Encrypt a plain text file.<a 
name="line.168"></a>
-<FONT color="green">169</FONT>         * @param file the file to encrypt<a 
name="line.169"></a>
-<FONT color="green">170</FONT>         */<a name="line.170"></a>
-<FONT color="green">171</FONT>        private byte[] encryptTextFile( File 
file ) throws Exception<a name="line.171"></a>
-<FONT color="green">172</FONT>        {<a name="line.172"></a>
-<FONT color="green">173</FONT>            ByteArrayOutputStream baos = new 
ByteArrayOutputStream();<a name="line.173"></a>
-<FONT color="green">174</FONT>            FileInputStream fis = new 
FileInputStream( file );<a name="line.174"></a>
-<FONT color="green">175</FONT>    <a name="line.175"></a>
-<FONT color="green">176</FONT>            CryptoUtil.encrypt(<a 
name="line.176"></a>
-<FONT color="green">177</FONT>                
CryptoStreamFactoryImpl.getInstance(),<a name="line.177"></a>
-<FONT color="green">178</FONT>                fis,<a name="line.178"></a>
-<FONT color="green">179</FONT>                baos,<a name="line.179"></a>
-<FONT color="green">180</FONT>                this.getPassword()<a 
name="line.180"></a>
-<FONT color="green">181</FONT>                );<a name="line.181"></a>
-<FONT color="green">182</FONT>    <a name="line.182"></a>
-<FONT color="green">183</FONT>            fis.close();<a name="line.183"></a>
-<FONT color="green">184</FONT>    <a name="line.184"></a>
-<FONT color="green">185</FONT>            return baos.toByteArray();<a 
name="line.185"></a>
-<FONT color="green">186</FONT>        }<a name="line.186"></a>
-<FONT color="green">187</FONT>    <a name="line.187"></a>
-<FONT color="green">188</FONT>        /**<a name="line.188"></a>
-<FONT color="green">189</FONT>         * Use smart decryption on a 
cipherText.<a name="line.189"></a>
-<FONT color="green">190</FONT>         *<a name="line.190"></a>
-<FONT color="green">191</FONT>         * @param cipherText the encrypted 
text<a name="line.191"></a>
-<FONT color="green">192</FONT>         * @return the decrypeted content<a 
name="line.192"></a>
-<FONT color="green">193</FONT>         */<a name="line.193"></a>
-<FONT color="green">194</FONT>        private String smartDecrypt( byte[] 
cipherText, String enc ) throws Exception<a name="line.194"></a>
-<FONT color="green">195</FONT>        {<a name="line.195"></a>
-<FONT color="green">196</FONT>            ByteArrayInputStream bais = new 
ByteArrayInputStream(cipherText);<a name="line.196"></a>
-<FONT color="green">197</FONT>            ByteArrayOutputStream baos = new 
ByteArrayOutputStream();<a name="line.197"></a>
-<FONT color="green">198</FONT>    <a name="line.198"></a>
-<FONT color="green">199</FONT>            SmartDecryptingInputStream sdis = 
new SmartDecryptingInputStream(<a name="line.199"></a>
-<FONT color="green">200</FONT>                
CryptoStreamFactoryImpl.getInstance(),<a name="line.200"></a>
-<FONT color="green">201</FONT>                bais,<a name="line.201"></a>
-<FONT color="green">202</FONT>                this.getPassword()<a 
name="line.202"></a>
-<FONT color="green">203</FONT>                );<a name="line.203"></a>
-<FONT color="green">204</FONT>    <a name="line.204"></a>
-<FONT color="green">205</FONT>            CryptoUtil.copy(sdis,baos);<a 
name="line.205"></a>
-<FONT color="green">206</FONT>    <a name="line.206"></a>
-<FONT color="green">207</FONT>            return new String( 
baos.toByteArray(), enc );<a name="line.207"></a>
-<FONT color="green">208</FONT>        }<a name="line.208"></a>
-<FONT color="green">209</FONT>    <a name="line.209"></a>
-<FONT color="green">210</FONT>        /**<a name="line.210"></a>
-<FONT color="green">211</FONT>         * Use smart decryption on a plain text 
file.<a name="line.211"></a>
-<FONT color="green">212</FONT>         *<a name="line.212"></a>
-<FONT color="green">213</FONT>         * @param file the file to load<a 
name="line.213"></a>
-<FONT color="green">214</FONT>         * @return the content<a 
name="line.214"></a>
-<FONT color="green">215</FONT>         */<a name="line.215"></a>
-<FONT color="green">216</FONT>        private String smartDecrypt( File file, 
String enc ) throws Exception<a name="line.216"></a>
-<FONT color="green">217</FONT>        {<a name="line.217"></a>
-<FONT color="green">218</FONT>            ByteArrayOutputStream baos = new 
ByteArrayOutputStream();<a name="line.218"></a>
-<FONT color="green">219</FONT>            FileInputStream fis = new 
FileInputStream( file );<a name="line.219"></a>
-<FONT color="green">220</FONT>    <a name="line.220"></a>
-<FONT color="green">221</FONT>            SmartDecryptingInputStream sdis = 
new SmartDecryptingInputStream(<a name="line.221"></a>
-<FONT color="green">222</FONT>                
CryptoStreamFactoryImpl.getInstance(),<a name="line.222"></a>
-<FONT color="green">223</FONT>                fis,<a name="line.223"></a>
-<FONT color="green">224</FONT>                this.getPassword()<a 
name="line.224"></a>
-<FONT color="green">225</FONT>                );<a name="line.225"></a>
-<FONT color="green">226</FONT>    <a name="line.226"></a>
-<FONT color="green">227</FONT>            CryptoUtil.copy(sdis,baos);<a 
name="line.227"></a>
-<FONT color="green">228</FONT>            return new String( 
baos.toByteArray(), enc );<a name="line.228"></a>
-<FONT color="green">229</FONT>        }<a name="line.229"></a>
-<FONT color="green">230</FONT>    <a name="line.230"></a>
-<FONT color="green">231</FONT>    }<a name="line.231"></a>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>package 
org.apache.fulcrum.jce.crypto;<a name="line.1"></a>
+<span class="sourceLineNo">002</span><a name="line.2"></a>
+<span class="sourceLineNo">003</span>/*<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * Licensed to the Apache Software 
Foundation (ASF) under one<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * or more contributor license 
agreements.  See the NOTICE file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * distributed with this work for 
additional information<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * regarding copyright ownership.  The 
ASF licenses this file<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * to you under the Apache License, 
Version 2.0 (the<a name="line.8"></a>
+<span class="sourceLineNo">009</span> * "License"); you may not use this file 
except in compliance<a name="line.9"></a>
+<span class="sourceLineNo">010</span> * with the License.  You may obtain a 
copy of the License at<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> *   
http://www.apache.org/licenses/LICENSE-2.0<a name="line.12"></a>
+<span class="sourceLineNo">013</span> *<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * Unless required by applicable law or 
agreed to in writing,<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * software distributed under the License 
is distributed on an<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * "AS IS" BASIS, WITHOUT WARRANTIES OR 
CONDITIONS OF ANY<a name="line.16"></a>
+<span class="sourceLineNo">017</span> * KIND, either express or implied.  See 
the License for the<a name="line.17"></a>
+<span class="sourceLineNo">018</span> * specific language governing 
permissions and limitations<a name="line.18"></a>
+<span class="sourceLineNo">019</span> * under the License.<a 
name="line.19"></a>
+<span class="sourceLineNo">020</span> */<a name="line.20"></a>
+<span class="sourceLineNo">021</span><a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.ByteArrayInputStream;<a 
name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.io.ByteArrayOutputStream;<a 
name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.File;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.io.FileInputStream;<a 
name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import junit.framework.TestCase;<a 
name="line.28"></a>
+<span class="sourceLineNo">029</span><a name="line.29"></a>
+<span class="sourceLineNo">030</span>/**<a name="line.30"></a>
+<span class="sourceLineNo">031</span> * Test suite for 
SmartDecryptingInputStream<a name="line.31"></a>
+<span class="sourceLineNo">032</span> *<a name="line.32"></a>
+<span class="sourceLineNo">033</span> * @author &lt;a 
href="mailto:[email protected]"&gt;Siegfried Goeschl&lt;/a&gt;<a 
name="line.33"></a>
+<span class="sourceLineNo">034</span> */<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>public class 
SmartDecryptingInputStreamTest extends TestCase<a name="line.36"></a>
+<span class="sourceLineNo">037</span>{<a name="line.37"></a>
+<span class="sourceLineNo">038</span>    /** the password to be used */<a 
name="line.38"></a>
+<span class="sourceLineNo">039</span>    private String password;<a 
name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>    /** the test data directory */<a 
name="line.41"></a>
+<span class="sourceLineNo">042</span>    private File testDataDirectory;<a 
name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>    /** the temp data director */<a 
name="line.44"></a>
+<span class="sourceLineNo">045</span>    private File tempDataDirectory;<a 
name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>    /**<a name="line.47"></a>
+<span class="sourceLineNo">048</span>     * Constructor<a name="line.48"></a>
+<span class="sourceLineNo">049</span>     * @param name the name of the test 
case<a name="line.49"></a>
+<span class="sourceLineNo">050</span>     */<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    public 
SmartDecryptingInputStreamTest( String name )<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>        super(name);<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>        this.password = "mysecret";<a 
name="line.55"></a>
+<span class="sourceLineNo">056</span>        this.testDataDirectory = new 
File( "./src/test/data" );<a name="line.56"></a>
+<span class="sourceLineNo">057</span>        this.tempDataDirectory = new 
File( "./temp" );<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    }<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>    /**<a name="line.60"></a>
+<span class="sourceLineNo">061</span>     * @see 
junit.framework.TestCase#setUp()<a name="line.61"></a>
+<span class="sourceLineNo">062</span>     */<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    protected void setUp() throws 
Exception<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        CryptoStreamFactoryImpl factory = 
new CryptoStreamFactoryImpl(<a name="line.65"></a>
+<span class="sourceLineNo">066</span>            CryptoParameters.SALT,<a 
name="line.66"></a>
+<span class="sourceLineNo">067</span>            CryptoParameters.COUNT<a 
name="line.67"></a>
+<span class="sourceLineNo">068</span>            );<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>        
CryptoStreamFactoryImpl.setInstance( factory );<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    }<a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>    /**<a name="line.73"></a>
+<span class="sourceLineNo">074</span>     * @return Returns the password.<a 
name="line.74"></a>
+<span class="sourceLineNo">075</span>     */<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    protected char[] getPassword()<a 
name="line.76"></a>
+<span class="sourceLineNo">077</span>    {<a name="line.77"></a>
+<span class="sourceLineNo">078</span>        return password.toCharArray();<a 
name="line.78"></a>
+<span class="sourceLineNo">079</span>    }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>    /**<a name="line.81"></a>
+<span class="sourceLineNo">082</span>     * @return Returns the 
tempDataDirectory.<a name="line.82"></a>
+<span class="sourceLineNo">083</span>     */<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    protected File 
getTempDataDirectory()<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>        return tempDataDirectory;<a 
name="line.86"></a>
+<span class="sourceLineNo">087</span>    }<a name="line.87"></a>
+<span class="sourceLineNo">088</span><a name="line.88"></a>
+<span class="sourceLineNo">089</span>    /**<a name="line.89"></a>
+<span class="sourceLineNo">090</span>     * @return Returns the 
testDataDirectory.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>     */<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    protected File 
getTestDataDirectory()<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>        return testDataDirectory;<a 
name="line.94"></a>
+<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>    public void 
testSmartEmtpyDecryption() throws Exception<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>        
this.testSmartDecryption("empty.txt","ISO-8859-1");<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    }<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>    public void testSmartTextDecryption() 
throws Exception<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>        
this.testSmartDecryption("plain.txt","ISO-8859-1");<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void 
testSmartGroovyDecryption() throws Exception<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        
this.testSmartDecryption("plain.groovy","ISO-8859-1");<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    }<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>    public void 
testSmartXmlIso8859Utf8Decryption() throws Exception<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>        
this.testSmartDecryption("plain-iso-8859-1.xml","ISO-8859-1");<a 
name="line.114"></a>
+<span class="sourceLineNo">115</span>    }<a name="line.115"></a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span>    public void 
testSmartXmlUtf8Decryption() throws Exception<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        
this.testSmartDecryption("plain-utf8.xml","UTF-8");<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    }<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>    public void 
testSmartXmlUtf16Decryption() throws Exception<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        
this.testSmartDecryption("plain-utf16.xml","UTF-16");<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>    public void testPDFDecryption() 
throws Exception<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>        
this.testSmartDecryption("plain.pdf","ISO-8859-1");<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    }<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>    public void testZIPDecryption() 
throws Exception<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    {<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        
this.testSmartDecryption("plain.zip","ISO-8859-1");<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    }<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>    /** Test smart decryption for a given 
file */<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    private void testSmartDecryption( 
String fileName, String enc ) throws Exception<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    {<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        File sourceFile = new File( 
this.getTestDataDirectory(), fileName );<a name="line.140"></a>
+<span class="sourceLineNo">141</span>        String plainText = 
this.loadTextFile(sourceFile,enc);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        String smartText = 
this.smartDecrypt(sourceFile,enc);<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        byte[] cipherText = 
this.encryptTextFile(sourceFile);<a name="line.143"></a>
+<span class="sourceLineNo">144</span>        String decryptedText = 
this.smartDecrypt(cipherText,enc);<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>        assertTrue( plainText.length() == 
smartText.length() );<a name="line.146"></a>
+<span class="sourceLineNo">147</span>        assertTrue( plainText.length() == 
decryptedText.length() );<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        assertEquals( plainText, 
smartText );<a name="line.148"></a>
+<span class="sourceLineNo">149</span>        assertEquals( plainText, 
decryptedText );<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>    /**<a name="line.152"></a>
+<span class="sourceLineNo">153</span>     * Loads a plain text file.<a 
name="line.153"></a>
+<span class="sourceLineNo">154</span>     * @param file the file to load<a 
name="line.154"></a>
+<span class="sourceLineNo">155</span>     */<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    private String loadTextFile( File 
file, String enc ) throws Exception<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>        String result = null;<a 
name="line.158"></a>
+<span class="sourceLineNo">159</span>        FileInputStream fis = new 
FileInputStream( file );<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        ByteArrayOutputStream baos = new 
ByteArrayOutputStream();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        CryptoUtil.copy(fis,baos);<a 
name="line.161"></a>
+<span class="sourceLineNo">162</span>        fis.close();<a 
name="line.162"></a>
+<span class="sourceLineNo">163</span>        result = new String( 
baos.toByteArray(), enc );<a name="line.163"></a>
+<span class="sourceLineNo">164</span>        return result;<a 
name="line.164"></a>
+<span class="sourceLineNo">165</span>    }<a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span>    /**<a name="line.167"></a>
+<span class="sourceLineNo">168</span>     * Encrypt a plain text file.<a 
name="line.168"></a>
+<span class="sourceLineNo">169</span>     * @param file the file to encrypt<a 
name="line.169"></a>
+<span class="sourceLineNo">170</span>     */<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    private byte[] encryptTextFile( File 
file ) throws Exception<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>        ByteArrayOutputStream baos = new 
ByteArrayOutputStream();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        FileInputStream fis = new 
FileInputStream( file );<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>        CryptoUtil.encrypt(<a 
name="line.176"></a>
+<span class="sourceLineNo">177</span>            
CryptoStreamFactoryImpl.getInstance(),<a name="line.177"></a>
+<span class="sourceLineNo">178</span>            fis,<a name="line.178"></a>
+<span class="sourceLineNo">179</span>            baos,<a name="line.179"></a>
+<span class="sourceLineNo">180</span>            this.getPassword()<a 
name="line.180"></a>
+<span class="sourceLineNo">181</span>            );<a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182"></a>
+<span class="sourceLineNo">183</span>        fis.close();<a 
name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>        return baos.toByteArray();<a 
name="line.185"></a>
+<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>    /**<a name="line.188"></a>
+<span class="sourceLineNo">189</span>     * Use smart decryption on a 
cipherText.<a name="line.189"></a>
+<span class="sourceLineNo">190</span>     *<a name="line.190"></a>
+<span class="sourceLineNo">191</span>     * @param cipherText the encrypted 
text<a name="line.191"></a>
+<span class="sourceLineNo">192</span>     * @return the decrypeted content<a 
name="line.192"></a>
+<span class="sourceLineNo">193</span>     */<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    private String smartDecrypt( byte[] 
cipherText, String enc ) throws Exception<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>        ByteArrayInputStream bais = new 
ByteArrayInputStream(cipherText);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>        ByteArrayOutputStream baos = new 
ByteArrayOutputStream();<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>        SmartDecryptingInputStream sdis = 
new SmartDecryptingInputStream(<a name="line.199"></a>
+<span class="sourceLineNo">200</span>            
CryptoStreamFactoryImpl.getInstance(),<a name="line.200"></a>
+<span class="sourceLineNo">201</span>            bais,<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            this.getPassword()<a 
name="line.202"></a>
+<span class="sourceLineNo">203</span>            );<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>        CryptoUtil.copy(sdis,baos);<a 
name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>        return new String( 
baos.toByteArray(), enc );<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    }<a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209"></a>
+<span class="sourceLineNo">210</span>    /**<a name="line.210"></a>
+<span class="sourceLineNo">211</span>     * Use smart decryption on a plain 
text file.<a name="line.211"></a>
+<span class="sourceLineNo">212</span>     *<a name="line.212"></a>
+<span class="sourceLineNo">213</span>     * @param file the file to load<a 
name="line.213"></a>
+<span class="sourceLineNo">214</span>     * @return the content<a 
name="line.214"></a>
+<span class="sourceLineNo">215</span>     */<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    private String smartDecrypt( File 
file, String enc ) throws Exception<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    {<a name="line.217"></a>
+<span class="sourceLineNo">218</span>        ByteArrayOutputStream baos = new 
ByteArrayOutputStream();<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        FileInputStream fis = new 
FileInputStream( file );<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>        SmartDecryptingInputStream sdis = 
new SmartDecryptingInputStream(<a name="line.221"></a>
+<span class="sourceLineNo">222</span>            
CryptoStreamFactoryImpl.getInstance(),<a name="line.222"></a>
+<span class="sourceLineNo">223</span>            fis,<a name="line.223"></a>
+<span class="sourceLineNo">224</span>            this.getPassword()<a 
name="line.224"></a>
+<span class="sourceLineNo">225</span>            );<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>        CryptoUtil.copy(sdis,baos);<a 
name="line.227"></a>
+<span class="sourceLineNo">228</span>        return new String( 
baos.toByteArray(), enc );<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>}<a name="line.231"></a>
 
 
 
@@ -292,6 +297,7 @@
 
 
 
-</PRE>
-</BODY>
-</HTML>
+</pre>
+</div>
+</body>
+</html>
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/testapidocs/stylesheet.css
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/testapidocs/stylesheet.css
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/testapidocs/stylesheet.css
 Tue May 21 03:58:58 2019
@@ -1,29 +1,574 @@
 /* Javadoc style sheet */
+/*
+Overall document style
+*/
 
-/* Define colors, fonts and other style attributes here to override the 
defaults */
+@import url('resources/fonts/dejavu.css');
 
-/* Page background color */
-body { background-color: #FFFFFF }
+body {
+    background-color:#ffffff;
+    color:#353833;
+    font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
+    font-size:14px;
+    margin:0;
+}
+a:link, a:visited {
+    text-decoration:none;
+    color:#4A6782;
+}
+a:hover, a:focus {
+    text-decoration:none;
+    color:#bb7a2a;
+}
+a:active {
+    text-decoration:none;
+    color:#4A6782;
+}
+a[name] {
+    color:#353833;
+}
+a[name]:hover {
+    text-decoration:none;
+    color:#353833;
+}
+pre {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+}
+h1 {
+    font-size:20px;
+}
+h2 {
+    font-size:18px;
+}
+h3 {
+    font-size:16px;
+    font-style:italic;
+}
+h4 {
+    font-size:13px;
+}
+h5 {
+    font-size:12px;
+}
+h6 {
+    font-size:11px;
+}
+ul {
+    list-style-type:disc;
+}
+code, tt {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
+    margin-top:8px;
+    line-height:1.4em;
+}
+dt code {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    padding-top:4px;
+}
+table tr td dt code {
+    font-family:'DejaVu Sans Mono', monospace;
+    font-size:14px;
+    vertical-align:top;
+    padding-top:4px;
+}
+sup {
+    font-size:8px;
+}
+/*
+Document title and Copyright styles
+*/
+.clear {
+    clear:both;
+    height:0px;
+    overflow:hidden;
+}
+.aboutLanguage {
+    float:right;
+    padding:0px 21px;
+    font-size:11px;
+    z-index:200;
+    margin-top:-9px;
+}
+.legalCopy {
+    margin-left:.5em;
+}
+.bar a, .bar a:link, .bar a:visited, .bar a:active {
+    color:#FFFFFF;
+    text-decoration:none;
+}
+.bar a:hover, .bar a:focus {
+    color:#bb7a2a;
+}
+.tab {
+    background-color:#0066FF;
+    color:#ffffff;
+    padding:8px;
+    width:5em;
+    font-weight:bold;
+}
+/*
+Navigation bar styles
+*/
+.bar {
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    padding:.8em .5em .4em .8em;
+    height:auto;/*height:1.8em;*/
+    font-size:11px;
+    margin:0;
+}
+.topNav {
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+    font-size:12px; 
+}
+.bottomNav {
+    margin-top:10px;
+    background-color:#4D7A97;
+    color:#FFFFFF;
+    float:left;
+    padding:0;
+    width:100%;
+    clear:right;
+    height:2.8em;
+    padding-top:10px;
+    overflow:hidden;
+    font-size:12px;
+}
+.subNav {
+    background-color:#dee3e9;
+    float:left;
+    width:100%;
+    overflow:hidden;
+    font-size:12px;
+}
+.subNav div {
+    clear:left;
+    float:left;
+    padding:0 0 5px 6px;
+    text-transform:uppercase;
+}
+ul.navList, ul.subNavList {
+    float:left;
+    margin:0 25px 0 0;
+    padding:0;
+}
+ul.navList li{
+    list-style:none;
+    float:left;
+    padding: 5px 6px;
+    text-transform:uppercase;
+}
+ul.subNavList li{
+    list-style:none;
+    float:left;
+}
+.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, 
.bottomNav a:active, .bottomNav a:visited {
+    color:#FFFFFF;
+    text-decoration:none;
+    text-transform:uppercase;
+}
+.topNav a:hover, .bottomNav a:hover {
+    text-decoration:none;
+    color:#bb7a2a;
+    text-transform:uppercase;
+}
+.navBarCell1Rev {
+    background-color:#F8981D;
+    color:#253441;
+    margin: auto 5px;
+}
+.skipNav {
+    position:absolute;
+    top:auto;
+    left:-9999px;
+    overflow:hidden;
+}
+/*
+Page header and footer styles
+*/
+.header, .footer {
+    clear:both;
+    margin:0 20px;
+    padding:5px 0 0 0;
+}
+.indexHeader {
+    margin:10px;
+    position:relative;
+}
+.indexHeader span{
+    margin-right:15px;
+}
+.indexHeader h1 {
+    font-size:13px;
+}
+.title {
+    color:#2c4557;
+    margin:10px 0;
+}
+.subTitle {
+    margin:5px 0 0 0;
+}
+.header ul {
+    margin:0 0 15px 0;
+    padding:0;
+}
+.footer ul {
+    margin:20px 0 5px 0;
+}
+.header ul li, .footer ul li {
+    list-style:none;
+    font-size:13px;
+}
+/*
+Heading styles
+*/
+div.details ul.blockList ul.blockList ul.blockList li.blockList h4, 
div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
+    background-color:#dee3e9;
+    border:1px solid #d0d9e0;
+    margin:0 0 6px -8px;
+    padding:7px 5px;
+}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    background-color:#dee3e9;
+    border:1px solid #d0d9e0;
+    margin:0 0 6px -8px;
+    padding:7px 5px;
+}
+ul.blockList ul.blockList li.blockList h3 {
+    padding:0;
+    margin:15px 0;
+}
+ul.blockList li.blockList h2 {
+    padding:0px 0 20px 0;
+}
+/*
+Page layout container styles
+*/
+.contentContainer, .sourceContainer, .classUseContainer, 
.serializedFormContainer, .constantValuesContainer {
+    clear:both;
+    padding:10px 20px;
+    position:relative;
+}
+.indexContainer {
+    margin:10px;
+    position:relative;
+    font-size:12px;
+}
+.indexContainer h2 {
+    font-size:13px;
+    padding:0 0 3px 0;
+}
+.indexContainer ul {
+    margin:0;
+    padding:0;
+}
+.indexContainer ul li {
+    list-style:none;
+    padding-top:2px;
+}
+.contentContainer .description dl dt, .contentContainer .details dl dt, 
.serializedFormContainer dl dt {
+    font-size:12px;
+    font-weight:bold;
+    margin:10px 0 0 0;
+    color:#4E4E4E;
+}
+.contentContainer .description dl dd, .contentContainer .details dl dd, 
.serializedFormContainer dl dd {
+    margin:5px 0 10px 0px;
+    font-size:14px;
+    font-family:'DejaVu Sans Mono',monospace;
+}
+.serializedFormContainer dl.nameValue dt {
+    margin-left:1px;
+    font-size:1.1em;
+    display:inline;
+    font-weight:bold;
+}
+.serializedFormContainer dl.nameValue dd {
+    margin:0 0 0 1px;
+    font-size:1.1em;
+    display:inline;
+}
+/*
+List styles
+*/
+ul.horizontal li {
+    display:inline;
+    font-size:0.9em;
+}
+ul.inheritance {
+    margin:0;
+    padding:0;
+}
+ul.inheritance li {
+    display:inline;
+    list-style:none;
+}
+ul.inheritance li ul.inheritance {
+    margin-left:15px;
+    padding-left:15px;
+    padding-top:1px;
+}
+ul.blockList, ul.blockListLast {
+    margin:10px 0 10px 0;
+    padding:0;
+}
+ul.blockList li.blockList, ul.blockListLast li.blockList {
+    list-style:none;
+    margin-bottom:15px;
+    line-height:1.4;
+}
+ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast 
li.blockList {
+    padding:0px 20px 5px 10px;
+    border:1px solid #ededed; 
+    background-color:#f8f8f8;
+}
+ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList 
ul.blockListLast li.blockList {
+    padding:0 0 5px 8px;
+    background-color:#ffffff;
+    border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
+    margin-left:0;
+    padding-left:0;
+    padding-bottom:15px;
+    border:none;
+}
+ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
+    list-style:none;
+    border-bottom:none;
+    padding-bottom:0;
+}
+table tr td dl, table tr td dl dt, table tr td dl dd {
+    margin-top:0;
+    margin-bottom:1px;
+}
+/*
+Table styles
+*/
+.overviewSummary, .memberSummary, .typeSummary, .useSummary, 
.constantsSummary, .deprecatedSummary {
+    width:100%;
+    border-left:1px solid #EEE; 
+    border-right:1px solid #EEE; 
+    border-bottom:1px solid #EEE; 
+}
+.overviewSummary, .memberSummary  {
+    padding:0px;
+}
+.overviewSummary caption, .memberSummary caption, .typeSummary caption,
+.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
+    position:relative;
+    text-align:left;
+    background-repeat:no-repeat;
+    color:#253441;
+    font-weight:bold;
+    clear:none;
+    overflow:hidden;
+    padding:0px;
+    padding-top:10px;
+    padding-left:1px;
+    margin:0px;
+    white-space:pre;
+}
+.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary 
caption a:link,
+.useSummary caption a:link, .constantsSummary caption a:link, 
.deprecatedSummary caption a:link,
+.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary 
caption a:hover,
+.useSummary caption a:hover, .constantsSummary caption a:hover, 
.deprecatedSummary caption a:hover,
+.overviewSummary caption a:active, .memberSummary caption a:active, 
.typeSummary caption a:active,
+.useSummary caption a:active, .constantsSummary caption a:active, 
.deprecatedSummary caption a:active,
+.overviewSummary caption a:visited, .memberSummary caption a:visited, 
.typeSummary caption a:visited,
+.useSummary caption a:visited, .constantsSummary caption a:visited, 
.deprecatedSummary caption a:visited {
+    color:#FFFFFF;
+}
+.overviewSummary caption span, .memberSummary caption span, .typeSummary 
caption span,
+.useSummary caption span, .constantsSummary caption span, .deprecatedSummary 
caption span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    padding-bottom:7px;
+    display:inline-block;
+    float:left;
+    background-color:#F8981D;
+    border: none;
+    height:16px;
+}
+.memberSummary caption span.activeTableTab span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    margin-right:3px;
+    display:inline-block;
+    float:left;
+    background-color:#F8981D;
+    height:16px;
+}
+.memberSummary caption span.tableTab span {
+    white-space:nowrap;
+    padding-top:5px;
+    padding-left:12px;
+    padding-right:12px;
+    margin-right:3px;
+    display:inline-block;
+    float:left;
+    background-color:#4D7A97;
+    height:16px;
+}
+.memberSummary caption span.tableTab, .memberSummary caption 
span.activeTableTab {
+    padding-top:0px;
+    padding-left:0px;
+    padding-right:0px;
+    background-image:none;
+    float:none;
+    display:inline;
+}
+.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
+.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
+    display:none;
+    width:5px;
+    position:relative;
+    float:left;
+    background-color:#F8981D;
+}
+.memberSummary .activeTableTab .tabEnd {
+    display:none;
+    width:5px;
+    margin-right:3px;
+    position:relative; 
+    float:left;
+    background-color:#F8981D;
+}
+.memberSummary .tableTab .tabEnd {
+    display:none;
+    width:5px;
+    margin-right:3px;
+    position:relative;
+    background-color:#4D7A97;
+    float:left;
 
-/* Headings */
-h1 { font-size: 145% }
+}
+.overviewSummary td, .memberSummary td, .typeSummary td,
+.useSummary td, .constantsSummary td, .deprecatedSummary td {
+    text-align:left;
+    padding:0px 0px 12px 10px;
+}
+th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
+td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
+    vertical-align:top;
+    padding-right:0px;
+    padding-top:8px;
+    padding-bottom:3px;
+}
+th.colFirst, th.colLast, th.colOne, .constantsSummary th {
+    background:#dee3e9;
+    text-align:left;
+    padding:8px 3px 3px 7px;
+}
+td.colFirst, th.colFirst {
+    white-space:nowrap;
+    font-size:13px;
+}
+td.colLast, th.colLast {
+    font-size:13px;
+}
+td.colOne, th.colOne {
+    font-size:13px;
+}
+.overviewSummary td.colFirst, .overviewSummary th.colFirst,
+.useSummary td.colFirst, .useSummary th.colFirst,
+.overviewSummary td.colOne, .overviewSummary th.colOne,
+.memberSummary td.colFirst, .memberSummary th.colFirst,
+.memberSummary td.colOne, .memberSummary th.colOne,
+.typeSummary td.colFirst{
+    width:25%;
+    vertical-align:top;
+}
+td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, 
td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst 
a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, 
td.colLast a:hover, .constantValuesContainer td a:link, 
.constantValuesContainer td a:active, .constantValuesContainer td a:visited, 
.constantValuesContainer td a:hover {
+    font-weight:bold;
+}
+.tableSubHeadingColor {
+    background-color:#EEEEFF;
+}
+.altColor {
+    background-color:#FFFFFF;
+}
+.rowColor {
+    background-color:#EEEEEF;
+}
+/*
+Content styles
+*/
+.description pre {
+    margin-top:0;
+}
+.deprecatedContent {
+    margin:0;
+    padding:10px 0;
+}
+.docSummary {
+    padding:0;
+}
 
-/* Table colors */
-.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
-.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
-.TableRowColor         { background: #FFFFFF } /* White */
-
-/* Font used in left-hand frame lists */
-.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif 
}
-.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif 
}
-.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif 
}
-
-/* Navigation bar fonts and colors */
-.NavBarCell1    { background-color:#EEEEFF;} /* Light mauve */
-.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
-.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
-.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+ul.blockList ul.blockList ul.blockList li.blockList h3 {
+    font-style:normal;
+}
 
-.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; 
background-color:#FFFFFF;}
-.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; 
background-color:#FFFFFF;}
+div.block {
+    font-size:14px;
+    font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
+}
 
+td.colLast div {
+    padding-top:0px;
+}
+
+
+td.colLast a {
+    padding-bottom:3px;
+}
+/*
+Formatting effect styles
+*/
+.sourceLineNo {
+    color:green;
+    padding:0 30px 0 0;
+}
+h1.hidden {
+    visibility:hidden;
+    overflow:hidden;
+    font-size:10px;
+}
+.block {
+    display:block;
+    margin:3px 10px 2px 0px;
+    color:#474747;
+}
+.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
+.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
+.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
+    font-weight:bold;
+}
+.deprecationComment, .emphasizedPhrase, .interfaceName {
+    font-style:italic;
+}
+
+div.block div.block span.deprecationComment, div.block div.block 
span.emphasizedPhrase,
+div.block div.block span.interfaceName {
+    font-style:normal;
+}
+
+div.contentContainer ul.blockList li.blockList h2{
+    padding-bottom:0px;
+}
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/xref-test/allclasses-frame.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/xref-test/allclasses-frame.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/xref-test/allclasses-frame.html
 Tue May 21 03:58:58 2019
@@ -1,29 +1,21 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"DTD/xhtml1-transitional.dtd">
-<html xml:lang="en" lang="en">
-       <head>
-               <meta http-equiv="content-type" content="text/html; 
charset=ISO-8859-1" />
-               <title>All Classes</title>
-               <link rel="stylesheet" type="text/css" href="stylesheet.css" 
title="style" />
-    </head>
-    <body>
-
-               <h3>All Classes</h3>
-
-               <ul>
-                                               <li>
-                               <a 
href="org/apache/fulcrum/jce/crypto/CryptoUtilTest.html" 
target="classFrame">CryptoUtilTest</a>
-                       </li>
-                                               <li>
-                               <a 
href="org/apache/fulcrum/jce/crypto/Main.html" target="classFrame">Main</a>
-                       </li>
-                                               <li>
-                               <a 
href="org/apache/fulcrum/jce/crypto/MainTest.html" 
target="classFrame">MainTest</a>
-                       </li>
-                                               <li>
-                               <a 
href="org/apache/fulcrum/jce/crypto/SmartDecryptingInputStreamTest.html" 
target="classFrame">SmartDecryptingInputStreamTest</a>
-                       </li>
-                             </ul>
-
-    </body>
-  </html>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xml:lang="en" lang="en">
+    <!-- generated by Apache Maven JXR (jdk8) -->
+    <head>
+        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+        <title>All Classes</title>
+        <link rel="stylesheet" type="text/css" href="stylesheet.css" 
title="style" />
+    </head>
+    <body>
+        <h1 class="bar">All Classes</h1>
+        <div class="indexContainer">
+            <ul>
+                                <li><a 
href="org/apache/fulcrum/jce/crypto/CryptoUtilTest.html#CryptoUtilTest" 
target="classFrame">CryptoUtilTest</a></li>
+                                <li><a 
href="org/apache/fulcrum/jce/crypto/Main.html#Main" 
target="classFrame">Main</a></li>
+                                <li><a 
href="org/apache/fulcrum/jce/crypto/MainTest.html#MainTest" 
target="classFrame">MainTest</a></li>
+                                <li><a 
href="org/apache/fulcrum/jce/crypto/SmartDecryptingInputStreamTest.html#SmartDecryptingInputStreamTest"
 target="classFrame">SmartDecryptingInputStreamTest</a></li>
+                            </ul>
+        </div>
+    </body>
+</html>
\ No newline at end of file

Modified: 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/xref-test/index.html
==============================================================================
--- 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/xref-test/index.html
 (original)
+++ 
websites/production/turbine/content/fulcrum/fulcrum-yaafi-crypto/xref-test/index.html
 Tue May 21 03:58:58 2019
@@ -1,24 +1,75 @@
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"DTD/xhtml1-frameset.dtd">
-<html xml:lang="en" lang="en">
-       <head>
-               <meta http-equiv="content-type" content="text/html; 
charset=ISO-8859-1" />
-               <title>Fulcrum YAAFI Crypto 1.0.7-SNAPSHOT Reference</title>
-       </head>
-    <frameset cols="20%,80%">
-               <frameset rows="30%,70%">
-                       <frame src="overview-frame.html" 
name="packageListFrame" />
-                       <frame src="allclasses-frame.html" name="packageFrame" 
/>
-               </frameset>
-               <frame src="overview-summary.html" name="classFrame" />
-        <noframes>
-            <body>
-                <h1>Frame Alert</h1>
-                <p>
-                    You don't have frames. Go <a 
href="overview-summary.html">here</a>
-                </p>
-            </body>
-        </noframes>
-    </frameset>
-</html>
-
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd";>
+<html xml:lang="en" lang="en">
+    <!-- this is a JXR report set (jdk8) -->
+    <head>
+        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
+        <title>Fulcrum YAAFI Crypto 1.0.7 Reference</title>
+        <script type="text/javascript">
+            tmpTargetPage = "" + window.location.search;
+            if (tmpTargetPage != "" && tmpTargetPage != "undefined")
+                tmpTargetPage = tmpTargetPage.substring(1);
+            if (tmpTargetPage.indexOf(":") != -1 || (tmpTargetPage != "" && 
!validURL(tmpTargetPage)))
+                tmpTargetPage = "undefined";
+            targetPage = tmpTargetPage;
+            function validURL(url) {
+                try {
+                    url = decodeURIComponent(url);
+                }
+                catch (error) {
+                    return false;
+                }
+                var pos = url.indexOf(".html");
+                if (pos == -1 || pos != url.length - 5)
+                    return false;
+                var allowNumber = false;
+                var allowSep = false;
+                var seenDot = false;
+                for (var i = 0; i < url.length - 5; i++) {
+                    var ch = url.charAt(i);
+                    if ('a' <= ch && ch <= 'z' ||
+                            'A' <= ch && ch <= 'Z' ||
+                            ch == '$' ||
+                            ch == '_' ||
+                            ch.charCodeAt(0) > 127) {
+                        allowNumber = true;
+                        allowSep = true;
+                    } else if ('0' <= ch && ch <= '9'
+                            || ch == '-') {
+                        if (!allowNumber)
+                            return false;
+                    } else if (ch == '/' || ch == '.') {
+                        if (!allowSep)
+                            return false;
+                        allowNumber = false;
+                        allowSep = false;
+                        if (ch == '.')
+                            seenDot = true;
+                        if (ch == '/' && seenDot)
+                            return false;
+                    } else {
+                        return false;
+                    }
+                }
+                return true;
+            }
+            function loadFrames() {
+                if (targetPage != "" && targetPage != "undefined")
+                    top.classFrame.location = top.targetPage;
+            }
+        </script>
+    </head>
+    <frameset cols="20%,80%" title="Documentation frame" 
onload="top.loadFrames()">
+        <frameset rows="30%,70%" title="Left frames" onload="top.loadFrames()">
+            <frame src="overview-frame.html" name="packageListFrame" 
title="All Packages"/>
+            <frame src="allclasses-frame.html" name="packageFrame" title="All 
classes and interfaces (except non-static nested types)"/>
+        </frameset>
+        <frame src="overview-summary.html" name="classFrame" title="Package, 
class and interface descriptions" scrolling="yes"/>
+        <noframes>
+            <h1>Frame Alert</h1>
+            <p>
+                You don't have frames. Go <a 
href="overview-summary.html">here</a>
+            </p>
+        </noframes>
+    </frameset>
+</html>
\ No newline at end of file


Reply via email to