Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 864d1c3c3cd8df4e3a2692faf8776e05 > files > 810

db4o-doc-7.4-2.fc13.i686.rpm

<html>
  <head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>TA Enhancement At Loading Time</title>
    <link rel="stylesheet" type="text/css" href="../../../../../style.css">
  </head>
  <body>
    <div class="CommonContent">
      <div class="CommonContentArea">
        <h1>TA Enhancement At Loading Time</h1><script>
//We attach this function to a browser object as a variable so that if multiple of these blocks are
//present on the same page, then they will simply over-write eachother with the same function instead
//of generating a naming collision.
window.WikiCodeFormattingCopyToClipboard = function copyToClipboard(sID){
	var sContent = document.getElementById(sID).innerText;
	if( window.clipboardData && clipboardData.setData )
	{
		clipboardData.setData("Text", sContent);
	}
	else
	{
		alert("You must enable javascript access to your clipboard for this feature to work. Please referr to your browser documentation or Google search for instructions.");
	}
}
</script><p>TA Instrumentation at loading time is the most convenient as the classes do not have to be modified, only a separate runner class should be created to enable special instrumenting classloader to deal with the classes.</p><p>Let's look at an example.&nbsp;</p>

<p>We will use <a href="sensorpanel.html" class="wikiLink">SensorPanel</a> class from the <a href="../../../activation.html" class="wikiLink">Activation</a> example.</p><p>The following configuration should be
used (note that reflector set-up is not necessary for the loading time instrumentation):</p>

<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">TAInstrumentationExample.java: <span class="fscMemberName">configureTA</span></span></div><div class="fscCode"><pre ID="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93_43_391_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93_43_391_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93_43_391_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93_43_391_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93_43_391_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93_43_391_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93_43_391_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93_43_391_Open_Text').style.display='inline';"/><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> Configuration configureTA() </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93_43_391_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_ConfigureTA_492_93_43_391_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    Configuration configuration </span><span style="color: #000000;">=</span><span style="color: #000000;"> Db4o.newConfiguration();
</span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    configuration.add(</span><span style="color: #0000FF;">new</span><span style="color: #000000;"> TransparentActivationSupport());
</span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #008000;">//</span><span style="color: #008000;"> configure db4o to use instrumenting classloader
</span><span style="color: #008080;">05</span><span style="color: #008000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #008000;">//</span><span style="color: #008000;"> This is required for build time optimization!</span><span style="color: #008000;">
</span><span style="color: #008080;">06</span><span style="color: #008000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">    configuration.reflectWith(</span><span style="color: #0000FF;">new</span><span style="color: #000000;"> JdkReflector(
</span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        TAInstrumentationExample.</span><span style="color: #0000FF;">class</span><span style="color: #000000;">.getClassLoader()));
</span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> configuration;
</span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>  }</span></span></div></pre></div></div>

<p>The <code>main</code> method should
provide the testing code:</p>

<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">TAInstrumentationExample.java: <span class="fscMemberName">main</span></span></div><div class="fscCode"><pre ID="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">1</span><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86_39_63_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86_39_63_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86_39_63_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86_39_63_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86_39_63_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86_39_63_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86_39_63_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86_39_63_Open_Text').style.display='inline';"/><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> main(String[] args) </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86_39_63_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_Main_662_86_39_63_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">2</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    testActivation();
</span><span style="color: #008080;">3</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>  }</span></span></div></pre></div></div>

<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">TAInstrumentationExample.java: <span class="fscMemberName">storeSensorPanel</span></span></div><div class="fscCode"><pre ID="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_39_343_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_39_343_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_39_343_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_39_343_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_39_343_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_39_343_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_39_343_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_39_343_Open_Text').style.display='inline';"/><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> storeSensorPanel() </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_39_343_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_39_343_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> File(DB4O_FILE_NAME).delete();
</span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    ObjectContainer container </span><span style="color: #000000;">=</span><span style="color: #000000;"> database(configureTA());
</span><span style="color: #008080;">04</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_158_340_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_158_340_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_158_340_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_158_340_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_158_340_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_158_340_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_158_340_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_158_340_Open_Text').style.display='inline';"/>    </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (container </span><span style="color: #000000;">!=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">) </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_158_340_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_158_340_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">05</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_167_300_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_167_300_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_167_300_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_167_300_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_167_300_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_167_300_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_167_300_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_167_300_Open_Text').style.display='inline';"/>      </span><span style="color: #0000FF;">try</span><span style="color: #000000;"> </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_167_300_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_167_300_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        </span><span style="color: #008000;">//</span><span style="color: #008000;"> create a linked list with length 10</span><span style="color: #008000;">
</span><span style="color: #008080;">07</span><span style="color: #008000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">        SensorPanel list </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> SensorPanel().createList(</span><span style="color: #000000;">10</span><span style="color: #000000;">);
</span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        container.store(list);
</span><span style="color: #008080;">09</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_309_336_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_309_336_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_309_336_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_309_336_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_309_336_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_309_336_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_309_336_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_309_336_Open_Text').style.display='inline';"/>      }</span></span><span style="color: #000000;"> </span><span style="color: #0000FF;">finally</span><span style="color: #000000;"> </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_309_336_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_StoreSensorPanel_752_98_309_336_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        closeDatabase();
</span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>      }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>  }</span></span></div></pre></div></div>

<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">TAInstrumentationExample.java: <span class="fscMemberName">testActivation</span></span></div><div class="fscCode"><pre ID="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_37_703_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_37_703_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_37_703_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_37_703_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_37_703_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_37_703_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_37_703_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_37_703_Open_Text').style.display='inline';"/><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> testActivation() </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_37_703_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_37_703_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    storeSensorPanel();
</span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    Configuration configuration </span><span style="color: #000000;">=</span><span style="color: #000000;"> configureTA();
</span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    activateDiagnostics(configuration);
</span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    ObjectContainer container </span><span style="color: #000000;">=</span><span style="color: #000000;"> database(configuration);
</span><span style="color: #008080;">07</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_227_700_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_227_700_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_227_700_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_227_700_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_227_700_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_227_700_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_227_700_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_227_700_Open_Text').style.display='inline';"/>    </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (container </span><span style="color: #000000;">!=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">) </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_227_700_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_227_700_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">08</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_236_660_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_236_660_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_236_660_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_236_660_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_236_660_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_236_660_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_236_660_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_236_660_Open_Text').style.display='inline';"/>      </span><span style="color: #0000FF;">try</span><span style="color: #000000;"> </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_236_660_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_236_660_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        Query query  </span><span style="color: #000000;">=</span><span style="color: #000000;"> container.query();
</span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        query.constrain(SensorPanel.</span><span style="color: #0000FF;">class</span><span style="color: #000000;">);
</span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        query.descend(</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">_sensor</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">).constrain(</span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Integer(</span><span style="color: #000000;">1</span><span style="color: #000000;">));
</span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        ObjectSet result </span><span style="color: #000000;">=</span><span style="color: #000000;"> query.execute();
</span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        listResult(result);
</span><span style="color: #008080;">14</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_463_655_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_463_655_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_463_655_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_463_655_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_463_655_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_463_655_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_463_655_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_463_655_Open_Text').style.display='inline';"/>        </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (result.size() </span><span style="color: #000000;">&gt;</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">) </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_463_655_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_463_655_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">15</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>          SensorPanel sensor </span><span style="color: #000000;">=</span><span style="color: #000000;"> (SensorPanel) result.get(</span><span style="color: #000000;">0</span><span style="color: #000000;">);
</span><span style="color: #008080;">16</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>          SensorPanel next </span><span style="color: #000000;">=</span><span style="color: #000000;"> sensor._next;
</span><span style="color: #008080;">17</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_584_649_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_584_649_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_584_649_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_584_649_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_584_649_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_584_649_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_584_649_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_584_649_Open_Text').style.display='inline';"/>          </span><span style="color: #0000FF;">while</span><span style="color: #000000;"> (next </span><span style="color: #000000;">!=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">null</span><span style="color: #000000;">) </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_584_649_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_584_649_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">18</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            System.out.println(next);
</span><span style="color: #008080;">19</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            next </span><span style="color: #000000;">=</span><span style="color: #000000;"> next._next;
</span><span style="color: #008080;">20</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>          }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">21</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>        }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">22</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_669_696_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_669_696_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_669_696_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_669_696_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_669_696_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_669_696_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_669_696_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_669_696_Open_Text').style.display='inline';"/>      }</span></span><span style="color: #000000;"> </span><span style="color: #0000FF;">finally</span><span style="color: #000000;"> </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_669_696_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationExample.Java_InstrumentedTAInstrumentationExample.Java_TestActivation_854_96_669_696_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">23</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>        closeDatabase();
</span><span style="color: #008080;">24</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>      }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">25</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>    }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">26</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>  }</span></span></div></pre></div></div>

<p>A separate class should be used to
run the instrumented example. This class creates a filter to point to the classes that should be instrumented, in this case ByNameClassFilter is used. You can see other filters in ClassFilter hierarchy. A special BloatClassEdit is created to instruct, which type of instrumentation will be used (InjectTransparentActivationEdit in our case). This configuration together with the path of the classes to be instrumented is passed to Db4oInstrumentationLauncher.<br></p>

<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">TAInstrumentationRunner.java</span></div><div class="fscCode"><pre ID="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_0_62_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_0_62_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_0_62_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_0_62_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_0_62_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_0_62_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_0_62_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_0_62_Open_Text').style.display='inline';"/><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_0_62_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">/**/</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_0_62_Open_Text"><span style="color: #008000;">/*</span><span style="color: #008000;"> Copyright (C) 2007  db4objects Inc.  </span><span style="color: #008000; text-decoration: underline;">http://www.db4o.com</span><span style="color: #008000;"> </span><span style="color: #008000;">*/</span></span><span style="color: #000000;">
</span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/>
</span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">package</span><span style="color: #000000;"> com.db4odoc.taexamples.instrumented;
</span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/>
</span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">import</span><span style="color: #000000;"> java.io.File;
</span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">import</span><span style="color: #000000;"> java.net.URL;
</span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/>
</span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">import</span><span style="color: #000000;"> com.db4o.instrumentation.classfilter.ByNameClassFilter;
</span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">import</span><span style="color: #000000;"> com.db4o.instrumentation.core.BloatClassEdit;
</span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">import</span><span style="color: #000000;"> com.db4o.instrumentation.core.ClassFilter;
</span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">import</span><span style="color: #000000;"> com.db4o.instrumentation.main.Db4oInstrumentationLauncher;
</span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">import</span><span style="color: #000000;"> com.db4o.ta.instrumentation.InjectTransparentActivationEdit;
</span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/>
</span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/>
</span><span style="color: #008080;">15</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_492_1058_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_492_1058_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_492_1058_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_492_1058_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_492_1058_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_492_1058_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_492_1058_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_492_1058_Open_Text').style.display='inline';"/></span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;"> TAInstrumentationRunner </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_492_1058_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_492_1058_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">16</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">17</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_552_1041_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_552_1041_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_552_1041_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_552_1041_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_552_1041_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_552_1041_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_552_1041_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_552_1041_Open_Text').style.display='inline';"/>  </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> main(String[] args) </span><span style="color: #0000FF;">throws</span><span style="color: #000000;"> Exception </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_552_1041_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_552_1041_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">18</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #008000;">//</span><span style="color: #008000;"> list the classes that need to be instrumented</span><span style="color: #008000;">
</span><span style="color: #008080;">19</span><span style="color: #008000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_663_694_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_663_694_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_663_694_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_663_694_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_663_694_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_663_694_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_663_694_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_663_694_Open_Text').style.display='inline';"/></span><span style="color: #000000;">    ClassFilter filter </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> ByNameClassFilter(</span><span style="color: #0000FF;">new</span><span style="color: #000000;"> String[] </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_663_694_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_663_694_Open_Text"><span style="color: #000000;">{ SensorPanel.</span><span style="color: #0000FF;">class</span><span style="color: #000000;">.getName() }</span></span><span style="color: #000000;">);
</span><span style="color: #008080;">20</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #008000;">//</span><span style="color: #008000;"> inject TA awareness</span><span style="color: #008000;">
</span><span style="color: #008080;">21</span><span style="color: #008000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_769_814_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_769_814_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_769_814_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_769_814_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_769_814_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_769_814_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_769_814_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_769_814_Open_Text').style.display='inline';"/></span><span style="color: #000000;">    BloatClassEdit edits[] </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> BloatClassEdit[]</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_769_814_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_769_814_Open_Text"><span style="color: #000000;">{</span><span style="color: #0000FF;">new</span><span style="color: #000000;"> InjectTransparentActivationEdit(filter)}</span></span><span style="color: #000000;">;
</span><span style="color: #008080;">22</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>    </span><span style="color: #008000;">//</span><span style="color: #008000;"> get URL for the classloader</span><span style="color: #008000;">
</span><span style="color: #008080;">23</span><span style="color: #008000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_864_927_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_864_927_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_864_927_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_864_927_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_864_927_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_864_927_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_864_927_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_864_927_Open_Text').style.display='inline';"/></span><span style="color: #000000;">    URL[] urls </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_864_927_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_864_927_Open_Text"><span style="color: #000000;">{ </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> File(</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">e:\\sb4o\\trunk\\reference\\bin</span><span style="color: #000000;">&quot;</span><span style="color: #000000;">).toURI().toURL() }</span></span><span style="color: #000000;">;
</span><span style="color: #008080;">24</span><span style="color: #000000;"><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_1033_1035_Open_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_1033_1035_Open_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_1033_1035_Closed_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_1033_1035_Closed_Text').style.display='inline';"/><img id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_1033_1035_Closed_Image" src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_1033_1035_Closed_Text').style.display='none'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_1033_1035_Open_Image').style.display='inline'; document.getElementById('....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_1033_1035_Open_Text').style.display='inline';"/>    Db4oInstrumentationLauncher.launch(edits, urls, TAInstrumentationExample.</span><span style="color: #0000FF;">class</span><span style="color: #000000;">.getName(), </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> String[]</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_1033_1035_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id="....TAExamplesJava.ZipsinstrumentedTAInstrumentationRunner.Java_InstrumentedTAInstrumentationRunner.Java_1464_80_1033_1035_Open_Text"><span style="color: #000000;">{}</span></span><span style="color: #000000;">);
</span><span style="color: #008080;">25</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>
</span><span style="color: #008080;">26</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/>  }</span></span><span style="color: #000000;">
</span><span style="color: #008080;">27</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>  </span><span style="color: #008000;">//</span><span style="color: #008000;"> end main</span><span style="color: #008000;">
</span><span style="color: #008080;">28</span><span style="color: #008000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">  
</span><span style="color: #008080;">29</span><span style="color: #000000;"><img src="../../../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>}</span></span></div></pre></div></div>You can run the example by running Db4oInstrumentationLauncher, which will start TAInstrumentationExample in a correct configuration.<br></div>
    </div>
    <div id="footer">
					This revision (2) was last Modified 2007-10-28T18:16:59 by Tetyana.
				</div>
  </body>
</html>