<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Three2Tango &#187; ATG &amp; Java</title>
	<atom:link href="http://www.three2tango.com/category/techcorner/atg-java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.three2tango.com</link>
	<description>Points To Ponder : The Latest news from the TechWorld,Automobiles,CellPhones and lots of useful Code Snippets</description>
	<lastBuildDate>Wed, 08 Sep 2010 18:10:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>XMLDOM Parser:ATG</title>
		<link>http://www.three2tango.com/techcorner/atg-java/xmldom-parseratg.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/xmldom-parseratg.html/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 13:20:23 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[ATG]]></category>
		<category><![CDATA[ATG and java relation]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xml parsing]]></category>
		<category><![CDATA[XML serialization of Objects in .NET]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3923</guid>
		<description><![CDATA[The code below explains how to get the value of a particular node from an XML. Dont forget to take a look into the imports in the class as the XMLToDOMParser and ApacheXMLToolsFactory are two very important packages you can&#8217;t forget for this code to work. &#8220;xPath&#8221; gives the node we have to find. The string variable &#8220;xPath&#8221; is defined in a particular way. The path in the eg: file(testParsingXML.java) will lead you to the node named &#8220;category&#8220;. Here is another example to know how to write the xPath:=  /root/son[@name=\"firstchild\"]/grandson[@name=\"gs1\"]
This ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/droplet-a-repository-query.html/' rel='bookmark' title='Permanent Link: Droplet &#038; A Repository Query'>Droplet &#038; A Repository Query</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/' rel='bookmark' title='Permanent Link: ATG Tag Library:DSP Tags'>ATG Tag Library:DSP Tags</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/installing-a-decompiler-pluginjad-for-eclipse.html/' rel='bookmark' title='Permanent Link: Installing a Decompiler plugin(JAD) for Eclipse'>Installing a Decompiler plugin(JAD) for Eclipse</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">The <a href='#last'>code below</a> explains how to get the value of a particular node from an XML. Dont forget to take a look into the imports in the class as the <strong>XMLToDOMParser</strong> and <strong>ApacheXMLToolsFactory</strong> are two very important packages you can&#8217;t forget for this code to work. &#8220;<strong>xPath</strong>&#8221; gives the node we have to find. The string variable &#8220;xPath&#8221; is defined in a particular way. The path in the eg: file(testParsingXML.java) will lead you to the node named &#8220;<strong>category</strong>&#8220;. Here is another example to know how to write the xPath:=  <strong>/root/son[@name=\"firstchild\"]/grandson[@name=\"gs1\"]</strong></p>
<p style="text-align: justify;">This xpath will lead you to grandson node. All other things in the code are self explanatory. An xml specified in the code is also provided., make sure  you copy the <a href="#end">xml(test.xml)</a> in the same path mentioned in the java code. Hope the code snippet helps. This code will work fine within an ATG environment. I tried successfully.</p>
<p style="text-align: justify;"><strong>Drawback:</strong></p>
<p style="text-align: justify;">This code will definitely help you find the value of known node, but wont help you in finding a dynamic node.Which means you need to specify the node name to get the value.Eg: you can&#8217;t read all <strong>&#8220;category&#8221;</strong> nodes of  <strong>&#8220;granddaughter&#8221;</strong> just by specifying xpath till &#8220;granddaughter&#8221;.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p><strong>1 .     &#8220;testParsingXML.java&#8221;</strong></p>
<p><a name="last"></a></p>
<pre name="code" language="C#">import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Enumeration;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import atg.xml.tools.XMLToDOMParser;
import atg.xml.tools.apache.ApacheXMLToolsFactory;

public class testParsingXML{
public static void main(String[] argS){
		XMLToDOMParser xtdParser;
		ApacheXMLToolsFactory axtFactory = new ApacheXMLToolsFactory();
		xtdParser = axtFactory.createXMLToDOMParser();
		File xmlFile = null;
		FileInputStream fis= null;
		xmlFile = new File("E:\\test.xml");

		try {
			fis = new FileInputStream(xmlFile);	 // Should wrap with try catch block
			byte fileContent[] = new byte[(int)xmlFile.length()];
			fis.read(fileContent); 	// Should wrap with try catch block
			ByteArrayInputStream bis = new ByteArrayInputStream(fileContent);
			Document document = xtdParser.parse(bis ,false ,null);
			String xPath ="/root/daughter[@name=\"secondchild\"]/granddaughter[@name=\"three2tango\"]/category[@name=\"c1\"]";
			Enumeration nodes = axtFactory.createXSLQueryEngine().select(xPath, document, null);
			Node node = nodes.nextElement();
			if (node.hasAttributes())
			{
			NamedNodeMap attributes = node.getAttributes();
			System.out.println(attributes.item(1));
			System.out.println(attributes.getNamedItem("name").getTextContent());
			System.out.println(attributes.getNamedItem("value").getTextContent());
			}
		} catch (FileNotFoundException e) {
		} catch (IOException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}</pre>
<p><strong>2. &#8220;test.xml&#8221;</strong><a name="end"></a></p>
<pre name="code" language="C#">     &lt;root&gt;
	&lt;son name="firstchild"&gt;
		&lt;grandson name="gs1" value="dileep"/&gt;
		&lt;grandson name="gs2" value="lloyd"/&gt;
		&lt;grandson name="gs3" value="vivek"/&gt;
	&lt;/son&gt;
	&lt;daughter name="secondchild"&gt;
		&lt;granddaughter name="three2tango"&gt;
			&lt;category name="c1" value="java"/&gt;
			&lt;category name="c2" value="atg"/&gt;
		&lt;/granddaughter&gt;
	&lt;/daughter&gt;
&lt;/root&gt;</pre>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/droplet-a-repository-query.html/' rel='bookmark' title='Permanent Link: Droplet &#038; A Repository Query'>Droplet &#038; A Repository Query</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/' rel='bookmark' title='Permanent Link: ATG Tag Library:DSP Tags'>ATG Tag Library:DSP Tags</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/installing-a-decompiler-pluginjad-for-eclipse.html/' rel='bookmark' title='Permanent Link: Installing a Decompiler plugin(JAD) for Eclipse'>Installing a Decompiler plugin(JAD) for Eclipse</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/xmldom-parseratg.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing a Decompiler plugin(JAD) for Eclipse</title>
		<link>http://www.three2tango.com/techcorner/atg-java/installing-a-decompiler-pluginjad-for-eclipse.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/installing-a-decompiler-pluginjad-for-eclipse.html/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 21:58:35 +0000</pubDate>
		<dc:creator>Lloyd</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[ATG Debug help]]></category>
		<category><![CDATA[ATG Helping tools]]></category>
		<category><![CDATA[Eclipse Decompiler]]></category>
		<category><![CDATA[How to decompile a java byte code]]></category>
		<category><![CDATA[JAD]]></category>
		<category><![CDATA[JAD eclipse]]></category>
		<category><![CDATA[JADClipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3885</guid>
		<description><![CDATA[A decompiler does the reverse of a compiler, a lowel byte code into a high level language.Java decompiler will help you decompile a byte code file so that you can see the java code.
Steps in installing JADClipse(An eclipse plugin for decompiling)
1. Create a folder parallel to the eclipse installation named &#8220;JAD&#8221;, place the &#8220;jad.exe&#8221; file inside the folder.
2. Run the &#8220;jad.exe&#8221;.
3. Copy the jar file to the plugins folder in eclipse.(&#8220;jadclipse_3.2.2.jar&#8221;)
4. Restart your eclipse.
5.Go to window &#8211;&#62;preferences&#8211;&#62;Java&#8211;&#62;jadeclipse. (Check the Picture below)



Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/xmldom-parseratg.html/' rel='bookmark' title='Permanent Link: XMLDOM Parser:ATG'>XMLDOM Parser:ATG</a></li><li><a href='http://www.three2tango.com/techcorner/the-evolution-of-java.html/' rel='bookmark' title='Permanent Link: The Evolution Of Java'>The Evolution Of Java</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">A decompiler does the reverse of a compiler, a lowel byte code into a high level language.Java decompiler will help you decompile a byte code file so that you can see the java code.<br />
<strong>Steps in installing JADClipse(An eclipse plugin for decompiling)</strong><br />
1. Create a folder parallel to the eclipse installation named <strong>&#8220;JAD&#8221;</strong>, place the <strong>&#8220;jad.exe&#8221;</strong> file inside the folder.<br />
2. Run the &#8220;<strong>jad.exe&#8221;</strong>.<br />
3. Copy the jar file to the plugins folder in eclipse.(<strong>&#8220;jadclipse_3.2.2.jar&#8221;</strong>)<br />
4. Restart your eclipse.<br />
5.Go to <strong>window &#8211;&gt;preferences&#8211;&gt;Java&#8211;&gt;jadeclipse</strong>. (Check the Picture below)</p>
<p style="text-align: justify;">
<a href="http://www.three2tango.com/wp-content/gallery/loy/jadInstall.JPG" title="" class="shutterset_singlepic1027" >
	<img class="ngg-singlepic ngg-center" src="http://www.three2tango.com/wp-content/gallery/cache/1027_watermark_250x250_jadInstall.JPG" alt="jadInstall.JPG" title="jadInstall.JPG" />
</a>
<br />
6.Set the <strong>&#8220;Path to Decompiler&#8221;</strong> as your <strong>&#8220;jad.exe&#8221;</strong> location.<br />
7.Set the <strong>&#8220;Directory for temperary files &#8220;</strong> as <strong>&#8220;D\.jadeclipse&#8221;</strong><br />
8. Restart eclipse once more to use JAD.</p>
<p style="text-align: justify;">
<p style="text-align: justify;">The decompiler will come handy when you are moving back and forth through ATG Out of the Box components. If JAD is there OOTB components and can be read and understood easily. <span style="color: #0000ff;"><strong><a href="http://www.three2tango.com/JAD_Required_Files.zip">Click ToDownload JAD Utility</a></strong></span>.</p>
<p style="text-align: justify;"> </p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/xmldom-parseratg.html/' rel='bookmark' title='Permanent Link: XMLDOM Parser:ATG'>XMLDOM Parser:ATG</a></li><li><a href='http://www.three2tango.com/techcorner/the-evolution-of-java.html/' rel='bookmark' title='Permanent Link: The Evolution Of Java'>The Evolution Of Java</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/installing-a-decompiler-pluginjad-for-eclipse.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ATG Tag Library:DSP Tags</title>
		<link>http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 19:00:36 +0000</pubDate>
		<dc:creator>Lloyd</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[ATG]]></category>
		<category><![CDATA[ATG and java relation]]></category>
		<category><![CDATA[ATG framework]]></category>
		<category><![CDATA[ATG Tag Library]]></category>
		<category><![CDATA[ATG technology]]></category>
		<category><![CDATA[DSP Tag library]]></category>
		<category><![CDATA[DSP tags]]></category>
		<category><![CDATA[dsp:importbean]]></category>
		<category><![CDATA[dsp:page]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3788</guid>
		<description><![CDATA[There are many ATG Out Of The Box(OOTB) droplets to cater the various needs in developing an application.Droplet&#8217;s main use in a jsp page is to dispay the contents dynamically. The OOTBox components are used in JSP with the help of DSP tags. DSP is a tag library provided by ATG, it acts as layer above the JSP tags. The DSP tag library lets you access all data types in ATG’s Nucleus framework. Other functions provided by these tags are managing transactions and rendering data in a Java Server Page. ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/droplet-a-repository-query.html/' rel='bookmark' title='Permanent Link: Droplet &#038; A Repository Query'>Droplet &#038; A Repository Query</a></li><li><a href='http://www.three2tango.com/techcorner/understanding-atgthe-e-commerce-framework.html/' rel='bookmark' title='Permanent Link: Understanding-ATG(The e-Commerce Framework)'>Understanding-ATG(The e-Commerce Framework)</a></li><li><a href='http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/' rel='bookmark' title='Permanent Link: How to Use RQL in JAVA,ATG'>How to Use RQL in JAVA,ATG</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">There are many ATG Out Of The Box(OOTB) droplets to cater the various needs in developing an application.Droplet&#8217;s main use in a jsp page is to dispay the contents dynamically. The OOTBox components are used in JSP with the help of DSP tags. DSP is a tag library provided by ATG, it acts as layer above the JSP tags. The DSP tag library lets you access all data types in ATG’s Nucleus framework. Other functions provided by these tags are managing transactions and rendering data in a Java Server Page. Tags from the DSP tag library are used only for tasks that involve Dynamo Application Framework (DAF) resources.</p>
<p style="text-align: justify;">In the API documentation of ATG the class hierarchy is: <strong>atg.nucleus.GenericService</strong> &#8212;&gt; <strong>atg.servlet.DynamoServlet</strong>. And the classes for sample droplets &#8220;<strong>Switch</strong>&#8221; and &#8220;<strong>ForEach</strong>&#8221; droplets are &#8220;<strong>atg.droplet.Switch</strong>&#8221; and  &#8220;<strong>atg.droplet.ForEach</strong>&#8221; respectively. Before using the DSP tags in a page, it must be imported in the beginning of the page.</p>
<p><strong>&lt;%@ taglib uri=&#8221;/dspTaglib&#8221; prefix=&#8221;dsp&#8221;%&gt;</strong></p>
<p><strong>DSP PAGE tag:</strong><br />
The dsp:page surrounds the content body of the JSP. It is required to use this tag as such whenever your pages include DSP tags.&#8221;dsp:page&#8221; tag initiates the page rendering process by creating an instance of the &#8220;DynamoHTTPServletRequest&#8221;. This tag is preceded only by the page directives and import statements.<br />
["content of the page.It can be any dsp or jsp or html tags"]</p>
<p><strong>DSP IMPORTBEAN tag:</strong><br />
dsp:importbean can import a servlet or java bean component into a JSP.It is usually given at the top of the page so that it facilitates reference to all other elements.The tag has 3 attributes BEAN,VAR and SCOPE, of which bean is a compulsory attribute and can&#8217;t be omitted.The bean attribute accepts a fully qualified nucleuspath and name of the servlet bean that we want to import. The VAR attribute names an EL variable so that it can be used by other tags in the page. If SCOPE is not mentioned a default page is used.SCOPE determines where the servlet bean specified by VAR is stored and who all can access it.PAGE,REQUEST,SESSION &amp; APPLICATION are the various options available. Now a small eg: will serve a better understanding.<br />
Sample Code:</p>
<pre name="code" language="C#">&lt;dsp:importbean bean="/atg/dynamo/droplet/Switch"/&gt;
&lt;dsp:importbean bean="/atg/dynamo/servlet/RequestLocale" var="requestlocale"/&gt;
&lt;dsp:importbean bean="/atg/dynamo/droplet/Redirect/&gt;
&lt;dsp:setvalue bean="${requestLocale.refresh}" value=" "/&gt;
&lt;dsp:droplet name="Switch"&gt;
  &lt;dsp:param bean="${requestLocale.locale.language}" name="value"/&gt;
  &lt;dsp:oparam name="fr"&gt;
      &lt;dsp:droplet name="Redirect"&gt;
        &lt;dsp:param name="url" value="fr/index.jsp"/&gt;
      &lt;/dsp:droplet&gt;
  &lt;/dsp:oparam&gt;
  &lt;dsp:oparam name="default"&gt;
      &lt;dsp:droplet name="Redirect"&gt;
        &lt;dsp:param name="url" value="en/index.jsp"/&gt;
      &lt;/dsp:droplet&gt;
 &lt;/dsp:oparam&gt;
&lt;/dsp:droplet&gt;</pre>
<p style="text-align: justify;">Here the Switch, RequestLocale and Redirect droplets are imported to the page. The RequestLocale component is imported to a VAR attribute so that the <em>dsp:setvalue </em>and <em>dsp:param</em> tags can access RequestLocale with EL. EL is enumerated language so it requires the EL tag libraries as well(JSTL).<strong>*</strong></p>
<p style="text-align: justify;"><strong>*</strong> Not going into the details of JSTL as it will divert from the aim of this article, which is just to provide an understanding of the main DSP tags and attributes.</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/droplet-a-repository-query.html/' rel='bookmark' title='Permanent Link: Droplet &#038; A Repository Query'>Droplet &#038; A Repository Query</a></li><li><a href='http://www.three2tango.com/techcorner/understanding-atgthe-e-commerce-framework.html/' rel='bookmark' title='Permanent Link: Understanding-ATG(The e-Commerce Framework)'>Understanding-ATG(The e-Commerce Framework)</a></li><li><a href='http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/' rel='bookmark' title='Permanent Link: How to Use RQL in JAVA,ATG'>How to Use RQL in JAVA,ATG</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ideal Production Environment for an e-commerce site</title>
		<link>http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 08:32:40 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[ATG]]></category>
		<category><![CDATA[ATG framework]]></category>
		<category><![CDATA[ATG in E-commerce]]></category>
		<category><![CDATA[ATG Sear]]></category>
		<category><![CDATA[atg search]]></category>
		<category><![CDATA[ATG technology]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[electronic commerce]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[search engine]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3759</guid>
		<description><![CDATA[ production setup is normally an alien environment to normal developers. On top of the e-commerce site setup locally, a few patch ups needs to be done to work in the production environment or rather there are large differences. Before going into the details of a production scenario a few important things needs to be brought into your attention; Content Administration (CA), Search Indexer, and electronic Store front. CA is Content or data related thing, the ATG CA lets the product data and other data flow into our website. The ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searchadmin-ui-how-indexing-is-done.html/' rel='bookmark' title='Permanent Link: ATG SearchAdmin UI &#038; How Indexing is done?'>ATG SearchAdmin UI &#038; How Indexing is done?</a></li><li><a href='http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/' rel='bookmark' title='Permanent Link: ATG Search: A few key things to note'>ATG Search: A few key things to note</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://www.three2tango.com/wp-content/gallery/loy/ProdEnvironmt.JPG" title="" class="shutterset_singlepic989" >
	<img class="ngg-singlepic ngg-left" src="http://www.three2tango.com/wp-content/gallery/cache/989__250x240_ProdEnvironmt.JPG" alt="ProdEnvironmt.JPG" title="ProdEnvironmt.JPG" />
</a>
A production setup is normally an alien environment to normal developers. On top of the e-commerce site setup locally, a few patch ups needs to be done to work in the production environment or rather there are large differences. Before going into the details of a production scenario a few important things needs to be brought into your attention; Content Administration (CA), Search Indexer, and electronic Store front. CA is Content or data related thing, the ATG CA lets the product data and other data flow into our website. The need of a CA in a retail website is due the frequent change of data and the changes are to be done by the business itself not a database administrator. Search module of the website is clubbed to CA because it is also a portion which needs frequent business intervention. The search administration and merchandising modules are kept as part of the CA ear in a seperate server(<strong>Server1</strong>). The search indexer which does the indexing is kept in another server(<strong>Server-2</strong>), this server will have the indexing engine(<strong>ATGSearch.exe</strong>) in it. The index files generated will be put into a folder which is accessible to the answer servers as well. An answer server(<strong>AS-1,2,3</strong>) is a server which caters to the requests coming from the front end or the consumer side. For eg: a customer enter the webaddress, visits the website, he want to buy a TV, he searches for it, the search requests will be routed to different answer servers for load balancing. This is done through a routing module. The answer servers will look into the index files which is deployed in the shared folder.</p>
<p style="text-align: justify;">The Search Indexer does all the indexing jobs create the .IDX and .STG files. The estore servers(Server-3 &amp; 4) caters the store related requests. Each of the estore servers has many number of instances to handle large number of customer requests.</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searchadmin-ui-how-indexing-is-done.html/' rel='bookmark' title='Permanent Link: ATG SearchAdmin UI &#038; How Indexing is done?'>ATG SearchAdmin UI &#038; How Indexing is done?</a></li><li><a href='http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/' rel='bookmark' title='Permanent Link: ATG Search: A few key things to note'>ATG Search: A few key things to note</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Droplet &amp; A Repository Query</title>
		<link>http://www.three2tango.com/techcorner/droplet-a-repository-query.html/</link>
		<comments>http://www.three2tango.com/techcorner/droplet-a-repository-query.html/#comments</comments>
		<pubDate>Wed, 19 May 2010 10:08:45 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[Tech Corner]]></category>
		<category><![CDATA[ATG and java relation]]></category>
		<category><![CDATA[ATG droplets]]></category>
		<category><![CDATA[ATG framework]]></category>
		<category><![CDATA[ATG in E-commerce]]></category>
		<category><![CDATA[Repository Query Language]]></category>
		<category><![CDATA[RQL]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=2984</guid>
		<description><![CDATA[How to write a droplet??
How to execute a SELECT query in ATG repository??
A droplet is an ATG concept which is implemented with the help of java. We can say a droplet is complete when the java class and a properties file of the java class are combined. The scope of a droplet is always global. The droplet class extends DynamoServlet. It is same as that of a servlet class in java and it contains a service( ) method also. The two parameters of the service method are of type DynamoHttpServletRequest ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/' rel='bookmark' title='Permanent Link: How to Use RQL in JAVA,ATG'>How to Use RQL in JAVA,ATG</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/' rel='bookmark' title='Permanent Link: ATG Tag Library:DSP Tags'>ATG Tag Library:DSP Tags</a></li><li><a href='http://www.three2tango.com/techcorner/understanding-atgthe-e-commerce-framework.html/' rel='bookmark' title='Permanent Link: Understanding-ATG(The e-Commerce Framework)'>Understanding-ATG(The e-Commerce Framework)</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p>How to write a droplet??<br />
How to execute a SELECT query in ATG repository??</p>
<p style="TEXT-ALIGN: justify">A droplet is an ATG concept which is implemented with the help of java. We can say a droplet is complete when the java class and a properties file of the java class are combined. The scope of a droplet is always global. The droplet class extends DynamoServlet. It is same as that of a servlet class in java and it contains a service( ) method also. The two parameters of the service method are of type DynamoHttpServletRequest and DynamoHttpServletResponse. And it throws ServletException and IOException.<br />
Following the previous example of an Employee table (<a href="http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/ "><em><strong>refer</strong></em></a>), here also we are using the same itemDescriptor (<strong>employeeItemDescriptor</strong>) and same repository xml, for sake of clarity. Here the droplet is used to get the list of all employees (same names should not get repeated) and display it in dropdown list. A simple select query(select * from employeeTB) is used instead of using (select distinct EName from employeeTB). So the example will address both questions.</p>
<p style="TEXT-ALIGN: justify">Three key parts while addressing the questions are,<br />
1. JSP file where the employee names (EName) are displayed.<br />
2. The droplet class or the java class (employeeNamesDroplet.java).<br />
3. The corresponding properties file of the class (employeeNamesDroplet.properties)</p>
<p><strong>1.JSP File(test.jsp)</strong></p>
<pre name="code" language="C#">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
&lt;%@ taglib uri="/dspTaglib" prefix="dsp"%&gt;
&lt;%@ taglib uri="/dspCoreTaglib" prefix="core"%&gt;
&lt;dsp:importbean bean=" Folder Structure/employeeNamesDroplet "/&gt;
&lt;dsp:importbean bean="/atg/dynamo/droplet/ForEach" /&gt;
&lt;dsp:page&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt; Sample Page &lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;%-- page content --%&gt;
&lt;div&gt;
	&lt;div&gt; Employee Name &lt;/div&gt;&lt;div&gt;
   &lt;dsp:select bean="testFormHandler.eName" id="ddlENAME"&gt;
    &lt;dsp:option value="-1" selected="selected" &gt;Select&lt;/dsp:option&gt;
    &lt;%--Our droplet --%&gt;
	&lt;dsp:droplet name="folderStructure/employeeNamesDroplet"&gt;
        	  &lt;dsp:oparam name="output"&gt;
     &lt;%--ATG OUT OF THE BOX DROPLET --%&gt;
      	&lt;dsp:droplet name="/atg/dynamo/droplet/ForEach"&gt;
        	 &lt;dsp:param name="array" param="enameslist"/&gt;
	 &lt;dsp:oparam name="empty"&gt;
 &lt;dsp:option value="There are No Employee Names in DB"&gt;&lt;/dsp:option&gt;
	 &lt;/dsp:oparam&gt;
	 &lt;dsp:oparam name="output"&gt;
&lt;%--eid, employeename are property values from SampleRepositoryXML file --%&gt;
           &lt;dsp:getvalueof id="en" param="element.eid"&gt;
	    &lt;dsp:option value="&lt;%=en%&gt;"&gt;
	    &lt;dsp:valueof param="element.employeename"&gt;
	    &lt;/dsp:valueof&gt;
	    &lt;/dsp:option&gt;
	 &lt;/dsp:getvalueof&gt;
	&lt;/dsp:oparam&gt;
        	&lt;/dsp:droplet&gt;
       &lt;/dsp:oparam&gt;
      &lt;/dsp:droplet&gt;
     &lt;/dsp:select&gt;
   &lt;/div&gt;
&lt;/body&gt;
&lt;/dsp:page&gt;
&lt;/html&gt;</pre>
<p><strong>2.“employeeNamesDroplet”</strong></p>
<pre name="code" language="C#">import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import atg.repository.Query;
import atg.repository.Repository;
import atg.repository.RepositoryException;
import atg.repository.RepositoryItem;
import atg.repository.RepositoryView;
import atg.servlet.DynamoHttpServletRequest;
import atg.servlet.DynamoHttpServletResponse;
import atg.servlet.DynamoServlet;

public class employeeNamesDroplet extends DynamoServlet
{
private static final String OUTPUT = "output";
private static final String EMPTY = "empty";
private static final String E_NAMES="enameslist";
private Repository repository;
private String ItemDescriptor;

public void service(DynamoHttpServletRequest DHSRequest,DynamoHttpServletResponse DHSResponse) throws ServletException, IOException
{
   List eNamesList = getNames();
   if (eNamesList.size() &gt; 0)
  {
       	DHSRequest.setParameter(E_NAMES, eNamesList);
         	DHSRequest.serviceParameter(OUTPUT,DHSRequest,DHSResponse);
   } else {
	DHSRequest.serviceParameter(EMPTY,DHSRequest,DHSResponse);
	}
}

private List getNames(){
  List tempNames = new ArrayList();
  List eNames = new ArrayList();
  if(getRepository() != null){
	RepositoryView rView;
	Query query;
	try{
	rView = getRepository().getView(“employeeItemDescriptor”);
	query = (Query) rView.getQueryBuilder().createUnconstrainedQuery();
	RepositoryItem[] rItems = rView.executeQuery(query);
   for(int ri=0; ri &lt; rItems.length; )
   {if(tempNames.contains((String)(rItems[ri].getPropertyValue("employeename")))= = false)
    { tempNames.add((String)(rItems[ri].getPropertyValue("employeename")));
      eNames.add((RepositoryItem)rItems[ri]);
      ri++;
    }else{
 ri++;}
   	 }
}
catch(RepositoryException re)
{
System.out.print(“..”+re);
}
catch(Exception ex)
{System.out.print(“..”+ex);
}
}
return (List)eNames;
}// end of getnames method

public Repository getRepository() {
return repository;
}
public void setRepository(Repository repository) {
this.repository = repository;
}

}// end of the class</pre>
<p><strong>3.Properties File of the Droplet(“employeeNamesDroplet.properties”)</strong><br />
$class=droplet. employeeNamesDroplet<br />
$scope=global<br />
Repository = Give the name of your repository here.</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/' rel='bookmark' title='Permanent Link: How to Use RQL in JAVA,ATG'>How to Use RQL in JAVA,ATG</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-tag-librarydsp-tags.html/' rel='bookmark' title='Permanent Link: ATG Tag Library:DSP Tags'>ATG Tag Library:DSP Tags</a></li><li><a href='http://www.three2tango.com/techcorner/understanding-atgthe-e-commerce-framework.html/' rel='bookmark' title='Permanent Link: Understanding-ATG(The e-Commerce Framework)'>Understanding-ATG(The e-Commerce Framework)</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/droplet-a-repository-query.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ATG SearchAdmin UI &amp; How Indexing is done?</title>
		<link>http://www.three2tango.com/techcorner/atg-java/atg-searchadmin-ui-how-indexing-is-done.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/atg-searchadmin-ui-how-indexing-is-done.html/#comments</comments>
		<pubDate>Tue, 11 May 2010 13:47:11 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[adminUI in atg search]]></category>
		<category><![CDATA[ATG]]></category>
		<category><![CDATA[atg search]]></category>
		<category><![CDATA[ATG Search tool]]></category>
		<category><![CDATA[indexing in atg search]]></category>
		<category><![CDATA[Search Admin UIs]]></category>
		<category><![CDATA[search architecture]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3623</guid>
		<description><![CDATA[What I intend to share in this article is a familiarity towards the admin UI screens of the ATGsearch.This article will give you an idea on how search indexing is done, not the code but the front end working in the search application.This will give you a fair idea on what the search guy should do get the products indexed once the coding part is over.Or simply configuring the search project. Figure one shows the BCC(Business control center) which is configured by adding certain UIs in the ATGSearch module.
                   Figure ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/' rel='bookmark' title='Permanent Link: Ideal Production Environment for an e-commerce site'>Ideal Production Environment for an e-commerce site</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searcha-brief-note.html/' rel='bookmark' title='Permanent Link: ATG Search:A brief note'>ATG Search:A brief note</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">What I intend to share in this article is a familiarity towards the admin UI screens of the ATGsearch.This article will give you an idea on how search indexing is done, not the code but the front end working in the search application.This will give you a fair idea on what the search guy should do get the products indexed once the coding part is over.Or simply configuring the search project. Figure one shows the BCC(Business control center) which is configured by adding certain UIs in the ATGSearch module.<br />
                   Figure 2 shows the &#8220;<strong>Search Administration</strong>&#8221; tab with 4 different options.Search Project administration,New Search Project,Browse Search Projects,Open Search Workbench.Each of these will take you to different options for creating a search project or edit already created ones. Figure 3 and its sub shows how to create a project. Figure 4 shows a project you created and under the name of your project there are 4 steps, of which the last 3 are essential parts of configuring a search project. <strong>Content</strong> means adding or giving location of the file from which the indexing starts.It is normally  &#8220;<strong>ProductCatalogOutputConfig.properties</strong>&#8220;. <strong>Environment</strong> tab will help you set up  an environment for indexing, which tells where should the search engine run,in local setup your computer name is given. <strong>Indexing tab </strong>does the indexing job.</p>
<blockquote>
<p style="text-align: justify;"><em>Picture looks a bit blurred in the site but if you save it to your machine the claritty is better,regret the inconveniance.Also the pictures are numbered</em></p>
</blockquote>
<p style="text-align: justify;">
<div class="ngg-galleryoverview" id="ngg-gallery-112">


	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.three2tango.com/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=112&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-967" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_1.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_1.JPG" alt="S_1.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_1.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-968" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_2.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_2.JPG" alt="S_2.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_2.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-969" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_3_1.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_3_1.JPG" alt="S_3_1.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_3_1.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-970" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_4.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_4.JPG" alt="S_4.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_4.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-971" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_5.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_5.JPG" alt="S_5.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_5.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-972" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/S_6.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="S_6.JPG" alt="S_6.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_S_6.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 		
	<div id="ngg-image-973" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/s_3.JPG" title=" " class="shutterset_atgsearchadminui" >
				<img title="s_3.JPG" alt="s_3.JPG" src="http://www.three2tango.com/wp-content/gallery/atgsearchadminui/thumbs/thumbs_s_3.JPG" width="100" height="75" />
			</a>
		</div>
	</div>
	 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/' rel='bookmark' title='Permanent Link: Ideal Production Environment for an e-commerce site'>Ideal Production Environment for an e-commerce site</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searcha-brief-note.html/' rel='bookmark' title='Permanent Link: ATG Search:A brief note'>ATG Search:A brief note</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/atg-searchadmin-ui-how-indexing-is-done.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ATG Search Architecture</title>
		<link>http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/#comments</comments>
		<pubDate>Thu, 06 May 2010 10:29:26 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[ATG framework]]></category>
		<category><![CDATA[ATG in E-commerce]]></category>
		<category><![CDATA[atg repository]]></category>
		<category><![CDATA[atg search]]></category>
		<category><![CDATA[ATG technology]]></category>
		<category><![CDATA[index file and atg search]]></category>
		<category><![CDATA[routing in atg search]]></category>
		<category><![CDATA[search architecture]]></category>
		<category><![CDATA[search database]]></category>
		<category><![CDATA[search engine]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3610</guid>
		<description><![CDATA[Objective of the article: is to give a better understanding to a person who is new to this technology.This article will give the reader a walk through on what s/he is going to do and s/he will see once the ATG Search installation is done and also how the entire Search structure pieces fit in.
                      ATG search runs with a standard platform installation.Search requires high performance, so it is better dedicating a seperate machine for the search purposes.
Components of Search 
Search Administration:
        Is the interface where we create projects, index ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/' rel='bookmark' title='Permanent Link: Ideal Production Environment for an e-commerce site'>Ideal Production Environment for an e-commerce site</a></li><li><a href='http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/' rel='bookmark' title='Permanent Link: ATG Search: A few key things to note'>ATG Search: A few key things to note</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/how-to-install-atg-search.html/' rel='bookmark' title='Permanent Link: How to install ATG Search'>How to install ATG Search</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="TEXT-ALIGN: justify"><strong>Objective of the article:</strong> is to give a better understanding to a person who is new to this technology.This article will give the reader a walk through on what s/he is going to do and s/he will see once the ATG Search installation is done and also how the entire Search structure pieces fit in.</p>
<p style="TEXT-ALIGN: justify">                      ATG search runs with a standard platform installation.Search requires high performance, so it is better dedicating a seperate machine for the search purposes.</p>
<p style="TEXT-ALIGN: justify"><span style="text-decoration: underline;"><strong>Components of Search </strong><br />
</span><strong>Search Administration:</strong><br />
        Is the interface where we create projects, index the data, add content,setting auto indexing rules,deploy indexes etc.We should have only one instance of search administartion in our installation.The SearchAdmin.AdminUI module is required to run the search administration.</p>
<p style="TEXT-ALIGN: justify"><strong>Search Engine:</strong><br />
        It serves answers to queries generated by end users.Our installation can have any number of search engines.But make sure only one engine runs per processor.ATG docs say a single search engine can take upto 1.4GB of memory.The &#8220;<a href="http://www.atg.com/en/company/dynamo.jhtml">DAF</a>.Search.Routing&#8221; module starts the Search engines locally or remotely.It co-ordinates the communication between client application, the search database and the answer servers(search engines).</p>
<p style="TEXT-ALIGN: justify">
<a href="http://www.three2tango.com/wp-content/gallery/loy/search_arch.JPG" title="" class="shutterset_singlepic964" >
	<img class="ngg-singlepic ngg-center" src="http://www.three2tango.com/wp-content/gallery/cache/964__320x240_search_arch.JPG" alt="search_arch.JPG" title="search_arch.JPG" />
</a>
</p>
<p style="TEXT-ALIGN: justify"><strong>Search Database:</strong><br />
        Consists of two repositories, one consists of information of search engine,index structure and deployment information.The other repository stores information about users and the search administration. Search engine, administration and routing should have access to the &#8220;<em>shared deployment directory</em>&#8220;. This directory is the place where the master copy of index files are stored. Search engine and routing should have access to directory in order to deploy the indexes.</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/ideal-production-environment-for-an-e-commerce-site.html/' rel='bookmark' title='Permanent Link: Ideal Production Environment for an e-commerce site'>Ideal Production Environment for an e-commerce site</a></li><li><a href='http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/' rel='bookmark' title='Permanent Link: ATG Search: A few key things to note'>ATG Search: A few key things to note</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/how-to-install-atg-search.html/' rel='bookmark' title='Permanent Link: How to install ATG Search'>How to install ATG Search</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install ATG Search</title>
		<link>http://www.three2tango.com/techcorner/atg-java/how-to-install-atg-search.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-java/how-to-install-atg-search.html/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 13:23:43 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[ATG]]></category>
		<category><![CDATA[atg search]]></category>
		<category><![CDATA[atg search & nlp]]></category>
		<category><![CDATA[ATG technology]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3536</guid>
		<description><![CDATA[          For installing and using ATG Search, we need to get ATG licenced install files from ATG, which include a set of EXE files a few JAR files which contains the patches and latest updates. When you have all the necessary files you can start the job. The very first thing you need to install is the
1.ATG2007_1.exe
2.ATG-Merchandising2007_1.exe
3.ATGSearch2007_1-Windows.exe
          With these three files the basic installation is over, now a set of patches need to be installed.
ATG2007_1_p1: This is usually supplied as a JAR file.Open th JAR file using winzip or some similar application.You ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searcha-brief-note.html/' rel='bookmark' title='Permanent Link: ATG Search:A brief note'>ATG Search:A brief note</a></li><li><a href='http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/' rel='bookmark' title='Permanent Link: ATG Search: A few key things to note'>ATG Search: A few key things to note</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="TEXT-ALIGN: justify">          For installing and using ATG Search, we need to get ATG licenced install files from ATG, which include a set of EXE files a few JAR files which contains the patches and latest updates. When you have all the necessary files you can start the job. The very first thing you need to install is the</p>
<p style="TEXT-ALIGN: justify"><strong>1.ATG2007_1.exe<br />
2.ATG-Merchandising2007_1.exe<br />
3.ATGSearch2007_1-Windows.exe</strong></p>
<p style="TEXT-ALIGN: justify">          With these three files the basic installation is over, now a set of patches need to be installed.<br />
<strong>ATG2007_1_p1:</strong> This is usually supplied as a JAR file.Open th JAR file using winzip or some similar application.You will find a readme file which will tell you perfectly, how to do the installation and uninstallation of the patches. Incase the readme is not there here are the steps:<br />
<strong>1.</strong> Shut down ATG 2007.1. If SOLID is running, you must also shut down SOLID before installing the patch. You must also shut down any HTTP servers you may have running.<br />
<strong>2.</strong> Download/copy the    <strong>ATG2007_1_p1.jar</strong>    file to your patch directory.<br />
<strong>3.</strong> From the command prompt, unjar the patch archive file using the command:<strong> &#8221; jar xvf ATG2007_1_p1.jar &#8220;. </strong>This command creates a directory named  <strong>ATG2007.1_p1 </strong> that contains the patch files.<br />
<strong>4.</strong> Change to the newly created directory. <strong>WARNING:</strong> Do not modify or delete files in the patch directory(/patch/ATG2007.1_p1) at any time. Modifying or deleting these files will prevent subsequent installation or uninstallation of patch files.<br />
<strong>5.</strong> Run the install script using the following command:<br />
<strong>On Windows: bin\install.bat<br />
</strong>On UNIX: bin/install.sh<br />
The script will install and update several files in your ATG 2007.1 installation.</p>
<p style="TEXT-ALIGN: justify"><strong>ATG2007_1_p2 :</strong> The step involved in installing this patch is same as that of the above.</p>
<p style="TEXT-ALIGN: justify">Now a few search specific hotfixes are there; which are to be installed inside the Search Directory. Make a folder named hotfix inside the Search2007.1 directory. Unjar the jar file named pr147589_tld. There are <strong>two</strong> hotfixes mainly and steps for installation are explained below.</p>
<p style="TEXT-ALIGN: justify"><strong>Hotfix jsp<br />
</strong>(1) Backup folder {DYNAMO_HOME}\Search2007.1\SearchAdmin\AdminUI\j2ee-apps\AdminUI.ear\AdminUI.war<br />
(2) Unjar the pr147589_jsp.jar file into the {DYNAMO_HOME}\Search2007.1\SearchAdmin\AdminUI\j2ee-apps\AdminUI.ear\AdminUI.war<br />
directory to extract the modified jsp files.</p>
<p><strong>Hotfix tld<br />
1.</strong> Create a hotfix directory and place pr147589_tld.jar into it (e.g., /hotfix/pr147589_tld.jar).<br />
<strong>2.</strong>Copy {DYNAMO_HOME}\Search2007.1\SearchAdmin\AdminUI\j2ee-apps\AdminUI.ear\AdminUI.war\WEB-INF\lib\searchadminui1_0.jar into the directory created in (1)<br />
<strong>3.</strong>Unjar the pr147589_tld.jar into the directory created in (1)<br />
<strong>4.Run the command:</strong> jar umf META-INF/MANIFEST.MF searchadminui1_0.jar atg/searchadmin/adminui/taglib/ui/elwrap/PagingTagWrapper.class atg/searchadmin/adminui/taglib/ui/PagingTag.class META-INF/searchadminui1_0.tld META-INF/searchadminuiEL1_0.tld<br />
<strong>5.</strong>Copy the updated file searchadminui1_0.jar back to {DYNAMO_HOME}\Search2007.1\SearchAdmin\AdminUI\j2ee-apps\AdminUI.ear\AdminUI.war\WEB-INF\lib<br />
Note: assuming that the AdminUI.war was backed up in (I-1)</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searcha-brief-note.html/' rel='bookmark' title='Permanent Link: ATG Search:A brief note'>ATG Search:A brief note</a></li><li><a href='http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/' rel='bookmark' title='Permanent Link: ATG Search: A few key things to note'>ATG Search: A few key things to note</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-java/how-to-install-atg-search.html/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Evolution Of Java</title>
		<link>http://www.three2tango.com/techcorner/the-evolution-of-java.html/</link>
		<comments>http://www.three2tango.com/techcorner/the-evolution-of-java.html/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 00:36:28 +0000</pubDate>
		<dc:creator>Dileep</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[Tech Corner]]></category>
		<category><![CDATA[Core Java]]></category>
		<category><![CDATA[corporate readiness program at wipro]]></category>
		<category><![CDATA[FRP]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Object-oriented]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Project Readiness Program]]></category>
		<category><![CDATA[wipro talent transformation]]></category>
		<category><![CDATA[Wipro Technologies Training]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3550</guid>
		<description><![CDATA[
Smalltalk, the first object-oriented language, had a major influence on the design of Java.
Key founders &#8211; James Gosling, Patrick Naughton, Chris Warth, Ed Frank, &#38; Frank Sheridan.
Was initially called Oak. Got renamed Java in 1995.

Design Goals

Was originally meant to be a platform-neutral language for embedded-software in devices.
The goal was to move away from platform and OS-specific compilers.
The language could be used to produce platform-neutral code.

Role of WWW

The World Wide Web played a catalytic role in the evolution of Java.
The emergence of the WWW propelled the rise of Java because the ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/c-language-fundamentals.html/' rel='bookmark' title='Permanent Link: C Language &#8211; Fundamentals'>C Language &#8211; Fundamentals</a></li><li><a href='http://www.three2tango.com/techcorner/pointers.html/' rel='bookmark' title='Permanent Link: Pointers'>Pointers</a></li><li><a href='http://www.three2tango.com/techcorner/functions.html/' rel='bookmark' title='Permanent Link: Functions'>Functions</a></li></ol>]]></description>
			<content:encoded><![CDATA[<ul>
<li><strong>Smalltalk</strong>, the first object-oriented language, had a major influence on the design of <strong>Java</strong>.</li>
<li>Key founders &#8211; James Gosling, Patrick Naughton, Chris Warth, Ed Frank, &amp; Frank Sheridan.</li>
<li>Was initially called <strong>Oak</strong>. Got renamed Java in 1995.</li>
</ul>
<p><span style="text-decoration: underline;">Design Goals</span></p>
<ul>
<li>Was originally meant to be a platform-neutral language for embedded-software in devices.</li>
<li>The goal was to move away from platform and OS-specific compilers.</li>
<li>The language could be used to produce platform-neutral code.</li>
</ul>
<p><span style="text-decoration: underline;">Role of WWW</span></p>
<ul>
<li>The World Wide Web played a catalytic role in the evolution of Java.</li>
<li>The emergence of the WWW propelled the rise of Java because the WWW demanded portability.</li>
<li>The scope of the language therefore widened from embedded controllers to the Internet.</li>
</ul>
<ul>
<li>Java made the Internet host of dynamic self-executing programs.</li>
<li>Applets are dynamic self-executing programs that Java made possible.</li>
<li>It can react to user input, and dynamically change the content of Web pages in which they are embedded.</li>
</ul>
<p><span style="text-decoration: underline;">The Java Architecture</span></p>
<ul>
<li>Bytecode is the key to both security and portability.</li>
<li>Write source code.</li>
<li>Compile to bytecode contained in .class files.</li>
<li>Bytecode is a highly optimized set of instructions.</li>
<li>Bytecode is executed by the Java Virtual Machine(JVM).</li>
<li>The JVM is an interpreter for bytecode.</li>
</ul>
<p><span style="text-decoration: underline;">Java Virtual Machine &#8211; JVM</span></p>
<ul>
<li>The JVM will differ from platform to platform, and is, platform-specific.</li>
<li>All versions of JVM interpret the same Java bytecode.Interpreted code runs much slower compared to executable code.</li>
<li>The use of bytecode enables Java runtime system to execute programs much faster.</li>
<li>Java facilitates on-the-fly compilation of bytecode into native code.</li>
<li>When a program is interpreted, it generally runs substantially slower than it would run if compiled to executable code. However, with Java, the difference between the two is not so great. The use of bytecodes makes this possible.</li>
</ul>
<p><span style="text-decoration: underline;">The Adaptive Optimizer</span></p>
<ul>
<li>Another type of execution engine is the adaptive optimizer.</li>
<li>Identifies the most heavily used areas of code, and optimizes these.</li>
<li>The rest of the code, which is not heavily used, remain as bytecodes which the virtual machine continue to interpret.</li>
</ul>
<p><span style="text-decoration: underline;">The Class Loader</span></p>
<ul>
<li>The class loader is that part of the VM that is important from a security standpoint, and for network mobility.</li>
<li>The class loader loads a compiled Java source file(.class files represented as bytecode) into the Java Virtual Machine(JVM).</li>
<li>The bootstrap class loader loads classes, including the classes of the Java API, in some default way from the local disk.</li>
<li>Bootstrap class loader &#8211; also called primordial class loader or default class loader.</li>
</ul>
<p><span style="text-decoration: underline;">The Java .class file</span> &#8211; The Java class file helps make Java suitable for networks mainly in the areas of &#8211; platform independence and network mobility.</p>
<p>The Java language allows you to write programs that take advantage of many software technologies &#8211; object-orientation, multithreading, structured error-handling, garbage collection, dynamic linking, dynamic extension.</p>
<p><span style="text-decoration: underline;">The Java Buzzwords</span></p>
<ul>
<li>Simple &#8211; Small language, large libraries. Small interpreter(40 k), but large runtime libraries(175 k).</li>
<li>Object-Oriented &#8211; Supports encapsulation, inheritance, abstraction, and polymorphism.</li>
<li>Distributed &#8211; Libraries for network programming. Remote Method Invocation.</li>
<li>Architecture neutral &#8211; Java bytecodes are interpreted by the JVM.</li>
<li>Secure &#8211; Difficult to break Java security mechanisms. Java Bytecode verification. Signed Applets.</li>
<li>Portable &#8211; Primitive data type sizes and their arithmetic behavior specified by the language. Libraries define portable interfaces.</li>
<li>Mutithreaded &#8211; Threads are easy to create and use.</li>
<li>Dynamic &#8211; Finding Runtime Type Information is easy.</li>
</ul>
<p><span style="text-decoration: underline;">Functions</span></p>
<ul>
<li>Functions are the building blocks of a Java program.</li>
<li>main() is the first function to be executed.</li>
<li>return_type function_name(argument list)</li>
<li>Prototyping required but variable name is not necessary.</li>
</ul>
<blockquote><p>public class Hello {<br />
public statis void main(String [] args) {<br />
System.out.println(&#8221;Hello World&#8221;);<br />
}<br />
}</p></blockquote>
<p>Compilation &#8211; javac Hello.java<br />
Execution &#8211; java Hello</p>
<p>A static member of a class is independent of instances of the class, and a static method can therefore be invoked without creating an object of the class.<br />
The main() is declared as public to ensure it&#8217;s visibility outside it&#8217;s class, i.e, to the Java Runtime Environment.</p>
<p><span style="text-decoration: underline;">Data Types</span></p>
<ul>
<li>Integer &#8211; int, long, short, byte</li>
<li>Character &#8211; char, String</li>
<li>Floating Point &#8211; float, double</li>
<li>Boolean</li>
</ul>
<ul>
<li>A variable is an item of data named by an identifier.</li>
<li>Scope- The section of code where the variable&#8217;s simple name can be used is the variable&#8217;s scope.</li>
<li>The Java programming language has two categories of data types &#8211; primitive and reference. A variable of primitive type contains a value.</li>
</ul>
<ul>
<li>Java is a strongly typed language.</li>
<li>The Java compiler enforces type checking of each assignment made in a program at compile time.</li>
<li>If the type checking fails, then a compile-time error is issued.</li>
</ul>
<ul>
<li>Strong typing facilitates two functions of the same name to coexist.</li>
<li>A function signature constitutes the function name, the number, order and the data type of the arguments.</li>
<li>Such functions are said to be overloaded.</li>
</ul>
<p>The final keyword &#8211; Mechanism of telling the compiler that a piece of data is &#8220;constant&#8221;.</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/c-language-fundamentals.html/' rel='bookmark' title='Permanent Link: C Language &#8211; Fundamentals'>C Language &#8211; Fundamentals</a></li><li><a href='http://www.three2tango.com/techcorner/pointers.html/' rel='bookmark' title='Permanent Link: Pointers'>Pointers</a></li><li><a href='http://www.three2tango.com/techcorner/functions.html/' rel='bookmark' title='Permanent Link: Functions'>Functions</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/the-evolution-of-java.html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ATG Search: A few key things to note</title>
		<link>http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/</link>
		<comments>http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 12:18:52 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
				<category><![CDATA[ATG & Java]]></category>
		<category><![CDATA[Tech Corner]]></category>
		<category><![CDATA[ATG and java relation]]></category>
		<category><![CDATA[ATG framework]]></category>
		<category><![CDATA[ATG in E-commerce]]></category>
		<category><![CDATA[atg search]]></category>
		<category><![CDATA[ATG technology]]></category>
		<category><![CDATA[form handlers in ATG]]></category>

		<guid isPermaLink="false">http://www.three2tango.com/?p=3485</guid>
		<description><![CDATA[While answering the question, what is a commerce search?? the key concepts one must explain is the difference of a normal keyword search and a commerce search.ATG Search will help you in setting up a commerce search in your website. Implementing a Commerce Search on your site involves the following steps:
1. Specify repository items and attributes to index through an XML file.
2. Based on the information in the XML file, the repository items are transformed into XHTML documents.
3. These XHTML documents are indexed by ATG Search.
4. Using search forms in ...


Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searcha-brief-note.html/' rel='bookmark' title='Permanent Link: ATG Search:A brief note'>ATG Search:A brief note</a></li><li><a href='http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/' rel='bookmark' title='Permanent Link: How to Use RQL in JAVA,ATG'>How to Use RQL in JAVA,ATG</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li></ol>]]></description>
			<content:encoded><![CDATA[<p style="TEXT-ALIGN: justify">While answering the question, what is a commerce search?? the key concepts one must explain is the difference of a normal keyword search and a commerce search.ATG Search will help you in setting up a commerce search in your website. Implementing a Commerce Search on your site involves the following steps:<br />
<strong>1.</strong> Specify repository items and attributes to index through an XML file.<br />
<strong>2.</strong> Based on the information in the XML file, the repository items are transformed into XHTML documents.<br />
<strong>3.</strong> These XHTML documents are indexed by ATG Search.<br />
<strong>4. </strong>Using search forms in your website(form handlers that communicate with ATG Search), visitors can search through these indexed documents.</p>
<p style="TEXT-ALIGN: justify">There are a couple of formhandlers which are out of the box components and are used to build forms for issuing queries to the ATG Search.These formhandlers are provided inside the package &#8220;<strong>atg.search.query.formhandlers</strong>&#8220;.</p>
<ol>
<li>
<div style="TEXT-ALIGN: justify">QueryFormHandler</div>
</li>
<li>
<div style="TEXT-ALIGN: justify">StructuredQueryFormHandler</div>
</li>
<li>
<div style="TEXT-ALIGN: justify">BrowseFormHandler</div>
</li>
<li>
<div style="TEXT-ALIGN: justify">ViewInContextFormHandler</div>
</li>
<li>
<div style="TEXT-ALIGN: justify">SimilarDocsFormHandler</div>
</li>
<li>
<div style="TEXT-ALIGN: justify">CategorizeFormHandler</div>
</li>
</ol>
<p style="TEXT-ALIGN: justify">All the above form handlers extends from an abstract class &#8220;<strong>BaseSearchFormHandler</strong>&#8220;.Another important class is a &#8220;<strong>SearchContext</strong>&#8221; class which is a session scoped component for maintaining state information between requests.</p>


<p>Related posts:<ol><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-searcha-brief-note.html/' rel='bookmark' title='Permanent Link: ATG Search:A brief note'>ATG Search:A brief note</a></li><li><a href='http://www.three2tango.com/techcorner/how-to-use-rql-in-javaatg.html/' rel='bookmark' title='Permanent Link: How to Use RQL in JAVA,ATG'>How to Use RQL in JAVA,ATG</a></li><li><a href='http://www.three2tango.com/techcorner/atg-java/atg-search-architecture.html/' rel='bookmark' title='Permanent Link: ATG Search Architecture'>ATG Search Architecture</a></li></ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.three2tango.com/techcorner/atg-search-a-few-key-things-to-note.html/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
