<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8427109918037339486</id><updated>2011-11-27T16:45:32.117-08:00</updated><title type='text'>WTP and ICE faces</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wtpicefaces.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://wtpicefaces.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Oleg</name><uri>http://www.blogger.com/profile/00502551495913982264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8427109918037339486.post-7374135612667315996</id><published>2010-07-04T22:29:00.000-07:00</published><updated>2010-07-12T06:50:51.258-07:00</updated><title type='text'>PDFViewer using ICEFaces, ICEPDF and Lucene</title><content type='html'>&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;b&gt;PDFViewer&lt;/b&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;My intention in this tutorial is to send some rays of light to some ICEFaces UIComponents such as: Collapsible panel, file upload, input/output text. Also we will know how to use effect tag component. Using ICEPdf and Lucene API we build searchable document and see how it's easy extract text from pdf and search through terms. Finally we wrap all our development into JSF web application.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;Our application looks like that:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;a href="http://3.bp.blogspot.com/_4hV1gTx2HbI/TDFv7MPjALI/AAAAAAAAATc/lriH0nwQgLs/s1600/main_screen.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5490292483430744242" src="http://3.bp.blogspot.com/_4hV1gTx2HbI/TDFv7MPjALI/AAAAAAAAATc/lriH0nwQgLs/s320/main_screen.JPG" style="cursor: pointer; display: block; height: 473px; margin: 0px auto 10px; text-align: center; width: 542px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;Let's begin.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;Before delving into UIComponents explanation I would like to describe user's use case. Imagine a government worker who is not allowed install pdf reader by security reason. He tried explain his requirements to the IT team and here they are. He wants to upload pdf file into web server and read his stuff, also he wants to get possibility perform search on the uploaded file. IT team scratch their heads and understand that they can implement file uploading, but they don't know how to extract a text from pdf and how to provide searching capability. One very talented programmer  from the team learned that ICESoft also has good and reliable package named ICEPDF that especially suites for that goal. This guy also suggests that if they will use Lucene API then search will be approachable.Well, it's time to transform the requirements to real JSF application. As we can see, at least two pages are needed, one for file upload and the second for viewer. The first question is how to navigate between pages? ICEFaces has a lot of navigational UI controls (tabs, collapsable or accordion and even more). My most likable ui control is Collapsible panel. Collapsible panel is a component consists of two parts: the content area and a header section, which can be clicked on, to cause the content area to collapse into not being visible, or expand to become visible. The code for file uploading looks like this:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;/div&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 		A:link { so-language: zxx } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelCollapsible&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"upload"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;expanded&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"true"&lt;/i&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;	&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;f:facet&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;name&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"header"&lt;/i&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;		&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelGroup&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;			&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:outputText&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"imageHeader"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"upload pdf files"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;		&lt;/span&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelGroup&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;	&lt;/span&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;f:facet&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;		&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelGroup&lt;/span&gt;  &lt;span style="color: #7f007f;"&gt;style&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"width: 100% "&lt;/i&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;			&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:inputFile&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"inputFileName"&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;				&lt;span style="color: #7f007f;"&gt;autoUpload&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{inputFileController.autoUpload}"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;			          &lt;span style="color: #7f007f;"&gt;actionListener&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{inputFileController.uploadFile}"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;				&lt;span style="color: #7f007f;"&gt;progressListener&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"&lt;span style="color: black;"&gt;&lt;u&gt;#{inputFileController.fileUploadProgress}&lt;/u&gt;&lt;/span&gt;" &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;			&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:outputProgress&lt;/span&gt;  &lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{inputFileController.fileProgress}" &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: black;"&gt;		&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;			&lt;/span&gt;&lt;span style="color: #3f5fbf;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;			&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:inputHidden&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"pathLucene"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{inputFileController.pathLuceneIndex}" &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;			&lt;/span&gt;&lt;span style="color: #3f5fbf;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;			&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:inputHidden&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"totalPages"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{inputFileController.totalPages}" &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;					&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;		&lt;/span&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelGroup&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelCollapsible&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;After file is uploaded we need to extract the text provided by ICEPDF API:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		TD P { margin-bottom: 0in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div class="western"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;PageText pageText = &lt;/span&gt;&lt;span style="color: #0000c0;"&gt;document&lt;/span&gt;&lt;span style="color: black;"&gt;.getPageViewText(pageNumber);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="western"&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;When text is extracted we build the Lucene's index. Think about pdf document, it contains pages, pages contain some &lt;span style="font-family: verdana;"&gt;text and text itself compound from words. If we project our pdf knowledge to Lucene's world, we get: document that wraps fields (pages), each field wraps terms (words). An index is a searchable ADT that works pretty well. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="font-family: verdana; margin-bottom: 0in;"&gt;&lt;span style="font-size: 78%;"&gt;Here is a piece of code for building the index:&lt;/span&gt;&lt;/div&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt;&lt;/style&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; buildIndex(){&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;   Document document = &lt;span style="color: #7f0055;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; Document();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;   String txt = &lt;span style="color: #7f0055;"&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;;		&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;   Analyzer analyzer  = &lt;span style="color: #7f0055;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; StandardAnalyzer(Version.&lt;/span&gt;&lt;span style="color: #0000c0;"&gt;&lt;i&gt;LUCENE_30&lt;/i&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;   &lt;/span&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;this&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;span style="color: #0000c0;"&gt;indexDirectory&lt;/span&gt;&lt;span style="color: black;"&gt;    = getIndexPath();&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;   IndexWriter writer;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;		&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;   &lt;/span&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;	writer = &lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; IndexWriter(FSDirectory.&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;i&gt;open&lt;/i&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; File(getIndexDirectory())), analyzer, IndexWriter.MaxFieldLength.&lt;/span&gt;&lt;span style="color: #0000c0;"&gt;&lt;i&gt;UNLIMITED&lt;/i&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;	&lt;/span&gt;&lt;span style="color: #3f7f5f;"&gt;/* Creates &lt;/span&gt;&lt;span style="color: #3f7f5f;"&gt;&lt;u&gt;Lucene&lt;/u&gt;&lt;/span&gt;&lt;span style="color: #3f7f5f;"&gt; document */&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;	&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;for&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; (&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;int&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; currentPage = 0; currentPage &amp;lt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;             &lt;/span&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;try&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;	        txt = getTe().getTextFromPage(currentPage);&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;	        document.add(&lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; Field(String.&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;i&gt;valueOf&lt;/i&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;(currentPage), txt, Field.Store.&lt;/span&gt;&lt;span style="color: #0000c0;"&gt;&lt;i&gt;YES&lt;/i&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;, Field.Index.&lt;/span&gt;&lt;span style="color: #0000c0;"&gt;&lt;i&gt;ANALYZED&lt;/i&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;));&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;		&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;                 } &lt;span style="color: #7f0055;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; (Exception e) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;		  System.&lt;/span&gt;&lt;span style="color: #0000c0;"&gt;&lt;i&gt;err&lt;/i&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;.println(e.getLocalizedMessage());&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;	       }&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;         }&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;	writer.addDocument(document);&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;	writer.optimize();&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;	writer.close();&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;         } &lt;span style="color: #7f0055;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; (CorruptIndexException e1) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;              e1.printStackTrace();&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;         } &lt;span style="color: #7f0055;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; (LockObtainFailedException e1) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;	    e1.printStackTrace();&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;         } &lt;span style="color: #7f0055;"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; (IOException e1) {&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;	    e1.printStackTrace();&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-size: 78%;"&gt;         }&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="font-family: courier new; margin-bottom: 0in;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;The second page – pdf viewer:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelCollapsible&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"pdfViewer"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;expanded&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"false"&lt;/i&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;    &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;f:facet&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;name&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"header"&lt;/i&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;	&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelGroup&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;              &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:outputText&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"textHeader"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"veiw pdf"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;	&lt;/span&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelGroup&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;    &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;f:facet&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;    &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelGrid&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;columns&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"8"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;style&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"width: 70%"&lt;/i&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;        &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:commandButton&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"arrowDown"&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: #7f007f;"&gt;image&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"./images/Arrowdowngreen.png"&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;		        &lt;span style="color: #7f007f;"&gt;actionListener&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.imageButtonListener}" &lt;span style="color: #7f007f;"&gt;partialSubmit&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"true"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="color: black;"&gt;			&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;        &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:commandButton&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"arrowUp"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;image&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"./images/Arrowupgreen.png"&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;		        &lt;span style="color: #7f007f;"&gt;actionListener&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.imageButtonListener}" &lt;span style="color: #7f007f;"&gt;partialSubmit&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"true"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;        &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:inputText&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"currentPage"&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.pageNumber}" &lt;span style="color: #7f007f;"&gt;partialSubmit&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"true"&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;		    &lt;span style="color: #7f007f;"&gt;valueChangeListener&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.inputTextListener}"&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;	   &lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;f:converter&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;converterId&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"javax.faces.Integer"&lt;/i&gt;&lt;/span&gt;  &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;        &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;ice:inputText&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;        &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:outputText&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"separator"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"/"&lt;/i&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;        &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:inputText&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"totalPage"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.totalPages}" &lt;span style="color: #7f007f;"&gt;disabled&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"true"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;partialSubmit&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"true"&lt;/i&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;        &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:inputText&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"search"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.searchTerm}" &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;	             &lt;span style="color: #7f007f;"&gt;partialSubmit&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"true"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;effect&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.effectOutputText}"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;		   &lt;span style="color: #7f007f;"&gt;valueChangeListener&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.inputTextListener}" &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;					&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;        &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:commandButton&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"searchRight"&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;	                 &lt;span style="color: #7f007f;"&gt;image&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"./images/arightbl2_search.gif"&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;		       &lt;span style="color: #7f007f;"&gt;actionListener&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.imageButtonListener}" &lt;span style="color: #7f007f;"&gt;partialSubmit&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"true"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;						&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;        &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:commandButton&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"searchLeft"&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;	                 &lt;span style="color: #7f007f;"&gt;image&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"./images/aleftbl4_search.gif"&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;		       &lt;span style="color: #7f007f;"&gt;actionListener&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.imageButtonListener}" &lt;span style="color: #7f007f;"&gt;partialSubmit&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"true"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;     &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelGrid&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;     &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelGroup&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;style&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"width: 50%; align: middle"&lt;/i&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;	&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:outputText&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"textPage"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;style&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"align: center;"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.regularText}" &lt;span style="color: #7f007f;"&gt;escape&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"false"&lt;/i&gt;&lt;/span&gt;&lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: black;"&gt;     &lt;/span&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelGroup&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: black;"&gt;			&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&lt;span style="color: #3f7f7f;"&gt;ice:panelCollapsible&lt;/span&gt;&lt;span style="color: teal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;Since the text is extracted, an index built, we can try to search. By typing some word (query) and clicking on “Enter” key, a text in the inputText field colored Orange and the page with emphasized words appears. How do we achieve that? Simply like a charm. ICEfaces Component Suite provide special attributes that can be used to invoke effects on the components.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: teal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #3f7f7f;"&gt;ice:inputText &lt;/span&gt;&lt;span style="color: #7f007f;"&gt;id&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"search"&lt;/i&gt;&lt;/span&gt; &lt;span style="color: #7f007f;"&gt;value&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.searchTerm}" &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;		&lt;span style="color: #7f007f;"&gt;partialSubmit&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="color: #2a00ff;"&gt;&lt;i&gt;"true"&lt;/i&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="color: #7f007f;"&gt;                    &lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;effect&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="font-family: courier new;"&gt;"#{buttonsInputBean.effectOutputText}"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="LEFT" class="western" style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;		&lt;span style="color: #7f007f;"&gt;valueChangeListener&lt;/span&gt;&lt;span style="color: black;"&gt;=&lt;/span&gt;"#{buttonsInputBean.inputTextListener}" &lt;span style="color: teal;"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;The Effect initialization is done by backing bean:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		TD P { margin-bottom: 0in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div class="western"&gt;&lt;span style="font-family: Courier New,monospace;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;span style="color: black;"&gt;Highlight &lt;/span&gt;&lt;span style="color: #0000c0;"&gt;effectOutputText&lt;/span&gt;&lt;span style="color: black;"&gt; = &lt;/span&gt;&lt;span style="color: #7f0055;"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: black;"&gt; Highlight(&lt;/span&gt;&lt;span style="color: #0000c0;"&gt;&lt;i&gt;WHITE_BKG&lt;/i&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;/meta&gt;&lt;title&gt;&lt;/title&gt;&lt;meta content="OpenOffice.org 3.2  (Win32)" name="GENERATOR"&gt;&lt;/meta&gt;&lt;style type="text/css"&gt; 	&lt;!-- 		@page { size: 8.5in 11in; margin: 0.79in } 		P { margin-bottom: 0.08in } 		A:link { so-language: zxx } 	--&gt; 	&lt;/style&gt; &lt;br /&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;That's it. &lt;/span&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;The source code of the PDFViewer located here:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0in;"&gt;&lt;span style="font-family: Verdana,sans-serif;"&gt;&lt;span style="font-size: 78%;"&gt;&lt;a href="http://uploading.com/files/2d52ce48/iceface_workspace.zip/"&gt;http://uploading.com/files/2d52ce48/iceface_workspace.zip/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8427109918037339486-7374135612667315996?l=wtpicefaces.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wtpicefaces.blogspot.com/feeds/7374135612667315996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8427109918037339486&amp;postID=7374135612667315996' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/7374135612667315996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/7374135612667315996'/><link rel='alternate' type='text/html' href='http://wtpicefaces.blogspot.com/2010/07/pdfviewer-using-icefaces-icepdf-and.html' title='PDFViewer using ICEFaces, ICEPDF and Lucene'/><author><name>Oleg</name><uri>http://www.blogger.com/profile/00502551495913982264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_4hV1gTx2HbI/TDFv7MPjALI/AAAAAAAAATc/lriH0nwQgLs/s72-c/main_screen.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8427109918037339486.post-3036339872026254783</id><published>2009-05-05T07:33:00.000-07:00</published><updated>2009-05-05T07:47:53.597-07:00</updated><title type='text'>Linkedin group profile</title><content type='html'>Hello, everybody.&lt;br /&gt;I happy to announce  that ICEFaces has its own &lt;a href="http://www.linkedin.com/groups?about=&amp;gid=1921725"&gt;Linkedin's&lt;/a&gt; group.&lt;br /&gt;&lt;br /&gt;Join us and be part of the ICEfaces !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8427109918037339486-3036339872026254783?l=wtpicefaces.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wtpicefaces.blogspot.com/feeds/3036339872026254783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8427109918037339486&amp;postID=3036339872026254783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/3036339872026254783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/3036339872026254783'/><link rel='alternate' type='text/html' href='http://wtpicefaces.blogspot.com/2009/05/linkedin-group-profile.html' title='Linkedin group profile'/><author><name>Oleg</name><uri>http://www.blogger.com/profile/00502551495913982264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8427109918037339486.post-2018399063304603372</id><published>2008-09-08T05:22:00.000-07:00</published><updated>2008-09-08T05:34:13.157-07:00</updated><title type='text'>How to set up an Eclipse console for multilingual support</title><content type='html'>&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;In  your code insert the following:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;table style="color: rgb(0, 0, 0);" border="1" cellpadding="4" cellspacing="0" width="100%"&gt;  &lt;col width="256*"&gt;  &lt;tbody&gt;&lt;tr&gt;   &lt;td valign="top" width="100%"&gt;    &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Locale    loc = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    Locale(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"ko"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;,    &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"KR"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;    &lt;p align="left"&gt;&lt;span style="font-family:Courier New,monospace;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Locale.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;i&gt;setDefault&lt;/i&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(loc);&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;In this examp&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;le I created an instance of Korean Locale, for the sake of example. Second line means, set Korean Locale as default. After those lines of code you can put you&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;r business logic.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;To get the Eclipse console to display characters in an encoding other than your system default encoding, you need to do the following:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Set  the file encoding on the target VM in the Arguments Tab of the Run?  dialog ("-Dfile.encoding=UTF-8").&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;ol start="2"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Set  the console encoding to match the encoding you set on the target VM  in the Common tab of the Run? dialog.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt;  &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Open  Run Dialog ...&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/li&gt;&lt;/ul&gt;   &lt;p style="margin-bottom: 0in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4hV1gTx2HbI/SMUaI3MZrVI/AAAAAAAAAJI/emUlfaRKGPw/s1600-h/eclipse_Arguments.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_4hV1gTx2HbI/SMUaI3MZrVI/AAAAAAAAAJI/emUlfaRKGPw/s320/eclipse_Arguments.JPG" alt="" id="BLOGGER_PHOTO_ID_5243626080700050770" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Type  "-Dfile.encoding=UTF-8" in the VM arguments&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4hV1gTx2HbI/SMUZw1OdocI/AAAAAAAAAJA/0AyJVzTDC8A/s1600-h/openRunDialog.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_4hV1gTx2HbI/SMUZw1OdocI/AAAAAAAAAJA/0AyJVzTDC8A/s320/openRunDialog.JPG" alt="" id="BLOGGER_PHOTO_ID_5243625667854967234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;Select  UTF-8 in the Common tab&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4hV1gTx2HbI/SMUanbBPSBI/AAAAAAAAAJQ/AqCObElpDaE/s1600-h/eclipse_Common.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_4hV1gTx2HbI/SMUanbBPSBI/AAAAAAAAAJQ/AqCObElpDaE/s320/eclipse_Common.JPG" alt="" id="BLOGGER_PHOTO_ID_5243626605712984082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;That's it. Enjoy.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8427109918037339486-2018399063304603372?l=wtpicefaces.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wtpicefaces.blogspot.com/feeds/2018399063304603372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8427109918037339486&amp;postID=2018399063304603372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/2018399063304603372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/2018399063304603372'/><link rel='alternate' type='text/html' href='http://wtpicefaces.blogspot.com/2008/09/how-to-set-up-eclipse-console-for.html' title='How to set up an Eclipse console for multilingual support'/><author><name>Oleg</name><uri>http://www.blogger.com/profile/00502551495913982264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_4hV1gTx2HbI/SMUaI3MZrVI/AAAAAAAAAJI/emUlfaRKGPw/s72-c/eclipse_Arguments.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8427109918037339486.post-298511813074489966</id><published>2008-08-26T21:48:00.000-07:00</published><updated>2008-08-27T04:41:30.393-07:00</updated><title type='text'>Some ICEFaces tags</title><content type='html'>First at all, why i've chosen an ICEFaces? There are some reasons and here they are:&lt;br /&gt;1. It supports Ajax&lt;br /&gt;2. It looks very cool&lt;br /&gt;3. It works well&lt;br /&gt;4. Integrated with Eclipse&lt;br /&gt;5. It is possible to combine another frameworks like Spring, Struts and even more.&lt;br /&gt;&lt;br /&gt;The first control i would rather speak about is ice:selectonelistbox&lt;br /&gt;The control looks like this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4hV1gTx2HbI/SLTf84vLOEI/AAAAAAAAAIw/gAvBJldiZ1g/s1600-h/selectOneListBox.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_4hV1gTx2HbI/SLTf84vLOEI/AAAAAAAAAIw/gAvBJldiZ1g/s320/selectOneListBox.JPG" alt="" id="BLOGGER_PHOTO_ID_5239058503654127682" border="0"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The corresponding listbox tag looks like this:&lt;br /&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(102, 102, 204);" face="verdana"&gt;ice:selectOneListbox id="SlctFileListBoxID" title="files" size="5"&lt;/font&gt; &lt;/font&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: left;"&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(102, 102, 204);" face="verdana"&gt;value="#{buttonclick.fileSelected}" partialSubmit="true"&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(102, 102, 204);" face="verdana"&gt;&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;/div&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(102, 102, 204);" face="verdana"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(102, 102, 204);" face="verdana"&gt;style="width:100%;overflow: auto;"&lt;/font&gt;&lt;/font&gt; &lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(102, 102, 204);" face="verdana"&gt;valueChangeListener="#{buttonclick.fileChanged}"&gt;&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;&lt;/div&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(102, 102, 204);" face="verdana"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(102, 102, 204);" face="verdana"&gt;f:selectItems id="SlctFilesItms"&lt;/font&gt;&lt;/font&gt; &lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(102, 102, 204);" face="verdana"&gt;value="#{buttonclick.filesListItems}" /&gt;&lt;/font&gt;&lt;/font&gt; &lt;/div&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(102, 102, 204);" face="verdana"&gt;/ice:selectOneListbox&gt;&lt;/font&gt;&lt;/font&gt;&lt;br /&gt;I missed "&lt;" sign because it's not correctly showing on the blog page How does it render on the html page? &lt;pre id="line11"&gt;&lt;&lt;font class="start-tag"&gt;select&lt;/font&gt;&lt;font class="attribute-name"&gt; class&lt;/font&gt;=&lt;font class="attribute-value"&gt;"iceSelOneLb" &lt;/font&gt;&lt;font class="attribute-name"&gt;&lt;br /&gt;id&lt;/font&gt;=&lt;font class="attribute-value"&gt;"j_id8:SlctFileListBoxID" &lt;/font&gt;&lt;font class="attribute-name"&gt;&lt;br /&gt;name&lt;/font&gt;=&lt;font class="attribute-value"&gt;"j_id8:SlctFileListBoxID"&lt;br /&gt;&lt;/font&gt;&lt;font class="attribute-name"&gt;onblur&lt;/font&gt;=&lt;font class="attribute-value"&gt;"setFocus('');" &lt;/font&gt;&lt;font class="attribute-name"&gt;&lt;br /&gt;onchange&lt;/font&gt;=&lt;font class="attribute-value"&gt;"iceSubmitPartial(form, this, event);" &lt;/font&gt;&lt;font class="attribute-name"&gt;&lt;br /&gt;onfocus&lt;/font&gt;=&lt;font class="attribute-value"&gt;"setFocus(this.id);"&lt;br /&gt;&lt;/font&gt;&lt;font class="attribute-name"&gt;size&lt;/font&gt;=&lt;font class="attribute-value"&gt;"5" &lt;/font&gt;&lt;font class="attribute-name"&gt;&lt;br /&gt;style&lt;/font&gt;=&lt;font class="attribute-value"&gt;"width:100%;overflow: auto;"&lt;br /&gt;&lt;/font&gt;&lt;font class="attribute-name"&gt;title&lt;/font&gt;=&lt;font class="attribute-value"&gt;"files"&lt;/font&gt;&gt;&lt;br /&gt;&lt;&lt;font class="start-tag"&gt;option&lt;/font&gt;&lt;font class="attribute-name"&gt; value&lt;/font&gt;=&lt;font class="attribute-value"&gt;"allclasses-frame.html"&lt;/font&gt;&gt;allclasses-frame.html&lt;!--&lt;font class="end-tag"--&gt;option&gt;&lt;br /&gt;...&lt;br /&gt;&lt;!--&lt;font class="end-tag"--&gt;select&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;font style="font-weight: bold;"&gt;What we need in backing bean...&lt;br /&gt;&lt;/font&gt;&lt;font&gt;&lt;font size="2"&gt;&lt;span style="font-family: webdings;"&gt;String fileSelected = "";&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;protected SelectItem[] FILES_ITEMS;&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;    public SelectItem[] getFilesListItems() {&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;        try {&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;            FILES_ITEMS = new SelectItem[getFiles().length];&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;            for (int i = 0; i &lt; getFiles().length; i++) {&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;                FILES_ITEMS[i] = new SelectItem(getFiles()[i]);&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;            }&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;        } catch (Exception e) {&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;            e.printStackTrace();&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;        }&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;        return FILES_ITEMS;&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;     }&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;   &lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;    public void fileChanged(ValueChangeEvent event) {&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;        if(event.getNewValue()!= null){&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;            fileSelected = (String) event.getNewValue();&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;            System.out.println("Clicked value: " + event.getNewValue());&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;        }   &lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;    }&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;    public String getFileSelected() {&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;        return fileSelected;&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;    }&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;    public void setFileSelected(String fileSelected) {&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;        this.fileSelected = fileSelected;&lt;/span&gt;&lt;br style="font-family: webdings;"&gt;&lt;span style="font-family: webdings;"&gt;    }&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font style="font-weight: bold;"&gt;&lt;font size="2"&gt;&lt;br style="font-family: webdings;"&gt;&lt;br style="font-family: webdings;"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font style="font-family: verdana;" size="3"&gt;That's it indeed.&lt;br /&gt;But isn't actually. Something is incomplete...&lt;br /&gt;And now time for theory.&lt;br /&gt;The values—allclasses-frame.html ,Driver.html and so on.—are transmitted as request parameter values when a selection is made from the menu and the menu’s form is subsequently&lt;br /&gt;submitted. Those values are also used as labels for the menu items. Sometimes you want to specify different values for request parameter values and item labels, so f:selectItems also has an itemLabel attribute:&lt;br /&gt;f:selectItems itemValue="2008" itemLabel="Have a good day"/&gt;&lt;br /&gt;&lt;br /&gt;A single f:selectItems tag is usually better than multiple f:selectItem tags. If the number of items changes, you ought to adapt only Java code whether you use f:selectItems, whereas f:selectItem may entail to change both Java code and JSF pages.&lt;br /&gt;&lt;br /&gt;That's all.&lt;/font&gt;&lt;font style="color: rgb(102, 102, 204);" face="webdings" size="2"&gt;&lt;font size="2"&gt;&lt;font style="color: rgb(51, 51, 51);"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8427109918037339486-298511813074489966?l=wtpicefaces.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wtpicefaces.blogspot.com/feeds/298511813074489966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8427109918037339486&amp;postID=298511813074489966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/298511813074489966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/298511813074489966'/><link rel='alternate' type='text/html' href='http://wtpicefaces.blogspot.com/2008/08/some-icefaces-tags.html' title='Some ICEFaces tags'/><author><name>Oleg</name><uri>http://www.blogger.com/profile/00502551495913982264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_4hV1gTx2HbI/SLTf84vLOEI/AAAAAAAAAIw/gAvBJldiZ1g/s72-c/selectOneListBox.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8427109918037339486.post-5114296395738033705</id><published>2008-05-18T04:54:00.000-07:00</published><updated>2008-05-18T05:34:12.018-07:00</updated><title type='text'>Spring LDAP</title><content type='html'>When we're writing the intranet web application we should implement some authentification mechanism. There are a lot of ways to do it, but a more conveniently just to use a Spring LDAP framework. Here are the steps to set up this structure.&lt;br /&gt;1. Download Spring LDAP form the site: &lt;a href="http://springframework.org/ldap"&gt;http://springframework.org/ldap&lt;/a&gt;&lt;br /&gt;2. Create Java Project;&lt;br /&gt;2.1 Create package com.ldap.examples;&lt;br /&gt;3. Import to it following jars:&lt;br /&gt;i.     commons-lang.jar&lt;br /&gt;ii.    commons-logging.jar&lt;br /&gt;iii.   commons-pool.jar&lt;br /&gt;iv.   ldapbp.jar&lt;br /&gt;v.    spring-beans.jar&lt;br /&gt;vi.   spring-context.jar&lt;br /&gt;vii.  spring-core.jar&lt;br /&gt;viii. spring-dao.jar&lt;br /&gt;ix.   spring-jdbc.jar&lt;br /&gt;x.    spring-ldap-1.2.1.jar&lt;br /&gt;4.  Create PersonDao interface:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;package&lt;/span&gt;&lt;/strong&gt; com.ldap.examples;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; java.util.List;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;public interface&lt;/span&gt;&lt;/strong&gt; PersonDao {&lt;br /&gt;        &lt;span style="color:#993399;"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; List getAllContactNames();&lt;br /&gt;        &lt;span style="color:#993399;"&gt;&lt;strong&gt;public&lt;/strong&gt;&lt;/span&gt; List getContactDetails(String commonName,String lastName);&lt;br /&gt;        &lt;span style="color:#993399;"&gt;&lt;strong&gt;public &lt;/strong&gt;&lt;/span&gt;List getPersonMail(String mail);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;5. Create Java's class that implemets PersonDao interface&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#993399;"&gt;&lt;strong&gt;package&lt;/strong&gt;&lt;/span&gt; com.ldap.examples;&lt;br /&gt;&lt;span style="color:#993399;"&gt;&lt;strong&gt;import&lt;/strong&gt;&lt;/span&gt; java.util.List;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; org.springframework.beans.factory.BeanFactory;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; org.springframework.beans.factory.xml.XmlBeanFactory;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; org.springframework.core.io.ClassPathResource;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; org.springframework.core.io.Resource;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; org.springframework.ldap.core.LdapTemplate;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; org.springframework.ldap.filter.AndFilter;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; org.springframework.ldap.filter.EqualsFilter;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;public class&lt;/span&gt;&lt;/strong&gt; PersonDaoImpl &lt;strong&gt;&lt;span style="color:#993399;"&gt;implements&lt;/span&gt;&lt;/strong&gt; PersonDao {&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;private&lt;/span&gt;&lt;/strong&gt; LdapTemplate ldapTemplate;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;public void&lt;/span&gt;&lt;/strong&gt; setLdapTemplate(LdapTemplate ldapTemplate) {&lt;br /&gt;        &lt;strong&gt;&lt;span style="color:#993399;"&gt;this&lt;/span&gt;&lt;/strong&gt;.ldapTemplate = ldapTemplate;&lt;br /&gt;}&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;/**&lt;br /&gt;* @param args&lt;br /&gt;*/&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;public static void&lt;/span&gt;&lt;/strong&gt; main(String[] args) {&lt;br /&gt;     Resource resource = &lt;strong&gt;&lt;span style="color:#993399;"&gt;new&lt;/span&gt;&lt;/strong&gt; ClassPathResource("com/ldap/examples/springldap.xml");&lt;br /&gt;     BeanFactory factory = &lt;strong&gt;&lt;span style="color:#993399;"&gt;new&lt;/span&gt;&lt;/strong&gt; XmlBeanFactory(resource);&lt;br /&gt;     LdapTemplate ldapContact = (LdapTemplate) factory.getBean("ldapTemplate");&lt;br /&gt;     PersonDaoImpl my = &lt;strong&gt;&lt;span style="color:#993399;"&gt;new&lt;/span&gt;&lt;/strong&gt; PersonDaoImpl();&lt;br /&gt;     my.setLdapTemplate(ldapContact);&lt;br /&gt;     System.out.println(my.getPersonMail(&lt;a href="mailto:desiredMail@company.com"&gt;desiredMail@company.com&lt;/a&gt;));&lt;br /&gt;}&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;public&lt;/span&gt;&lt;/strong&gt; List getAllContactNames() {&lt;br /&gt;// TODO Auto-generated method stub&lt;br /&gt;    &lt;strong&gt;&lt;span style="color:#993399;"&gt;return null&lt;/span&gt;&lt;/strong&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;public&lt;/span&gt;&lt;/strong&gt; List getPersonMail(String mail) {&lt;br /&gt;     AndFilter andFilter = &lt;strong&gt;&lt;span style="color:#993399;"&gt;new&lt;/span&gt;&lt;/strong&gt; AndFilter();&lt;br /&gt;     andFilter.and(&lt;strong&gt;&lt;span style="color:#993399;"&gt;new&lt;/span&gt;&lt;/strong&gt; EqualsFilter("objectclass","person"));&lt;br /&gt;     andFilter.and(&lt;span style="color:#993399;"&gt;&lt;strong&gt;new&lt;/strong&gt;&lt;/span&gt; EqualsFilter("mail",mail));&lt;br /&gt;     System.out.println("LDAP Query " + andFilter.encode());&lt;br /&gt;     &lt;strong&gt;&lt;span style="color:#993399;"&gt;return&lt;/span&gt;&lt;/strong&gt; ldapTemplate.search("", andFilter.encode(),&lt;strong&gt;&lt;span style="color:#993399;"&gt;new&lt;/span&gt;&lt;/strong&gt; ContactAttributeMapper());&lt;br /&gt;}&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;public&lt;/span&gt;&lt;/strong&gt; List getContactDetails(String commonName, String lastName) {&lt;br /&gt;// TODO Auto-generated method stub&lt;br /&gt;     &lt;strong&gt;&lt;span style="color:#993399;"&gt;return null&lt;/span&gt;&lt;/strong&gt;;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;6. Create springldap.xml&lt;br /&gt;-??xml version="1.0" encoding="UTF-8"?&gt;&lt;br /&gt;-??!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" -"http://www.springframework.org/dtd/spring-beans-2.0.dtd"&gt;&lt;br /&gt;-??beans&gt;&lt;br /&gt;-?bean id="contextSource"&lt;br /&gt;-?class="org.springframework.ldap.core.support.LdapContextSource"&gt;&lt;br /&gt;-?property name="url" value="ldap://ldapServerIPorName:389" /&gt;&lt;br /&gt;-?property name="base" value="o=company.com" /&gt;&lt;br /&gt;-?/bean&gt;&lt;br /&gt;-?bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate"&gt;&lt;br /&gt;-?constructor-arg ref="contextSource" /&gt;&lt;br /&gt;-?/bean&gt;&lt;br /&gt;-?bean id="ldapContact"&lt;br /&gt;-?class="com.ldap.examples.PersonDaoImpl"&gt;&lt;br /&gt;-?property name="ldapTemplate" ref="ldapTemplate" /&gt;&lt;br /&gt;-?/bean&gt;&lt;br /&gt;-?/beans&gt;&lt;br /&gt;Change ? to the &lt; (Blogger bug???)&lt;br /&gt;Put this file into package.&lt;br /&gt;7. Create ContactDTO java's class&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;package&lt;/span&gt;&lt;/strong&gt; com.ldap.examples;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;public class&lt;/span&gt;&lt;/strong&gt; ContactDTO {&lt;br /&gt;     String commonName;&lt;br /&gt;     String lastName;&lt;br /&gt;     String description;&lt;br /&gt;     String mail;&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;public&lt;/span&gt;&lt;/strong&gt; String getCommonName() {&lt;br /&gt;      &lt;strong&gt;&lt;span style="color:#993399;"&gt;return&lt;/span&gt;&lt;/strong&gt; commonName;&lt;br /&gt;   }&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;public void&lt;/span&gt;&lt;/strong&gt; setCommonName(String commonName) {&lt;br /&gt;      &lt;strong&gt;&lt;span style="color:#993399;"&gt;this&lt;/span&gt;&lt;/strong&gt;.commonName = commonName;&lt;br /&gt;   }&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;public &lt;/span&gt;&lt;/strong&gt;String getDescription() {&lt;br /&gt;     &lt;strong&gt;&lt;span style="color:#993399;"&gt;return&lt;/span&gt;&lt;/strong&gt; description;&lt;br /&gt;   }&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;public void&lt;/span&gt;&lt;/strong&gt; setDescription(String description) {&lt;br /&gt;     &lt;strong&gt;&lt;span style="color:#993399;"&gt;this&lt;/span&gt;&lt;/strong&gt;.description = description;&lt;br /&gt;   }&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;public&lt;/span&gt;&lt;/strong&gt; String getLastName() {&lt;br /&gt;     System.out.println("Last name: " + lastName);&lt;br /&gt;     &lt;strong&gt;&lt;span style="color:#993399;"&gt;return&lt;/span&gt;&lt;/strong&gt; lastName;&lt;br /&gt;   }&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;public void&lt;/span&gt;&lt;/strong&gt; setLastName(String lastName) {&lt;br /&gt;     &lt;strong&gt;&lt;span style="color:#993399;"&gt;this&lt;/span&gt;&lt;/strong&gt;.lastName = lastName;&lt;br /&gt;   }&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;public&lt;/span&gt;&lt;/strong&gt; String toString() {&lt;br /&gt;     StringBuffer contactDTOStr = &lt;strong&gt;&lt;span style="color:#993399;"&gt;new&lt;/span&gt;&lt;/strong&gt; StringBuffer("Person=[");&lt;br /&gt;     contactDTOStr.append(" Mail = " + mail);&lt;br /&gt;     contactDTOStr.append(", Common Name = " + commonName);&lt;br /&gt;     contactDTOStr.append(", Last Name = " + lastName);&lt;br /&gt;     contactDTOStr.append(", Description = " + description);&lt;br /&gt;     contactDTOStr.append(" ]");&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;return&lt;/span&gt;&lt;/strong&gt; contactDTOStr.toString();&lt;br /&gt;   }&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;public&lt;/span&gt;&lt;/strong&gt; String getMail() {&lt;br /&gt;     System.out.println("Mail: " + mail);&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;return&lt;/span&gt;&lt;/strong&gt; mail;&lt;br /&gt;   }&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;public&lt;/span&gt;&lt;/strong&gt; void setMail(String mail) {&lt;br /&gt;     &lt;strong&gt;&lt;span style="color:#993399;"&gt;this&lt;/span&gt;&lt;/strong&gt;.mail = mail;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;8. Create ContactAttributeMapper&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;package&lt;/span&gt;&lt;/strong&gt; com.ldap.examples;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; javax.naming.NamingException;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; javax.naming.directory.Attribute;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; javax.naming.directory.Attributes;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;import&lt;/span&gt;&lt;/strong&gt; org.springframework.ldap.core.AttributesMapper;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;public class&lt;/span&gt;&lt;/strong&gt; ContactAttributeMapper &lt;strong&gt;&lt;span style="color:#993399;"&gt;implements&lt;/span&gt;&lt;/strong&gt; AttributesMapper{&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;public&lt;/span&gt;&lt;/strong&gt; Object mapFromAttributes(Attributes attributes) &lt;strong&gt;&lt;span style="color:#993399;"&gt;throws&lt;/span&gt;&lt;/strong&gt; NamingException {&lt;br /&gt;ContactDTO contactDTO = &lt;strong&gt;&lt;span style="color:#993399;"&gt;new&lt;/span&gt;&lt;/strong&gt; ContactDTO();&lt;br /&gt;String commonName = (String)attributes.get("cn").get();&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;if&lt;/span&gt;&lt;/strong&gt;(commonName != &lt;strong&gt;&lt;span style="color:#993399;"&gt;null&lt;/span&gt;&lt;/strong&gt;)&lt;br /&gt;     contactDTO.setCommonName(commonName);&lt;br /&gt;String lastName = (String)attributes.get("sn").get();&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;if&lt;/span&gt;&lt;/strong&gt;(lastName != &lt;strong&gt;&lt;span style="color:#993399;"&gt;null&lt;/span&gt;&lt;/strong&gt;)&lt;br /&gt;     contactDTO.setLastName(lastName);&lt;br /&gt;Attribute description = attributes.get("description");&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;if&lt;/span&gt;&lt;/strong&gt;(description != &lt;span style="color:#993399;"&gt;&lt;strong&gt;null&lt;/strong&gt;&lt;/span&gt;)&lt;br /&gt;     contactDTO.setDescription((String)description.get());&lt;br /&gt;Attribute mail = attributes.get("mail");&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#993399;"&gt;if&lt;/span&gt;&lt;/strong&gt;(mail != &lt;strong&gt;&lt;span style="color:#993399;"&gt;null&lt;/span&gt;&lt;/strong&gt;){&lt;br /&gt;     contactDTO.setMail((String) mail.get());&lt;br /&gt;   }&lt;br /&gt;   &lt;strong&gt;&lt;span style="color:#993399;"&gt;return&lt;/span&gt;&lt;/strong&gt; contactDTO;&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;That's all. Thanks to the Spring LDAP team!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8427109918037339486-5114296395738033705?l=wtpicefaces.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wtpicefaces.blogspot.com/feeds/5114296395738033705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8427109918037339486&amp;postID=5114296395738033705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/5114296395738033705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/5114296395738033705'/><link rel='alternate' type='text/html' href='http://wtpicefaces.blogspot.com/2008/05/spring-ldap.html' title='Spring LDAP'/><author><name>Oleg</name><uri>http://www.blogger.com/profile/00502551495913982264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8427109918037339486.post-4616039832018516107</id><published>2008-03-25T23:11:00.001-07:00</published><updated>2008-03-25T23:17:56.726-07:00</updated><title type='text'>How to integrate ICEfaces with WTP?</title><content type='html'>&lt;span style="font-family:verdana;"&gt;Ok. After almost a week of attempts to integrate ICEFaces v.1.6.2 with WTP (Eurora based on Eclipse 3.3) i still succeeded. The steps which have been described were not correct. The correct steps (at least for me) are:&lt;br /&gt;Requirements:&lt;br /&gt;1. As usual, Java 2 EE 5/6;&lt;br /&gt;2. Eclipse IDE for Java EE Developers - Eurora 3.3.1&lt;br /&gt;3. ICEFaces - ICEfaces-Eclipse-IDE-v3.0.0.zip and  ICEfaces-1.6.2-libs-Eclipse.zip&lt;br /&gt;4. Unzip all files from step 3.&lt;br /&gt;5. In the Eclipse, go to Help -&gt; Software Updates -&gt; Find and Install&lt;br /&gt;6. In the Features Updates check Search for new features to install&lt;br /&gt;7. Click Next&lt;br /&gt;8. In the Update sites to visit check Eurora site&lt;br /&gt;9. Click Finish&lt;br /&gt;10.Check all relevant updates and install&lt;br /&gt;11. Repeat the step 5 - 7&lt;br /&gt;12. Click New Local Site...&lt;br /&gt;13. Select the directory where has been unzipped ICEFaces&lt;br /&gt;14. Click OK&lt;br /&gt;15. Select this location in the sites to include in search&lt;br /&gt;16. Click Finish&lt;br /&gt;17. Install the ICEfaces&lt;br /&gt;So it's all.&lt;br /&gt;Now you are able to use these faces into your project.&lt;br /&gt;&lt;/span&gt;&lt;a class="iceCmdLnk" href="http://www.icefaces.org/main/downloads/#" id="_id189:_id348:2:_id353" onblur="setFocus('');" onclick="document.forms['_id189']['_id189:_idcl'].value='_id189:_id348:2:_id353';iceSubmit( document.forms['_id189'], this,event); return false;" onfocus="setFocus(this.id);"&gt;&lt;span class="iceOutTxt" id="_id189:_id348:2:_id354"&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8427109918037339486-4616039832018516107?l=wtpicefaces.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wtpicefaces.blogspot.com/feeds/4616039832018516107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8427109918037339486&amp;postID=4616039832018516107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/4616039832018516107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8427109918037339486/posts/default/4616039832018516107'/><link rel='alternate' type='text/html' href='http://wtpicefaces.blogspot.com/2008/03/how-to-integrate-icefaces-with-wtp.html' title='How to integrate ICEfaces with WTP?'/><author><name>Oleg</name><uri>http://www.blogger.com/profile/00502551495913982264</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
