<?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-1539383456064647383</id><updated>2026-02-04T14:23:16.341-08:00</updated><category term="APACHE"/><category term="AngularJS"/><category term="Ant"/><category term="AntActionSpec"/><category term="Build and Deploy"/><category term="Configuring SVN over http in Linux"/><category term="Custom Validator"/><category term="DBConnection Validator"/><category term="Directive"/><category term="Easy Installer"/><category term="Filter"/><category term="HTML Escaping"/><category term="HTTP"/><category term="IE"/><category term="Is there an angular JS command that will do HTML escaping on text"/><category term="IzPack"/><category term="JAVA based installer"/><category term="JRE6 32 bit"/><category term="JRE6 64 bit"/><category term="Java Script"/><category term="Jquery"/><category term="LINUX"/><category term="Open Source Installer"/><category term="Python 2.6"/><category term="RegistrySpec"/><category term="SVN"/><category term="Service"/><category term="ShortCutSpec"/><category term="Tomcat"/><category term="Tomcat6"/><category term="Tomcat7"/><category term="UserInputSpec"/><category term="Web Installer"/><category term="fpconst"/><category term="jre7 32 bit"/><category term="offset().top"/><category term="pyxml"/><category term="soappy"/><category term="windows"/><title type='text'>WatchEyeSolutions-AngularJS-JavaScript-JQuery-IzPack-Python-SVN-WebService</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://watcheyesolutions.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://watcheyesolutions.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09057592399390002873</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1539383456064647383.post-4930306485321240165</id><published>2015-11-26T21:22:00.003-08:00</published><updated>2015-11-26T21:28:47.345-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AngularJS"/><category scheme="http://www.blogger.com/atom/ns#" term="Directive"/><category scheme="http://www.blogger.com/atom/ns#" term="Filter"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML Escaping"/><category scheme="http://www.blogger.com/atom/ns#" term="Is there an angular JS command that will do HTML escaping on text"/><title type='text'>Angular JS : Escaping the html from the string</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Angular JS : Escaping the html from the string&lt;br /&gt;
&lt;br /&gt;
Is there an angular JS command that will do HTML escaping on text?&lt;br /&gt;
&lt;br /&gt;
How to escape HTML from string in AngularJS ?&lt;br /&gt;
&lt;br /&gt;
Need a filter which can be used to escape the html tags from the string.&lt;br /&gt;
&lt;br /&gt;
Escaping HTML is different then sanitizing HTML.&lt;br /&gt;
&lt;br /&gt;
No in build command to escape the HTML from string in angular.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;angular.module(&#39;app&#39;).filter(&#39;EscapeHtml&#39;, function() {

var tokenMap = {
&#39;&amp;&#39;: &#39;&amp;amp;&#39;,
&#39;&lt;&#39;: &#39;&amp;lt;&#39;,
    &#39;&gt;&#39;: &#39;&amp;gt;&#39;,
&#39;&quot;&#39;: &#39;&amp;quot;&#39;,
&#39;\&#39;&#39;: &#39;&amp;#39;&#39;,
&#39;/&#39;: &#39;&amp;#x2F;&#39;,
&#39;`&#39;: &#39;&amp;#x60;&#39;,
&#39;=&#39;: &#39;&amp;#x3D;&#39;
};

return function(str) {
 return String(str).replace(/[&amp;&lt;&gt;&quot;&#39;`=\/]/g, function(s) {
   return tokenMap[s];
  });
};
});
&lt;/pre&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watcheyesolutions.blogspot.com/feeds/4930306485321240165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://watcheyesolutions.blogspot.com/2015/11/angular-js-escaping-html-from-string.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/4930306485321240165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/4930306485321240165'/><link rel='alternate' type='text/html' href='http://watcheyesolutions.blogspot.com/2015/11/angular-js-escaping-html-from-string.html' title='Angular JS : Escaping the html from the string'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09057592399390002873</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1539383456064647383.post-7172210005727252078</id><published>2012-10-26T04:33:00.000-07:00</published><updated>2013-03-11T23:37:44.720-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IE"/><category scheme="http://www.blogger.com/atom/ns#" term="Java Script"/><category scheme="http://www.blogger.com/atom/ns#" term="Jquery"/><category scheme="http://www.blogger.com/atom/ns#" term="offset().top"/><title type='text'>In IE Jquery offset().top not returning correct value.</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;In IE Jquery offset().top not returning correct value.&lt;br /&gt;
&lt;br /&gt;
There is some issue with Jquery offset().top calculation for any element if the browser is IE.&lt;br /&gt;
To fix this issue you can use the native java script for calculating the element offset top and left, and use it accordingly.&amp;nbsp;Here-under&amp;nbsp;the java script method that&amp;nbsp;returns&amp;nbsp;the object for calculated top and left for any element in document and it will work for all browser:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;function findElementTotalOffset(obj) {
       var oleft = otop = 0;
       if (obj.offsetParent) {
         do {
           oleft += obj.offsetLeft;
           otop += obj.offsetTop;
         }while (obj = obj.offsetParent);
       }
       return {left : oleft, top : otop};
    }
&lt;/pre&gt;&lt;br /&gt;
Example:&amp;nbsp;var jscripteltTop = findTotalOffset(elt).top;&lt;br /&gt;
where elt is the element of the document.&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watcheyesolutions.blogspot.com/feeds/7172210005727252078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://watcheyesolutions.blogspot.com/2012/10/in-ie-jquery-offsettop-not-returning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/7172210005727252078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/7172210005727252078'/><link rel='alternate' type='text/html' href='http://watcheyesolutions.blogspot.com/2012/10/in-ie-jquery-offsettop-not-returning.html' title='In IE Jquery offset().top not returning correct value.'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09057592399390002873</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1539383456064647383.post-3909093549566006906</id><published>2012-01-03T10:52:00.000-08:00</published><updated>2013-03-13T23:29:20.042-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Ant"/><category scheme="http://www.blogger.com/atom/ns#" term="AntActionSpec"/><category scheme="http://www.blogger.com/atom/ns#" term="Build and Deploy"/><category scheme="http://www.blogger.com/atom/ns#" term="Custom Validator"/><category scheme="http://www.blogger.com/atom/ns#" term="DBConnection Validator"/><category scheme="http://www.blogger.com/atom/ns#" term="Easy Installer"/><category scheme="http://www.blogger.com/atom/ns#" term="IzPack"/><category scheme="http://www.blogger.com/atom/ns#" term="JAVA based installer"/><category scheme="http://www.blogger.com/atom/ns#" term="Open Source Installer"/><category scheme="http://www.blogger.com/atom/ns#" term="RegistrySpec"/><category scheme="http://www.blogger.com/atom/ns#" term="ShortCutSpec"/><category scheme="http://www.blogger.com/atom/ns#" term="UserInputSpec"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Installer"/><title type='text'>IzPack - A simple tutorial to create a JAVA based Installer</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;Hi friends, hereunder is the easy steps for creating the java installer (executable jars) using the IzPack.&lt;br /&gt;
&lt;br /&gt;
&lt;u style=&quot;color: blue;&quot;&gt;&lt;b&gt;Where to get IzPack&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;
&lt;br /&gt;
Download the IzPack distribution from &lt;a href=&quot;http://get.izpack.org/izpack/4.3.5&quot;&gt;http://get.izpack.org/izpack/4.3.5&lt;/a&gt;.&lt;br /&gt;
Prerequisite for IzPack is that you should have java installed in your host and path should be set to java/bin folder.&lt;br /&gt;
&lt;br /&gt;
&lt;u style=&quot;color: blue;&quot;&gt;&lt;b&gt;How to Install&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
If the native platform is windows, open the cmd client and type the following command for installation:&lt;br /&gt;
cd &amp;lt;download dir&amp;gt;&lt;br /&gt;
java -jar &amp;lt;downloaded IzPack jar&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the native platform is linux, open the terminal and first navigate to download dir and launch the command for installing the IzPack.&lt;br /&gt;
cd &amp;lt;download dir&amp;gt;&lt;br /&gt;
java -jar &amp;lt;downloaded IzPack jar&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Follow the steps of installer it will install the IzPack on your host.&lt;br /&gt;
&lt;br /&gt;
&lt;u style=&quot;color: blue;&quot;&gt;&lt;b&gt;How to Use&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
IzPack having following component:&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;install.xml : Used as a controller for all the installation process.&lt;/li&gt;
&lt;li&gt;userInputSpec.xml : Used for creating the installer panels.&lt;/li&gt;
&lt;li&gt;antActionSpec.xml : Used for calling different ant files based on the installation flow.&lt;/li&gt;
&lt;li&gt;RegistrySpec.xml : Used for registering the installed product to windows registry.&lt;/li&gt;
&lt;li&gt;ShortCutSpec.xml : Used for creating application shortcuts in program menu.&lt;/li&gt;
&lt;/ol&gt;&lt;u style=&quot;color: blue;&quot;&gt;&lt;b&gt;Sample Example&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Assume you have a build file say build.xml which is responsible to create a war file for your deployment, you want to create a database in mysql and for that you have createdb.xml file. Now you need to create a installer which check the java version first, call the build.xml for creating your application war, copy your war to tomcat server and create database in mysql for you application along with automated uninstaller and program application registry for your application. Following code is a sample for doing these with help of IzPack :&lt;br /&gt;
&lt;br /&gt;
&lt;u style=&quot;color: blue;&quot;&gt;&lt;b&gt;Assumption&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;build.xml : Build file for your project gives the final deploy-able application war.&lt;/li&gt;
&lt;li&gt;copyWar.xml: ant file having copyWar target which is responsible to copy the war file to selected server webapps directory.&lt;/li&gt;
&lt;li&gt;createDB.xml: ant file having createMySQLDB target which is having sql task to execute your database creation sql and needed the connector jar.&lt;/li&gt;
&lt;/ol&gt;&lt;u style=&quot;color: blue;&quot;&gt;&lt;b&gt;Steps for Creating Installer&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Create a directory called MyInstaller inside your project say WatchEyeUI and follow these steps:&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;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; style=&quot;margin-left: auto; margin-right: auto;&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Project Structure for IzPack Installer&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u style=&quot;color: #741b47;&quot;&gt;Step1: Configuring the install.xml&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Create one xml file say install.xml and add the content like as:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush: xml&quot;&gt;&lt;!--
   To compile it :
    - go in the bin directory where you installed IzPack
    - call &quot;compile ../sample/install.xml -b ../sample&quot;
--&gt;

&lt;installation version=&quot;1.0&quot;&gt;
    &lt;info&gt;
        &lt;appname&gt;WatchEyeInstaller&lt;/appname&gt;
        &lt;appversion&gt;04012012&lt;/appversion&gt;
        &lt;authors&gt;
            &lt;author email=&quot;pnj@xyz.com&quot; name=&quot;pnj&quot;&gt;&lt;/author&gt;
        &lt;/authors&gt;
        &lt;url&gt;http://www.mycompany.com&lt;/url&gt;
        &lt;javaversion&gt;1.6&lt;/javaversion&gt;
    &lt;/info&gt;

    &lt;guiprefs height=&quot;550&quot; resizable=&quot;no&quot; width=&quot;730&quot;&gt;
  &lt;modifier key=&quot;decorate.frames&quot; value=&quot;yes&quot;&gt;&lt;/modifier&gt;
  &lt;modifier key=&quot;decorate.dialogs&quot; value=&quot;yes&quot;&gt;&lt;/modifier&gt;
    &lt;/guiprefs&gt;

    &lt;locale&gt;
        &lt;langpack iso3=&quot;eng&quot;&gt;&lt;/langpack&gt;
    &lt;/locale&gt;

    &lt;jar src=&quot;lib/ant.jar&quot; stage=&quot;both&quot;&gt;&lt;/jar&gt;
    &lt;jar src=&quot;lib/ant-launcher.jar&quot; stage=&quot;both&quot;&gt;&lt;/jar&gt;
    &lt;jar src=&quot;lib/ant-apache-regexp.jar&quot; stage=&quot;both&quot;&gt;&lt;/jar&gt;
    &lt;jar src=&quot;lib/ant-nodeps.jar&quot; stage=&quot;both&quot;&gt;&lt;/jar&gt;

    &lt;native name=&quot;ShellLink.dll&quot; type=&quot;izpack&quot;&gt;
        &lt;os family=&quot;windows&quot;&gt;&lt;/os&gt;
    &lt;/native&gt;
 &lt;native name=&quot;ShellLink_x64.dll&quot; type=&quot;izpack&quot;&gt;
  &lt;os family=&quot;windows&quot;&gt;&lt;/os&gt;
 &lt;/native&gt;
 &lt;native name=&quot;COIOSHelper_x64.dll&quot; stage=&quot;both&quot; type=&quot;3rdparty&quot;&gt;
        &lt;os family=&quot;windows&quot;&gt;&lt;/os&gt;
    &lt;/native&gt;
    &lt;native name=&quot;COIOSHelper.dll&quot; stage=&quot;both&quot; type=&quot;3rdparty&quot;&gt;
        &lt;os family=&quot;windows&quot;&gt;&lt;/os&gt;
    &lt;/native&gt;

    &lt;listeners&gt;
        &lt;listener installer=&quot;AntActionInstallerListener&quot; uninstaller=&quot;AntActionUninstallerListener&quot;&gt;&lt;/listener&gt;
        &lt;listener installer=&quot;SummaryLoggerInstallerListener&quot;&gt;&lt;/listener&gt;
        &lt;listener installer=&quot;RegistryInstallerListener&quot; uninstaller=&quot;RegistryUninstallerListener&quot;&gt;
            &lt;os family=&quot;windows&quot;&gt;&lt;/os&gt;
        &lt;/listener&gt;
    &lt;/listeners&gt;

    &lt;!--
        The resources section.
        The ids must be these ones if you want to use the LicencePanel and/or the InfoPanel.
    --&gt;
    &lt;resources&gt;
        &lt;res id=&quot;Installer.image.0&quot; src=&quot;Data\image\FirstPanel.png&quot;&gt;&lt;/res&gt;
        &lt;res id=&quot;HTMLLicencePanel.licence&quot; src=&quot;data/Licence.html&quot;&gt;&lt;/res&gt;
        &lt;res id=&quot;InfoPanel.info&quot; src=&quot;data/Readme.txt&quot;&gt;&lt;/res&gt;
        &lt;res id=&quot;AntActionsSpec.xml&quot; src=&quot;data/AntActionsSpec.xml&quot;&gt;&lt;/res&gt;
        &lt;res id=&quot;userInputSpec.xml&quot; src=&quot;data/userInputSpec.xml&quot;&gt;&lt;/res&gt;
        &lt;res id=&quot;RegistrySpec.xml&quot; src=&quot;data/RegistrySpec.xml&quot;&gt;&lt;/res&gt;
        &lt;res id=&quot;shortcutSpec.xml&quot; src=&quot;data/shortcutSpec.xml&quot;&gt;&lt;/res&gt;       
    &lt;/resources&gt;

    &lt;variables&gt;
        &lt;variable name=&quot;DesktopShortcutCheckboxEnabled&quot; value=&quot;true&quot;&gt;&lt;/variable&gt;
        &lt;variable name=&quot;ApplicationShortcutPath&quot; value=&quot;ApplicationShortcuts&quot;&gt;&lt;/variable&gt;
        &lt;variable name=&quot;InstallerFrame.logfilePath&quot; value=&quot;$INSTALL_PATH/logs/installSummary.log&quot;&gt;&lt;/variable&gt;
    &lt;/variables&gt;

    &lt;!--
        The panels section.
        We indicate here which panels we want to use. The order will be respected.
    --&gt;
    &lt;panels&gt;
        &lt;panel classname=&quot;CheckedHelloPanel&quot;&gt;&lt;/panel&gt;
        &lt;panel classname=&quot;HTMLLicencePanel&quot;&gt;&lt;/panel&gt;
        &lt;panel classname=&quot;TargetPanel&quot;&gt;&lt;/panel&gt;
        &lt;panel classname=&quot;UserInputPanel&quot; id=&quot;UserInputPanel.mysqldb&quot;&gt;
             &lt;validator classname=&quot;com.izforge.izpack.util.DBConnectionValidator&quot;&gt;&lt;/validator&gt;
        &lt;/panel&gt;
        &lt;panel classname=&quot;UserInputPanel&quot; id=&quot;UserInputPanel.whereisserver&quot;&gt;&lt;/panel&gt;
        &lt;panel classname=&quot;InstallPanel&quot;&gt;&lt;/panel&gt;
        &lt;panel classname=&quot;ShortcutPanel&quot;&gt;&lt;/panel&gt;
        &lt;panel classname=&quot;SimpleFinishPanel&quot;&gt;&lt;/panel&gt;
    &lt;/panels&gt;

    &lt;!--
        The packs section.
        We specify here our packs.
    --&gt;
 &lt;packs&gt;
        &lt;pack name=&quot;Base&quot; required=&quot;yes&quot;&gt;
            &lt;description&gt;The set of base files.&lt;/description&gt;
            &lt;file src=&quot;Data/script.bat&quot; targetdir=&quot;${INSTALL_PATH}&quot;&gt;&lt;/file&gt;
            &lt;parsable targetfile=&quot;${INSTALL_PATH}/script.bat&quot;&gt;&lt;/parsable&gt;
            &lt;!-- The file will be parsed --&gt;
        &lt;/pack&gt;
        &lt;pack name=&quot;Download and Build MyApplication&quot; required=&quot;yes&quot;&gt;
            &lt;file src=&quot;WatchEyeUI/ant/build.xml&quot; targetdir=&quot;${INSTALL_PATH}&quot;&gt;&lt;/file&gt;
        &lt;/pack&gt;
       &lt;pack name=&quot;CopyWarToServer&quot; required=&quot;yes&quot;&gt;
           &lt;file src=&quot;data/copyWar.xml&quot; targetdir=&quot;${INSTALL_PATH}&quot;&gt;&lt;/file&gt;
        &lt;/pack&gt;
        &lt;pack name=&quot;DatabaseCreation&quot; required=&quot;yes&quot;&gt;
           &lt;file src=&quot;data/creatDB.xml&quot; targetdir=&quot;${INSTALL_PATH}&quot;&gt;&lt;/file&gt;
        &lt;/pack&gt;
    &lt;/packs&gt;
&lt;/installation&gt;
&lt;/pre&gt;&lt;br /&gt;
&lt;u style=&quot;color: #741b47;&quot;&gt;Step2: Configuring the userInputSpec.xml&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Create one xml file say &lt;span style=&quot;color: #741b47;&quot;&gt;userInputSpec&lt;/span&gt;.xml and add the content like as for creating the panel for taking the db parameter and server location:&lt;br /&gt;
&lt;pre class=&quot;brush: xml&quot;&gt;&lt;userinput&gt;
    &lt;panel order=&quot;1&quot; id=&quot;mysqldb&quot;&gt;   
            &lt;field type=&quot;title&quot; txt=&quot;MySQL Database Configuration&quot; bold=&quot;true&quot; size=&quot;2&quot; &gt;&lt;/field&gt;
            &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;   
            &lt;field type=&quot;divider&quot; align=&quot;bottom&quot;&gt;&lt;/field&gt;
            &lt;field type=&quot;staticText&quot; align=&quot;left&quot; txt=&quot;Configuration for MySQL database:&quot;&gt;&lt;/field&gt;
            &lt;field type=&quot;divider&quot; align=&quot;top&quot;&gt;&lt;/field&gt;
            &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;   
            &lt;field type=&quot;text&quot; variable=&quot;dbhostname&quot;&gt;
                &lt;spec txt=&quot;Database Host Name:&quot; id=&quot;Database Host Name:&quot; size=&quot;15&quot; set=&quot;localhost&quot;&gt;&lt;/spec&gt;
                &lt;validator class=&quot;com.izforge.izpack.util.NotEmptyValidator&quot; 
                txt=&quot; Database Hostname is a required field&quot; /&gt;
            &lt;/field&gt;
            &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;   
            &lt;field type=&quot;text&quot; variable=&quot;portno&quot;&gt;
                &lt;spec txt=&quot;Database Port Number:&quot; id=&quot;Database Port No:&quot; size=&quot;15&quot; set=&quot;3306&quot;&gt;&lt;/spec&gt;
                &lt;validator class=&quot;com.izforge.izpack.util.NotEmptyValidator&quot; 
                txt=&quot; Database port no is a required field&quot; /&gt;
            &lt;/field&gt;
            &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;   
            &lt;field type=&quot;text&quot; variable=&quot;user&quot;&gt;
                &lt;spec txt=&quot;Database User Name:&quot; id=&quot;Database User Name:&quot; size=&quot;15&quot; set=&quot;root&quot;&gt;&lt;/spec&gt;
                &lt;validator class=&quot;com.izforge.izpack.util.NotEmptyValidator&quot; 
                txt=&quot; Database User Name is a required field&quot;&gt;&lt;/validator&gt;
            &lt;/field&gt;
            &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;   
            &lt;field type=&quot;password&quot; variable=&quot;password&quot;&gt;
                &lt;spec&gt;&lt;pwd txt=&quot;Database User Password:&quot; id=&quot;Database User Password:&quot; size=&quot;15&quot; set=&quot;root&quot;&gt;&lt;/pwd&gt;
                &lt;/spec&gt;
                &lt;validator class=&quot;com.izforge.izpack.util.RegularExpressionValidator&quot; txt=&quot;Password must be entered and it cannot contain special characters like Ampersand(&amp;amp;), Less Than(&amp;lt;), Apostrophe(&amp;apos;) and Quote(&amp;quot;)!&quot;&gt;
                    &lt;param name=&quot;pattern&quot; value=&quot;[^&amp;amp;&amp;quot;&amp;lt;&amp;apos;]+&quot;&gt;&lt;/param&gt;&lt;/validator&gt;
              &lt;/field&gt;
            &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;   
            &lt;field type=&quot;divider&quot; align=&quot;bottom&quot;&gt;&lt;/field&gt;
            &lt;field type=&quot;staticText&quot; align=&quot;left&quot; txt=&quot;Select connector jar for MySQL database:&quot;&gt;&lt;/field&gt;
            &lt;field type=&quot;divider&quot; align=&quot;top&quot;&gt;&lt;/field&gt;
            &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;   
            &lt;field type=&quot;file&quot; variable=&quot;jarFile.loc&quot;&gt;
                &lt;spec txt=&quot;Connector Jar:&quot; size=&quot;30&quot; set=&quot;${INSTALL_PATH}&quot;&gt;&lt;/spec&gt;
                &lt;validator class=&quot;com.izforge.izpack.util.RegularExpressionValidator&quot; txt=&quot;The name of MySQL Connector Jar must be mysql-connector-java-5.0.8-bin.jar!&quot;&gt;
                    &lt;param name=&quot;pattern&quot; value=&quot;^.*[/\\]mysql-connector-java-[5-9][.][0-9][.][0-9]{1,2}-bin[.]jar&quot;/&gt;&lt;/validator&gt;             &lt;/field&gt;                &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;        &lt;/panel&gt;     &lt;panel order=&quot;2&quot; id=&quot;whereisserver&quot;&gt;              &lt;field type=&quot;title&quot; txt=&quot;Server Path Configuration&quot; bold=&quot;true&quot; size=&quot;2&quot; &gt;&lt;/field&gt;             &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;                &lt;field type=&quot;divider&quot; align=&quot;bottom&quot;&gt;&lt;/field&gt;             &lt;field type=&quot;staticText&quot; align=&quot;left&quot; txt=&quot;Select Path for Server Home:&quot;&gt;&lt;/field&gt;             &lt;field type=&quot;divider&quot; align=&quot;top&quot;&gt;&lt;/field&gt;             &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;              &lt;field type=&quot;dir&quot; variable=&quot;serverpath&quot;&gt;                 &lt;spec txt=&quot;Server Home:&quot; size=&quot;30&quot; set=&quot;${INSTALL_PATH}&quot;&gt;&lt;/spec&gt;             &lt;/field&gt;                &lt;field type=&quot;space&quot;&gt;&lt;/field&gt;     &lt;/panel&gt; &lt;/userInput&gt; &lt;/pre&gt;&lt;b style=&quot;color: red;&quot;&gt; &lt;/b&gt; &lt;b style=&quot;color: red;&quot;&gt; &lt;/b&gt; &lt;b style=&quot;color: red;&quot;&gt; &lt;/b&gt; &lt;u style=&quot;color: #741b47;&quot;&gt;Step3: Configuring the antActionSpec.xml&lt;/u&gt;  &lt;pre class=&quot;brush: xml&quot;&gt;&lt;antactions&gt;
 &lt;pack name=&quot;Download and Build MyApplication&quot;&gt;
  &lt;antcall buildfile=&quot;$INSTALL_PATH/build.xml&quot; order=&quot;afterpack&quot; verbose=&quot;no&quot;&gt;
   &lt;target name=&quot;buidWar&quot;&gt;&lt;/target&gt;     
   &lt;property name=&quot;base.dir&quot; value=&quot;$INSTALL_PATH&quot;&gt;&lt;/property&gt;
  &lt;/antcall&gt;
 &lt;/pack&gt;
 &lt;pack name=&quot;CopyWarToServer&quot;&gt;
  &lt;antcall buildfile=&quot;$INSTALL_PATH/copyWar.xml&quot; order=&quot;afterpack&quot; verbose=&quot;no&quot;&gt;
   &lt;target name=&quot;copyWar&quot;&gt;&lt;/target&gt;
   &lt;property name=&quot;install.dir&quot; value=&quot;$INSTALL_PATH&quot;&gt;&lt;/property&gt;
   &lt;property name=&quot;server.dir&quot; value=&quot;$serverpath&quot;&gt;&lt;/property&gt;
  &lt;/antcall&gt;
 &lt;/pack&gt;
 &lt;pack name=&quot;DatabaseCreation&quot;&gt;
  &lt;antcall buildfile=&quot;$INSTALL_PATH/createDB.xml&quot; order=&quot;afterpack&quot; verbose=&quot;no&quot;&gt;
   &lt;target name=&quot;createMySQLDB&quot;&gt;&lt;/target&gt;
   &lt;property name=&quot;db.username&quot; value=&quot;$user&quot;&gt;&lt;/property&gt;
   &lt;property name=&quot;db.password&quot; value=&quot;$password&quot;&gt;&lt;/property&gt;
   &lt;property name=&quot;db.hostname&quot; value=&quot;$dbhostname&quot;&gt;&lt;/property&gt;
   &lt;property name=&quot;db.port&quot; value=&quot;$portno&quot;&gt;&lt;/property&gt;
   &lt;property name=&quot;jar.path&quot; value=&quot;$jarFile.loc&quot;&gt;&lt;/property&gt;
  &lt;/antcall&gt;
 &lt;/pack&gt;   
&lt;/antactions&gt;
&lt;/pre&gt;&lt;b style=&quot;color: red;&quot;&gt;&amp;nbsp;&lt;/b&gt;   &lt;b style=&quot;color: red;&quot;&gt;&amp;nbsp;&lt;/b&gt;&lt;u style=&quot;color: #741b47;&quot;&gt;Step4: Configuring the RegistrySpec.xml&lt;/u&gt;  &lt;pre class=&quot;brush: xml&quot;&gt;&lt;registry&gt;     
  &lt;pack name=&quot;UninstallStuff&quot;&gt;         
  &lt;!-- Special &quot;pack&quot;, if not defined an uninstall key will be generated automatically --&gt;
  &lt;!-- The variable $UNINSTALL_NAME can be only used if CheckedHelloPanel will be used
  because there the variable will be declared. With that variabel it is possible
  to install more as one instances of the product on one machine each with an
  unique uninstall key. --&gt;
   &lt;value keypath=&quot;SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$UNINSTALL_NAME&quot; name=&quot;DisplayName&quot; root=&quot;HKLM&quot; string=&quot;$UNINSTALL_NAME&quot;&gt;&lt;/value&gt;
   &lt;value keypath=&quot;SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$UNINSTALL_NAME&quot; name=&quot;UninstallString&quot; root=&quot;HKLM&quot; string=&quot;&amp;quot;$JAVA_HOME\bin\javaw.exe&amp;quot; -jar &amp;quot;$INSTALL_PATH\uninstaller\uninstaller.jar&amp;quot;&quot;&gt;&lt;/value&gt;
   &lt;value keypath=&quot;SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$UNINSTALL_NAME&quot; name=&quot;DisplayIcon&quot; root=&quot;HKLM&quot; string=&quot;$INSTALL_PATH\Data\icons\MyApplication.ico&quot;&gt;&lt;/value&gt;
   &lt;value keypath=&quot;SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$UNINSTALL_NAME&quot; name=&quot;HelpLink&quot; root=&quot;HKLM&quot; string=&quot;$APP_URL&quot;&gt;&lt;/value&gt;
  &lt;/pack&gt;     
  &lt;pack name=&quot;Base&quot;&gt; 
        &lt;key keypath=&quot;SOFTWARE\MyApplication\$UNINSTALL_NAME\testk&quot; root=&quot;HKLM&quot;&gt;&lt;/key&gt;
  &lt;value keypath=&quot;SOFTWARE\MyApplication\$UNINSTALL_NAME&quot; name=&quot;Path&quot; root=&quot;HKLM&quot; string=&quot;$INSTALL_PATH&quot;&gt;&lt;/value&gt;
  &lt;value dword=&quot;42&quot; keypath=&quot;SOFTWARE\MyApplication\$UNINSTALL_NAME&quot; name=&quot;DWORD&quot; root=&quot;HKLM&quot;&gt;&lt;/value&gt;
  &lt;value keypath=&quot;SOFTWARE\MyApplication\$UNINSTALL_NAME&quot; name=&quot;BIN&quot; root=&quot;HKLM&quot;&gt;
    &lt;bin data=&quot;42, 49, 4e, 20, 54, 45, 53, 54&quot;&gt;&lt;/bin&gt;
    &lt;bin data=&quot;42, 49, 4e, 20, 54, 45, 53, 54&quot;&gt;&lt;/bin&gt;         
  &lt;/value&gt;
 &lt;/pack&gt;
&lt;/registry&gt;
&lt;/pre&gt;&lt;b style=&quot;color: red;&quot;&gt;&amp;nbsp; &lt;/b&gt;&lt;u style=&quot;color: #741b47;&quot;&gt;Step5: Configuring the ShortCutSpecSpec.xml&lt;/u&gt;  &lt;b style=&quot;color: red;&quot;&gt; &lt;/b&gt; &lt;span style=&quot;color: black;&quot;&gt; &lt;/span&gt; &lt;pre class=&quot;brush: xml&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt; 
 &lt;shortcuts&gt;
  &lt;skipifnotsupported&gt;&lt;/skipifnotsupported&gt;
  &lt;programgroup defaultname=&quot;XYZ&quot; location=&quot;applications&quot;&gt;&lt;/programgroup&gt;
  &lt;shortcut applications=&quot;no&quot; commandline=&quot;&quot; description=&quot;Start Server&quot; desktop=&quot;no&quot; iconfile=&quot;$INSTALL_PATH\Server\icons\startServer.ico&quot; name=&quot;Start Server&quot; programgroup=&quot;yes&quot; startmenu=&quot;no&quot; startup=&quot;no&quot; target=&quot;$INSTALL_PATH\Server\bin\startup.bat&quot; workingdirectory=&quot;$INSTALL_PATH\Server\bin&quot;&gt;
  &lt;/shortcut&gt;
  &lt;shortcut applications=&quot;no&quot; commandline=&quot;&quot; description=&quot;Stop Server&quot; desktop=&quot;no&quot; iconfile=&quot;$INSTALL_PATH\Data\icons\stopServer.ico&quot; name=&quot;Stop Server&quot; programgroup=&quot;yes&quot; startmenu=&quot;no&quot; startup=&quot;no&quot; target=&quot;$INSTALL_PATH\Server\bin\shutdown.bat&quot; workingdirectory=&quot;$INSTALL_PATH\Server\bin&quot;&gt;
  &lt;/shortcut&gt;
  &lt;shortcut applications=&quot;no&quot; commandline=&quot;&quot; description=&quot;This uninstalls application&quot; desktop=&quot;no&quot; iconfile=&quot;%SystemRoot%\system32\SHELL32.dll&quot; iconindex=&quot;31&quot; name=&quot;Uninstall&quot; programgroup=&quot;yes&quot; startmenu=&quot;no&quot; startup=&quot;no&quot; target=&quot;$INSTALL_PATH\Uninstaller\uninstaller.jar&quot;&gt;
  &lt;/shortcut&gt;
 &lt;/shortcuts&gt;
&lt;/span&gt;&lt;/pre&gt;&lt;b style=&quot;color: red;&quot;&gt;&amp;nbsp; &lt;/b&gt;  &lt;b style=&quot;color: red;&quot;&gt;&amp;nbsp; &lt;/b&gt;&lt;u style=&quot;color: #741b47;&quot;&gt;Step6: Compiling the installer&amp;nbsp;&lt;/u&gt;  &lt;b style=&quot;color: red;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;u style=&quot;color: #741b47;&quot;&gt;&amp;nbsp;&lt;/u&gt; &lt;u style=&quot;color: #741b47;&quot;&gt; &lt;/u&gt; &lt;span style=&quot;color: black;&quot;&gt;Go to the bin directory of IzPack installation&lt;/span&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt; by following command:&lt;/span&gt;&lt;/span&gt;&lt;u style=&quot;color: #741b47;&quot;&gt;&lt;/u&gt; &lt;span style=&quot;color: #741b47;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot;color: #741b47;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; cd C:\Program Files\IzPack\bin&lt;/span&gt;&lt;/span&gt;&lt;u style=&quot;color: #741b47;&quot;&gt;&lt;/u&gt; &lt;span style=&quot;color: black;&quot;&gt;Use compile command to make the MyApplication.jar executable.Assume Project is in C:\WatchEye folder.&lt;/span&gt;  &lt;div style=&quot;color: black;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;compile C:\WatchEye\WatchEyeUI\installer\data\install.xml -b C:\WatchEye\WatchEyeUI\installer\data\ -o MyApplication.jar&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;It will create MyApplication.jar as executable. To launch the installer double click on your jar or type command &lt;b&gt;java -jar MyApplication.jar&lt;/b&gt; for launching your installer.  &lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;u style=&quot;color: blue;&quot;&gt;&lt;b&gt;References:&lt;/b&gt;&lt;/u&gt; &lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;a href=&quot;http://izpack.org/documentation/getting-started.html&quot;&gt;http://izpack.org/documentation/getting-started.html&lt;/a&gt;  &lt;u style=&quot;color: #741b47;&quot;&gt; &lt;/u&gt; &lt;u style=&quot;color: #741b47;&quot;&gt;Sample: createDB.xml &lt;/u&gt;  &lt;b style=&quot;color: red;&quot;&gt; &lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;As per the request hereunder the sample createDB.xml file.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt; &lt;/span&gt; &lt;pre class=&quot;brush: xml&quot;&gt;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; 
 &lt;project name=&quot;DatabaseCreation&quot; default=&quot;MySQL&quot; basedir=&quot;.&quot;&gt;     
  &lt;property name=&quot;root&quot; value=&quot;./Util&quot; &gt;&lt;/property&gt;     
  &lt;property file=&quot;${basedir}/dbconnection.properties&quot; &gt;&lt;/property&gt;     
  &lt;property file=&quot;${basedir}/sql/Common/property/dburl.properties&quot; &gt;&lt;/property&gt;     
  &lt;property name=&quot;libFolder&quot; value=&quot;Connector_Jars&quot; &gt;&lt;/property&gt;     
  &lt;property name=&quot;logFolder&quot; value=&quot;dbCreationLogs&quot; &gt;&lt;/property&gt;     
  &lt;property name=&quot;isDbFresh&quot; value=&quot;true&quot; &gt;&lt;/property&gt;     
  &lt;path id=&quot;DATABASE_CONNECTOR_CLASS_PATH&quot;&gt;&lt;/path&gt;
   &lt;fileset dir=&quot;${libFolder}&quot; casesensitive=&quot;yes&quot;&gt;
    &lt;include name=&quot;mysql*.jar&quot;&gt;&lt;/include&gt;
   &lt;/fileset&gt;     
  &lt;/path&gt;
  &lt;echo message=&quot;BASEDIR === ${basedir}&quot;&gt;&lt;/echo&gt;
  &lt;target name=&quot;MySQL&quot;&gt;
   &lt;antcall target=&quot;PrepareEnv&quot;&gt;&lt;/antcall&gt;
   &lt;antcall target=&quot;DBCreationMYSQL&quot;&gt;&lt;/antcall&gt;
  &lt;/target&gt;
  &lt;target name=&quot;PrepareEnv&quot;&gt;
   &lt;delete dir=&quot;${logFolder}&quot;&gt;&lt;/delete&gt;
   &lt;mkdir dir=&quot;${logFolder}&quot;&gt;&lt;/mkdir&gt;
  &lt;/target&gt;
  &lt;target name=&quot;DBCreationMYSQL&quot;&gt;
   &lt;sql driver=&quot;${DRIVER}&quot; url=&quot;jdbc:mysql://${DBHOST}:${DBPORT}/&quot; userid=&quot;${DBUSERNAME}&quot; password=&quot;${DBPASSWD}&quot;  print=&quot;yes&quot; output=&quot;${logFolder}/dbcreation.log&quot; classpathref=&quot;DATABASE_CONNECTOR_CLASS_PATH&quot;&gt;
    &lt;transaction src=&quot;sql/Common/MySQL/dbcreation.sql&quot;&gt;&lt;/transaction&gt;
   &lt;/sql&gt;
  &lt;/target&gt;
 &lt;/project&gt;
&lt;/pre&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;u style=&quot;color: #741b47;&quot;&gt;Sample: DBConnectionValidator class&lt;/u&gt;&lt;/div&gt;&lt;pre class=&quot;brush: java&quot;&gt;package com.izforge.izpack.util;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
import java.sql.Connection;
import java.sql.SQLException;
import com.izforge.izpack.installer.AutomatedInstallData;
import com.izforge.izpack.installer.DataValidator;

public class DBConnectionValidator implements DataValidator {  
 private String dbType=&quot;&quot;;
 private String cause=&quot;&quot;;
 @Override  
 public boolean getDefaultAnswer() {  
  return true;  
 }  

 @Override  
 public String getErrorMessageId() {  
  return &quot;Can not connect to &quot;+ dbType+&quot; database.&quot; + cause;  
 }  

 @Override  
 public String getWarningMessageId() {  
  return &quot;OPS-101&quot;;  
 }  

 @Override  
 public Status validateData(AutomatedInstallData arg) {  
  Connection connection = null;  
  try
  {
   URL urls [] = {};
   JarFileLoader cl = new JarFileLoader (urls);
   cl.addFile (arg.getVariable(&quot;jarFile.loc&quot;));
   dbType=arg.getVariable(&quot;databasetype&quot;);
   java.sql.Driver driver=null;
   java.util.Properties props=null;

   System.out.println(arg.getVariable(&quot;jarFile.loc&quot;));

   if(dbType.equalsIgnoreCase(&quot;MySQL&quot;)){
    Class cls = cl.loadClass (&quot;com.mysql.jdbc.Driver&quot;);
    driver = (java.sql.Driver)cls.newInstance(); 
    props = new java.util.Properties();
    props.put(&quot;user&quot;, arg.getVariable(&quot;user&quot;));
    props.put(&quot;password&quot;, arg.getVariable(&quot;password&quot;));
    connection = driver.connect(&quot;jdbc:mysql://&quot;+arg.getVariable(&quot;dbhostname&quot;)+&quot;:&quot;+arg.getVariable(&quot;portno&quot;)+&quot;/&quot;, props);
   }else if(dbType.equalsIgnoreCase(&quot;MS SQL Server&quot;)){
    Class cls = cl.loadClass (&quot;com.microsoft.sqlserver.jdbc.SQLServerDriver&quot;);
    driver = (java.sql.Driver)cls.newInstance(); 
    props = new java.util.Properties();
    props.put(&quot;user&quot;, arg.getVariable(&quot;user&quot;));
    props.put(&quot;password&quot;, arg.getVariable(&quot;password&quot;));
    // The replacement in the following is done to discard the % with \ while creating the connection URL with named instance.
    connection = driver.connect(&quot;jdbc:sqlserver://&quot;+arg.getVariable(&quot;dbhostname&quot;).replace(&#39;%&#39;, &#39;\\&#39;)+&quot;:&quot;+arg.getVariable(&quot;portno&quot;),props);
   }else if(dbType.equalsIgnoreCase(&quot;ORACLE&quot;)){
    Class cls = cl.loadClass (&quot;oracle.jdbc.driver.OracleDriver&quot;);
    driver = (java.sql.Driver)cls.newInstance(); 
    props = new java.util.Properties();
    props.put(&quot;user&quot;, arg.getVariable(&quot;user&quot;));
    props.put(&quot;password&quot;, arg.getVariable(&quot;password&quot;));
    connection = driver.connect(&quot;jdbc:oracle:thin:@&quot;+arg.getVariable(&quot;dbhostname&quot;)+&quot;:&quot;+arg.getVariable(&quot;portno&quot;)+&quot;:&quot;+arg.getVariable(&quot;instanceName&quot;),props);
   }
  }
  catch (ClassNotFoundException e) {  
   e.printStackTrace();
   cause = &quot;\nCause: Connector Jar is not valid for selected database!&quot;;
   if(dbType.equalsIgnoreCase(&quot;MySQL&quot;))
    cause = cause + &quot;\n\nYou can dowload the Connector Jar for MySQL form:\nhttp://dev.mysql.com/downloads/connector/j/5.0.html&quot;;
   else if (dbType.equalsIgnoreCase(&quot;MS SQL Server&quot;))
    cause = cause + &quot;\n\nYou can dowload the Connector Jar for MS SQL Server form:\nhttp://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;amp;id=21599&quot;;
   else if (dbType.equalsIgnoreCase(&quot;ORACLE&quot;))
    cause = cause + &quot;\n\nYou can dowload the Connector Jar for Oracle form:\nhttp://www.oracle.com/technetwork/database/enterprise-edition/jdbc-10201-088211.html&quot;;
   cause = cause +&quot;\n\nAfter selecting proper Connector Jar, proceed with the installation.&quot;;
   
   return Status.ERROR;  
  } catch (SQLException e) {  
   e.printStackTrace();
   cause = &quot;\nCause: Invalid connection parameter(s) OR the database service is not started!&quot;;
   return Status.ERROR;  
  } catch (MalformedURLException e) {
   e.printStackTrace();
   return Status.ERROR;  
  } catch (InstantiationException e) {
   e.printStackTrace();
   return Status.ERROR;  
  } catch (IllegalAccessException e) {
   return Status.ERROR;  
  } finally {  
   if (connection != null) {  
    try {  
     connection.close();  
    } catch (SQLException e) {  
     return Status.ERROR;  
    }  
   }  
  }  
  return Status.OK;  
 }

 public static class JarFileLoader extends URLClassLoader
 {
  public JarFileLoader (URL[] urls)
  {
   super (new URL[]{});
  }

  public void addFile (String path) throws MalformedURLException
  {
   String urlPath = &quot;jar:file:///&quot; + path + &quot;!/&quot;;
   addURL (new URL (urlPath));
  }
 }  
} 

&lt;/pre&gt;&lt;div style=&quot;color: black;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watcheyesolutions.blogspot.com/feeds/3909093549566006906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://watcheyesolutions.blogspot.com/2012/01/izpack-simple-tutorial-to-create-java.html#comment-form' title='37 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/3909093549566006906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/3909093549566006906'/><link rel='alternate' type='text/html' href='http://watcheyesolutions.blogspot.com/2012/01/izpack-simple-tutorial-to-create-java.html' title='IzPack - A simple tutorial to create a JAVA based Installer'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09057592399390002873</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1539383456064647383.post-867176595699470195</id><published>2011-12-29T05:23:00.001-08:00</published><updated>2011-12-30T10:19:31.981-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="fpconst"/><category scheme="http://www.blogger.com/atom/ns#" term="Python 2.6"/><category scheme="http://www.blogger.com/atom/ns#" term="pyxml"/><category scheme="http://www.blogger.com/atom/ns#" term="soappy"/><category scheme="http://www.blogger.com/atom/ns#" term="windows"/><title type='text'>Web Service pre-configuration through python</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;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
Configuration of SOAPpy, fpconst and pyXml along with the python 2.6.0&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
--------------------------------------------------------------------------------------------&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
Packages &amp;amp; Versions&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
--------------------------------------------------------------------------------------------&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
1- Python 2.6.2&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
2- fpconst 0.7.2&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
3- PyXML 0.8.4&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
4- SOAPpy 0.12.0&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
--------------------------------------------------------------------------------------------&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
Installation Instruction&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
--------------------------------------------------------------------------------------------&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
1- Install Python 2.6.2&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.1 Set the
environment variable for class path : Ex: classpath=&quot;c:\python26&quot;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
2- Install fpconst&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.1 Extract the
zip file fpconst-0.7.2.tar.gz&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.2 cd
fpconst-0.7.2&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.3 execute
command: python setup.py install&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
3- Install PyXML&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1 Extract the
zip file PyXML-0.8.4.tar.gz&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.2 cd PyXML-0.8.4&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.3 execute
command: python setup.py install (causes some error) then the last command need
to fire&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.4 execute
command: python setup.py install --force --skip-build (Showing that script/lib
can not be created but its ok, Now verify the version)&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
4- Install SOAPpy&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.1 Extract the
zip file SOAPpy-0.12.0.zip.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.2 cd
SOAPpy-0.12.0&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.3 Go to the
SOAPpy-0.12.0\SOAPpy directory&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.4 Edit the
Client.py file&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.4.1
find &quot;from __future__ import nested_scopes&quot; line&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.4.2
cut it and paste at the first line of file&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.5 Edit the
Server.py file&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.5.1
find &quot;from __future__ import nested_scopes&quot; line&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.5.2
cut it and paste at the first line of file&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.6 Edit the
Types.py file&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.6.1
find &quot;from __future__ import nested_scopes&quot; line&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.6.2
cut it and paste at the first line of file&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4.7 execute
command: python setup.py install&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
Once finished, do verify all these installations.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp; &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
---------------------------------------&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
Verifications&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
---------------------------------------&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
Open python ( type : python on command line). &lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
1) Verify PyXml&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&amp;gt;&amp;gt;
import xml&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&amp;gt;&amp;gt;
xml.__version__&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39;0.8.4&#39;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
2) Verify fpConstants&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&amp;gt;&amp;gt; import fpconst&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&amp;gt;&amp;gt;
fpconst.__version__&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39;0.7.2&#39;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
3) Verify SOAPpy&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&amp;gt;&amp;gt; import SOAPpy&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&amp;gt;&amp;gt;
SOAPpy.__version__&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39;0.12.0&#39;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watcheyesolutions.blogspot.com/feeds/867176595699470195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://watcheyesolutions.blogspot.com/2011/12/web-service-pre-configuration-through.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/867176595699470195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/867176595699470195'/><link rel='alternate' type='text/html' href='http://watcheyesolutions.blogspot.com/2011/12/web-service-pre-configuration-through.html' title='Web Service pre-configuration through python'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09057592399390002873</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1539383456064647383.post-741702795670999702</id><published>2011-12-29T03:05:00.000-08:00</published><updated>2011-12-30T10:24:48.167-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="JRE6 32 bit"/><category scheme="http://www.blogger.com/atom/ns#" term="JRE6 64 bit"/><category scheme="http://www.blogger.com/atom/ns#" term="jre7 32 bit"/><category scheme="http://www.blogger.com/atom/ns#" term="Service"/><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat"/><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat6"/><category scheme="http://www.blogger.com/atom/ns#" term="Tomcat7"/><title type='text'>Tomcat service start-up failure on Windows Operating Systems</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;
&lt;span lang=&quot;EN-US&quot;&gt;On particular flavors of Windows Operating
System, the Tomcat Services fail to start even after being registered
successfully. There might be the following reason behind this failure:&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot;&gt;The type of the service runner (tomcat6.exe
or tomcat7.exe) does not match with the destined Windows Operating System’s JRE
configuration. There needs to be four different service runner files for the 4
different combinations:&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;For 32-bit JRE6 (Or
JDK6-whichever is applicable), use tomcat6.exe available with the Apache Tomcat
6 package for Windows 32-bit.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;For 64-bit JRE6, use
tomcat6.exe available with the Apache Tomcat 6 package for Windows 64-bit.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;For 32-bit JRE7, use
tomcat7.exe available with the Apache Tomcat 7 package for Windows 32-bit.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font: 7pt &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;For 64-bit JRE7, use
tomcat7.exe available with the Apache Tomcat 7 package for Windows 64-bit.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span lang=&quot;EN-US&quot;&gt;You can use environment variables for
making decisions on runtime.&lt;/span&gt;









&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watcheyesolutions.blogspot.com/feeds/741702795670999702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://watcheyesolutions.blogspot.com/2011/12/tomcat-service-start-up-failure-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/741702795670999702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/741702795670999702'/><link rel='alternate' type='text/html' href='http://watcheyesolutions.blogspot.com/2011/12/tomcat-service-start-up-failure-on.html' title='Tomcat service start-up failure on Windows Operating Systems'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09057592399390002873</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1539383456064647383.post-281775374219712713</id><published>2011-12-27T22:57:00.000-08:00</published><updated>2011-12-30T10:20:25.430-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="APACHE"/><category scheme="http://www.blogger.com/atom/ns#" term="Configuring SVN over http in Linux"/><category scheme="http://www.blogger.com/atom/ns#" term="HTTP"/><category scheme="http://www.blogger.com/atom/ns#" term="LINUX"/><category scheme="http://www.blogger.com/atom/ns#" term="SVN"/><title type='text'>Configuration of SVN over http in Linux</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;MsoListParagraphCxSpFirst&quot;&gt;
&lt;i&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Prerequisite:&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1- Apache Server 2.0 or later.&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2- finch dependency&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3- libpurple dependency&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;i&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4- apr and apr-util dependency&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;b&gt;Installation of SVN :&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• In terminal execute:&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;&amp;nbsp; [root@upload /]# yum install mod_dav_svn subversion&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• It will resolve the dependency for SVN and then installed the distribution according to the default configuration.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• If you don&#39;t have Apache installed already, it&#39;ll go ahead and drag that down as well. &lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;b&gt;Configuration of Apache Server :&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• First we need to check that apache is working fine or not...&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;&amp;nbsp; [root@upload /]# service httpd start&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;&amp;nbsp; [root@upload /]# chkconfig httpd on&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• Check the server is on or not by entering the url&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• http://localhost&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;b&gt;Sub Versions Apache Configuration :&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
Next step to configure svn for apache.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• Navigate to directory of httpd config&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp; [root@upload /]# cd /etc/httpd/conf.d/&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• Open the subversion.conf file in editor mode&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp; [root@upload /]# vim subversion.conf&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• Make sure you uncomment the following if they are commented out&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;&amp;nbsp; LoadModule dav_svn_module modules/mod_dav_svn.so&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;&amp;nbsp; LoadModule authz_svn_module modules/mod_authz_svn.so&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• Add the following to allow a basic authentication and point Apache to where the actual repository resides.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;lt;Location /repos&amp;gt;&lt;br /&gt;
DAV svn&lt;br /&gt;
SVNParentPath /var/www/svn&lt;br /&gt;
AuthType Basic&lt;br /&gt;
AuthName &quot;Subversion repos&quot;&lt;br /&gt;
AuthUserFile /etc/svn-auth-conf&lt;br /&gt;
Require valid-user&lt;br /&gt;
&amp;lt;/Location&amp;gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• The location is what Apache will pass in the URL bar. For instance: http://localhost/repos points to the SVNPath that you have specified.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;b&gt;User and Password Configuration:&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
Next we have to actually create the password file that you specifie previous step. Initially you&#39;ll use the -cm arguments. This creates the file and also encrypts the password with MD5. If you need to add users make sure simply use the -m flag, and not the -c after the initial creation.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
[root@upload /]# htpasswd -cm /etc/svn-auth-conf&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
username1&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
New password:&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
Re-type new password:&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
Adding password for user username1&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
[root@upload /]# htpasswd -m /etc/svn-auth-conf&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
username2&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
New password:&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
Re-type new password:&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
Adding password for user username2&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
Configure your Repository :&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
Next thing you need to do is to create the actual repository from which you will check in and out your files.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
[root@upload /]# cd /var/www/&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
[root@upload /]# mkdir svn&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
[root@upload /]# cd svn&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
[root@upload /]# svnadmin create repos&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
[root@upload /]# chown -R apache.apache repos&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
[root@upload /]# service httpd restart&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• Check access your repository from a web browser: http://localhost/ repos. You should get a popup box asking for a username and password.Put the username password username1 and password for that.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
• Now you can access your repository from http://.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;b&gt;CheckOut :&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;[root@upload /]# svn checkout http://localhost/repos&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;Authentication realm: &amp;lt;http://localhost:80&amp;gt; Subversion repos&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;Password for &#39;root&#39;: [Ex-root]&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;Authentication realm: &amp;lt;http://localhost:80&amp;gt; Subversion repos&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;Username: username1&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;Password for &#39;user&#39;: [Ex-username1]&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&amp;nbsp;Checked out revision 0.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
Feel free to ask if you have any query.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot;&gt;
Thank You&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://watcheyesolutions.blogspot.com/feeds/281775374219712713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://watcheyesolutions.blogspot.com/2011/12/configuration-of-svn-over-http-on-linux.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/281775374219712713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1539383456064647383/posts/default/281775374219712713'/><link rel='alternate' type='text/html' href='http://watcheyesolutions.blogspot.com/2011/12/configuration-of-svn-over-http-on-linux.html' title='Configuration of SVN over http in Linux'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/09057592399390002873</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>