blob: 8bed30edd7d8ecb095f6ed0d056041b1f4cce6ae [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="SMILA/Documentation/HowTo/Create a test bundle (plug-in),SMILA/Development Guidelines/Create a bundle (plug-in),SMILA/Development Guidelines/How to integrate test bundle into build process,SMILA/Development Guidelines/Howto build a SMILA-Distribution" />
<link rel="shortcut icon" href="http://wiki.eclipse.org/SMILA/Documentation/HowTo/favicon.ico" />
<link rel="search" type="application/opensearchdescription+xml" href="http://wiki.eclipse.org/opensearch_desc.php" title="Eclipsepedia (English)" />
<link rel="alternate" type="application/rss+xml" title="Eclipsepedia RSS Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=rss" />
<link rel="alternate" type="application/atom+xml" title="Eclipsepedia Atom Feed" href="http://wiki.eclipse.org/index.php?title=Special:Recentchanges&amp;feed=atom" />
<title>SMILA/Documentation/HowTo/Create a test bundle (plug-in) - Eclipsepedia</title>
<style type="text/css" media="screen,projection">/*<![CDATA[*/ @import "http://wiki.eclipse.org/skins/eclipsenova/novaWide.css?116"; /*]]>*/</style>
<link rel="stylesheet" type="text/css" media="print" href="http://wiki.eclipse.org/skins/eclipsenova/eclipsenovaPrint.css?116" />
<link rel="stylesheet" type="text/css" media="handheld" href="http://wiki.eclipse.org/skins/eclipsenova/handheld.css?116" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/header.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/tabs.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/visual.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/layout.css" media="screen" />
<link rel="stylesheet" type="text/css" href="http://wiki.eclipse.org/skins/eclipsenova/Nova/css/footer.css" media="screen" />
<!--[if IE]><link rel="stylesheet" type="text/css" href="/skins/eclipsenova/IEpngfix.css" media="screen" /><![endif]-->
<!--[if lt IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE50Fixes.css?116";</style> <![endif]-->
<!--[if IE 5.5000]><style type="text/css">@import "/skins/eclipsenova/IE55Fixes.css?116";</style><![endif]-->
<!--[if IE 6]><style type="text/css">@import "/skins/eclipsenova/IE60Fixes.css?116";</style><![endif]-->
<!--[if IE 7]><style type="text/css">@import "/skins/eclipsenova/IE70Fixes.css?116";</style><![endif]-->
<!--[if lt IE 7]><script type="text/javascript" src="/skins/common/IEFixes.js?116"></script>
<meta http-equiv="imagetoolbar" content="no" /><![endif]-->
<script type= "text/javascript">/*<![CDATA[*/
var skin = "eclipsenova";
var stylepath = "/skins";
var wgArticlePath = "/$1";
var wgScriptPath = "";
var wgScript = "/index.php";
var wgServer = "http://wiki.eclipse.org";
var wgCanonicalNamespace = "";
var wgCanonicalSpecialPageName = false;
var wgNamespaceNumber = 0;
var wgPageName = "SMILA/Documentation/HowTo/Create_a_test_bundle_(plug-in)";
var wgTitle = "SMILA/Documentation/HowTo/Create a test bundle (plug-in)";
var wgAction = "view";
var wgRestrictionEdit = [];
var wgRestrictionMove = [];
var wgArticleId = "35439";
var wgIsArticle = true;
var wgUserName = null;
var wgUserGroups = null;
var wgUserLanguage = "en";
var wgContentLanguage = "en";
var wgBreakFrames = false;
var wgCurRevisionId = "309809";
var wgVersion = "1.12.0";
var wgEnableAPI = true;
var wgEnableWriteAPI = false;
/*]]>*/</script>
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/wikibits.js?116"><!-- wikibits js --></script>
<!-- Performance mods similar to those for bug 166401 -->
<script type="text/javascript" src="http://wiki.eclipse.org/index.php?title=-&amp;action=raw&amp;gen=js&amp;useskin=eclipsenova"><!-- site js --></script>
<!-- Head Scripts -->
<script type="text/javascript" src="http://wiki.eclipse.org/skins/common/ajax.js?116"></script>
<link rel="stylesheet" type="text/css" href="Create_a_test_bundle_(plug-in).html" /> </head>
<body class="mediawiki ns-0 ltr page-SMILA_Documentation_HowTo_Create_a_test_bundle_plug-in">
<div id="globalWrapper">
<div id="column-one">
<!-- Eclipse Additions for the Top Nav start here M. Ward-->
<div id="header">
<div id="header-graphic">
<img src="http://wiki.eclipse.org/skins/eclipsenova/eclipse.png" alt="Eclipse Wiki">
</div>
<!-- Pulled 101409 Mward -->
<div class="portlet" id="p-personal">
<div class="pBody">
<ul>
<li id="pt-login"><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Documentation/HowTo/Create_a_test_bundle_(plug-in)">Log in</a></li>
</ul>
</div>
</div>
<div id="header-icons">
<div id="sites">
<ul id="sitesUL">
<li><a href="http://www.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/eclipseIcon.png" width="28" height="28" alt="Eclipse Foundation" title="Eclipse Foundation" /><div>Eclipse Foundation</div></a></li>
<li><a href="http://marketplace.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/marketplace.png" width="28" height="28" alt="Eclipse Marketplace" title="Eclipse Marketplace" /><div>Eclipse Marketplace</div></a></li>
<li><a href="https://bugs.eclipse.org/bugs"><img src="http://dev.eclipse.org/custom_icons/system-search-bw.png" width="28" height="28" alt="Bugzilla" title="Bugzilla" /><div>Bugzilla</div></a></li>
<li><a href="http://live.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/audio-input-microphone-bw.png" width="28" height="28" alt="Live" title="Live" /><div>Eclipse Live</div></a></li>
<li><a href="http://planeteclipse.org"><img src="http://dev.eclipse.org/large_icons/devices/audio-card.png" width="28" height="28" alt="PlanetEclipse" title="Planet" /><div>Planet Eclipse</div></a></li>
<li><a href="http://portal.eclipse.org"><img src="http://dev.eclipse.org/custom_icons/preferences-system-network-proxy-bw.png" width="28" height="28" alt="Portal" title="Portal" /><div>My Foundation Portal</div></a></li>
</ul>
</div>
</div>
</div>
<!-- NEW HEADER STUFF HERE -->
<div id="header-menu">
<div id="header-nav">
<ul> <li><a class="first_one" href="http://wiki.eclipse.org/" target="_self">Home</a></li> <li><a href="http://www.eclipse.org/downloads/" target="_self">Downloads</a></li>
<li><a href="http://www.eclipse.org/users/" target="_self">Users</a></li>
<li><a href="http://www.eclipse.org/membership/" target="_self">Members</a></li>
<li><a href="http://wiki.eclipse.org/index.php/Development_Resources" target="_self">Committers</a></li>
<li><a href="http://www.eclipse.org/resources/" target="_self">Resources</a></li>
<li><a href="http://www.eclipse.org/projects/" target="_self">Projects</a></li>
<li><a href="http://www.eclipse.org/org/" target="_self">About Us</a></li>
</ul>
</div>
<div id="header-utils">
<!-- moved the search window here -->
<form action="http://wiki.eclipse.org/Special:Search" >
<input class="input" name="search" type="text" accesskey="f" value="" />
<input type='submit' onclick="this.submit();" name="go" id="searchGoButton" class="button" title="Go to a page with this exact name if one exists" value="Go" />&nbsp;
<input type='submit' onclick="this.submit();" name="fulltext" class="button" id="mw-searchButton" title="Search Eclipsepedia for this text" value="Search" />
</form>
</div>
</div>
<!-- Eclipse Additions for the Header stop here -->
<!-- Additions and mods for leftside nav Start here -->
<!--Started nav rip here-->
<!-- these are the nav controls main page, changes etc -->
<div id="novaContent" class="faux">
<div id="leftcol">
<ul id="leftnav">
<!-- these are the page controls, edit history etc -->
<li class="separator"><a class="separator">Navigation &#160;&#160;</li>
<li id="n-mainpage"><a href="http://wiki.eclipse.org/Main_Page">Main Page</a></li>
<li id="n-portal"><a href="http://wiki.eclipse.org/Eclipsepedia:Community_Portal">Community portal</a></li>
<li id="n-currentevents"><a href="http://wiki.eclipse.org/Eclipsepedia:Current_events">Current events</a></li>
<li id="n-recentchanges"><a href="http://wiki.eclipse.org/Special:Recentchanges">Recent changes</a></li>
<li id="n-randompage"><a href="http://wiki.eclipse.org/Special:Random">Random page</a></li>
<li id="n-help"><a href="http://wiki.eclipse.org/Help:Contents">Help</a></li>
<li class="separator"><a class="separator">Toolbox &#160;&#160;</a></li>
<li id="t-whatlinkshere"><a href="http://wiki.eclipse.org/Special:Whatlinkshere/SMILA/Documentation/HowTo/Create_a_test_bundle_%28plug-in%29">What links here</a></li>
<li id="t-recentchangeslinked"><a href="http://wiki.eclipse.org/Special:Recentchangeslinked/SMILA/Documentation/HowTo/Create_a_test_bundle_%28plug-in%29">Related changes</a></li>
<!-- This is the toolbox section -->
<li id="t-upload"><a href="http://wiki.eclipse.org/Special:Upload">Upload file</a></li>
<li id="t-specialpages"><a href="http://wiki.eclipse.org/Special:Specialpages">Special pages</a></li>
<li id="t-print"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/HowTo/Create_a_test_bundle_%28plug-in%29&amp;printable=yes">Printable version</a></li> <li id="t-permalink"><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/HowTo/Create_a_test_bundle_%28plug-in%29&amp;oldid=309809">Permanent link</a></li> </ul>
</div>
<!-- Additions and mods for leftside nav End here -->
<div id="column-content">
<div id="content">
<a name="top" id="top"></a>
<div id="tabs">
<ul class="primary">
<li class="active"><a href="Create_a_test_bundle_(plug-in).html"><span class="tab">Page</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Talk:SMILA/Documentation/HowTo/Create_a_test_bundle_%28plug-in%29&amp;action=edit"><span class="tab">Discussion</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/HowTo/Create_a_test_bundle_%28plug-in%29&amp;action=edit"><span class="tab">View source</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=SMILA/Documentation/HowTo/Create_a_test_bundle_%28plug-in%29&amp;action=history"><span class="tab">History</span></a></li>
<li><a href="http://wiki.eclipse.org/index.php?title=Special:Userlogin&amp;returnto=SMILA/Documentation/HowTo/Create&#32;a&#32;test&#32;bundle&#32;(plug-in)"><span class="tab">Edit</span></a></li>
</ul>
</div>
<script type="text/javascript"> if (window.isMSIE55) fixalpha(); </script>
<h1 class="firstHeading">SMILA/Documentation/HowTo/Create a test bundle (plug-in)</h1>
<div id="bodyContent">
<h3 id="siteSub">From Eclipsepedia</h3>
<div id="contentSub"><span class="subpages">&lt; <a href="../../../SMILA.html" title="SMILA">SMILA</a> | <a href="../../Documentation.1.html" title="SMILA/Documentation">Documentation</a> | <a href="../HowTo.html" title="SMILA/Documentation/HowTo">HowTo</a></span></div>
<div id="jump-to-nav">Jump to: <a href="Create_a_test_bundle_(plug-in).html#column-one">navigation</a>, <a href="Create_a_test_bundle_(plug-in).html#searchInput">search</a></div> <!-- start content -->
<p>This page descibes how to create a new test bundle for SMILA.The description on how to add a plug-in bundle can be found in <a href="../../Development_Guidelines/Create_a_bundle_(plug-in).html" class="mw-redirect" title="SMILA/Development Guidelines/Create a bundle (plug-in)">How to create a bundle (plug-in)</a>. This HowTo is similar with only minor differences.
</p>
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
<ul>
<li class="toclevel-1"><a href="Create_a_test_bundle_(plug-in).html#Create_the_test_bundle"><span class="tocnumber">1</span> <span class="toctext">Create the test bundle</span></a></li>
<li class="toclevel-1"><a href="Create_a_test_bundle_(plug-in).html#Create_a_test_suite_file"><span class="tocnumber">2</span> <span class="toctext">Create a test suite file</span></a></li>
<li class="toclevel-1"><a href="Create_a_test_bundle_(plug-in).html#Prepare_the_testing_gear"><span class="tocnumber">3</span> <span class="toctext">Prepare the testing gear</span></a>
<ul>
<li class="toclevel-2"><a href="Create_a_test_bundle_(plug-in).html#Create_the_launcher"><span class="tocnumber">3.1</span> <span class="toctext">Create the launcher</span></a></li>
<li class="toclevel-2"><a href="Create_a_test_bundle_(plug-in).html#Include_test_bundle_in_build_process"><span class="tocnumber">3.2</span> <span class="toctext">Include test bundle in build process</span></a></li>
</ul>
</li>
</ul>
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
<a name="Create_the_test_bundle"></a><h2> <span class="mw-headline"> Create the test bundle </span></h2>
<p>The following steps must be performed to create the test project base:<br />
</p>
<ol><li>Launch Eclipse and select your SMILA workspace.
</li><li>Select <i>File &gt; New &gt; Project</i>and click <i>Plug-in Project</i>.
</li><li>Click <i>Next</i>. <br />Now you have to fill in various metadata and settings for your plug-in project. You may as well edit some of the settings later on by opening the <tt>MANIFEST.MF</tt> file with the <i>Plug-in Manifest</i> editor.
</li><li>Enter a project name (you should use the same name as the bundle that should be tested and append a <tt>.test</tt> to it, for this example we will use <tt>org.eclipse.smila.integration.bundle.test</tt>).
</li><li>Add <tt>code</tt> as a parent to the source and output folder:
<ul><li>Set <i>Source folder</i> to <tt>code/src</tt>.
</li><li>Set <i>Output folder</i> to <tt>code/bin</tt>.
</li></ul>
</li><li>Set <i>Target Platform</i> to <tt>an OSGi framework: Equinox</tt>.
</li><li>Click <i>Next</i>.
</li><li>Fill in the metadata information for the new bundle. Set the plug-in's name as ID, your bundle's version, a reasonable bundle name and the information about the provider (i.e. you). For our example we select:
<ul><li>ID: <tt>org.eclipse.smila.integration.bundle.test</tt> (in our example)
</li><li>Version: <tt>1.0.0</tt>
</li><li>Name: <tt>Example Bundle Plugin Test</tt>
</li><li>Provider: <tt>Example company</tt>
</li><li>Exection Environment: <tt>JavaSE-1.7</tt>
</li></ul>
</li><li>Normally you won't need an activator in the test bundle, so uncheck this option.
</li><li>Click <i>Next</i>.
</li><li>Uncheck the Option <i>Create a plug-in using one of the templates</i>.
</li><li>Click <i>Finish</i>.
</li></ol>
<a name="Create_a_test_suite_file"></a><h2> <span class="mw-headline"> Create a test suite file </span></h2>
<p>Now you should create a test suite in your test bundle.
</p>
<ol><li>Open your <tt>MANIFEST.MF</tt> file.
</li><li>Switch to the <i>Dependencies</i> page.
</li><li>In <i>Imported Packages</i> click <i>Add</i>.
</li><li>Add <tt>junit.framework</tt>.
</li><li>Save <tt>MANIFEST.MF</tt>.
</li><li>Create a package in <tt>code/src</tt> with the same name as your bundle (in our example it is <tt>org.eclipse.smila.integration.bundle.test</tt>).
</li><li>Add an empty test suite named <tt>AllTests.java</tt>. <br /> Here you can add all your bundle's tests after you've created them.
</li></ol>
<p>Since SMILA 1.1 you can also use the Junit4 annotations to define test suites and cases, you will need to import these additional packages at least
</p>
<ul><li> <tt>org.junit</tt>
</li><li> <tt>org.junit.runner</tt>
</li><li> <tt>org.junit.runners</tt>
</li></ul>
<p>However, because the Eclipse Testing Framework uses an workaround to execute JUnit4 tests (for details see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=298619" class="external autonumber" title="https://bugs.eclipse.org/bugs/show_bug.cgi?id=298619" rel="nofollow">[1]</a>), you must keep the Import-Package entry for <tt>junit.framework</tt> or the test bundle will not work in the headless build process. Check bundle <tt>org.eclipse.smila.clusterconfig.simple.test</tt> for an example.
</p>
<a name="Prepare_the_testing_gear"></a><h2> <span class="mw-headline"> Prepare the testing gear </span></h2>
<p>Now you have to make some additions to the project in order to be able to integrate it into the build process or create plug-in test launchers.
</p>
<a name="Create_the_launcher"></a><h3> <span class="mw-headline"> Create the launcher </span></h3>
<ol><li>Create a <tt>configuration</tt> folder in your test bundle's root folder.
</li><li>Add this configuration folder to your <tt>build.properties</tt>.
</li><li>Add a <tt>log4j.properties</tt> file to your <tt>configuration</tt> folder.
</li><li>If you need plug-ins to be started for your test (which is normally the case), create a <tt>config.ini</tt> file in your <tt>configuration</tt> folder containing your OSGi bundles config.
</li><li>Create a JUnit Plug-in Test launcher for your <tt>AllTests.java</tt> suite:
<ul><li>Select <i>Run</i> &gt; <i>Run Configurations</i>.
</li><li>Select the <i>JUnit Plug-Test</i> node and click <i>New</i>.
</li><li>Set the name to the bundle's name (here: <tt>org.eclipse.smila.integration.bundle.test</tt>).
</li><li>On the <i>Test</i> page:
<ul><li>Select which class to test.
</li><li>Set the <i>Test runner</i> to <tt>JUnit 3</tt> or <tt>JUnit 4</tt>, depending on the style you have chosen.
</li></ul>
</li><li>On the <i>Arguments</i> page:
<ul><li>Set the <i>Program arguments</i> to <tt>-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl}</tt>.
</li><li>Set the <i>VM arguments</i> to <tt>-Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger -Dlog4j.configuration=file:${eclipse_home}configuration/log4j.properties -Xms40m -Xmx256m</tt>.
</li><li>If you need additional configuration or test data files (files/folders you store in your configuration folder), you should also add the following parameter to the VM arguments: <tt>-Dorg.eclipse.smila.utils.config.root=./configuration</tt> (adding this parameter is a good idea in any case).
</li></ul>
</li><li>On the <i>Configuration</i> panel:
<ul><li>If you have a <tt>config.ini</tt>, you have to reference it here:
<ul><li>Check <i>Use an existing config.ini file as a template</i>.
</li><li>Click <i>Workspace</i> and navigate to the config.ini (example path: <tt>${workspace_loc:org.eclipse.smila.integration.bundle.test/configuration/config.ini}</tt>).
</li></ul>
</li></ul>
</li></ul>
</li></ol>
<p><i>Hint:</i> You can configure Eclipse to add VM arguments each time a launcher is created:
</p>
<ol><li><i>Window </i>--&gt; <i>Preferences </i>--&gt; <i>Plug-in Development</i> --&gt; <i>Target Platform</i> --&gt; <i>Edit</i>.
</li><li>On the <i>Arguments</i> page, you can set the VM arguments that will be added to each new launch configuration.
</li></ol>
<a name="Include_test_bundle_in_build_process"></a><h3> <span class="mw-headline"> Include test bundle in build process </span></h3>
<p>To enable the build process (see <a href="../../Development_Guidelines/Howto_build_a_SMILA-Distribution.html" class="mw-redirect" title="SMILA/Development Guidelines/Howto build a SMILA-Distribution">How to build a SMILA distribution</a>) to include your test bundle you should follow the instructions on <a href="../../Development_Guidelines/How_to_integrate_test_bundle_into_build_process.html" class="mw-redirect" title="SMILA/Development Guidelines/How to integrate test bundle into build process">how to integrate a test bundle into the build process</a>.
</p>
<!--
NewPP limit report
Preprocessor node count: 47/1000000
Post-expand include size: 0/2097152 bytes
Template argument size: 0/2097152 bytes
#ifexist count: 0/100
-->
<!-- Saved in parser cache with key wikidb:pcache:idhash:35439-0!1!0!!en!2!edit=0 and timestamp 20120710051532 -->
<div class="printfooter">
Retrieved from "<a href="Create_a_test_bundle_(plug-in).html">http://wiki.eclipse.org/SMILA/Documentation/HowTo/Create_a_test_bundle_%28plug-in%29</a>"</div>
<div id="catlinks"><p class='catlinks'><a href="http://wiki.eclipse.org/Special:Categories" title="Special:Categories">Category</a>: <span dir='ltr'><a href="http://wiki.eclipse.org/Category:SMILA" title="Category:SMILA">SMILA</a></span></p></div> <!-- end content -->
<div class="visualClear"></div>
</div>
</div>
</div>
<!-- Yoink of toolbox for phoenix moved up -->
</div>
</div>
<div id="clearFooter"/>
<div id="footer" >
<ul id="footernav">
<li class="first"><a href="http://www.eclipse.org/">Home</a></li>
<li><a href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
<li><a href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
<li><a href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
<li><a href="http://www.eclipse.org/org/foundation/contact.php">Contact</a></li>
<li><a href="http://wiki.eclipse.org/Eclipsepedia:About" title="Eclipsepedia:About">About Eclipsepedia</a></li>
</ul>
<span id="copyright">Copyright &copy; 2012 The Eclipse Foundation. All Rights Reserved</span>
<p id="footercredit">This page was last modified 08:18, 5 July 2012 by <a href="http://wiki.eclipse.org/User:Juergen.schumacher.empolis.com" title="User:Juergen.schumacher.empolis.com">Juergen Schumacher</a>. Based on work by <a href="http://wiki.eclipse.org/index.php?title=User:Juergen.schumacher.attensity.com&amp;action=edit" class="new" title="User:Juergen.schumacher.attensity.com">Juergen Schumacher</a>, <a href="http://wiki.eclipse.org/User:Andreas.schank.attensity.com" title="User:Andreas.schank.attensity.com">A. Schank</a> and <a href="http://wiki.eclipse.org/index.php?title=User:Nadine.auslaender.attensity.com&amp;action=edit" class="new" title="User:Nadine.auslaender.attensity.com"> </a>.</p>
<p id="footerviews">This page has been accessed 1,271 times.</p>
</div>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-910670-4");
pageTracker._trackPageview();
</script>
<!-- <div class="visualClear"></div> -->
<script type="text/javascript">if (window.runOnloadHook) runOnloadHook();</script>
</div>
<!-- Served in 0.054 secs. --></body></html>