<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Raghu Yadav&apos;s Weblog</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/" />
   <link rel="self" type="application/atom+xml" href="http://blogs.oracle.com/raghuyadav/xml/rss.xml" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193</id>
   <updated>2008-11-12T10:46:02Z</updated>
   <subtitle>Development Experience</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type Enterprise 1.52-en-voltron-r47459-20070213</generator>

<entry>
   <title>How to deploy ADF Application on Oracle WebLogic 10.3</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/11/how_to_deploy_adf_application.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.8551</id>
   
   <published>2008-11-12T10:36:30Z</published>
   <updated>2008-11-12T10:46:02Z</updated>
   
   <summary>Referring superb demo given by shay and below two links I successfully deployed ADF SRDemo and our Inhouse PSR Rocket Automation tool developed using ADF 10.1.3.3 into Oracle WebLogic 10.3 Application Server. Links : weblogic on windows http://www.oracle.com/technology/products/jdev/howtos/weblogic/deployingwls.html weblogic on...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="weblogic" label="WebLogic" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>Referring superb demo given by shay and below two links I successfully deployed ADF SRDemo and our Inhouse PSR Rocket Automation tool developed using ADF 10.1.3.3 into Oracle WebLogic 10.3 Application Server.</p>

<p>Links :<br />
weblogic on windows <br />
<a href="http://www.oracle.com/technology/products/jdev/howtos/weblogic/deployingwls.html">http://www.oracle.com/technology/products/jdev/howtos/weblogic/deployingwls.html</a></p>

<p>weblogic on linux<br />
<a href="http://blog.fekw.de/2008/08/23/howto-install-adf-10-runtime-and-deploy-adf-bc-app-to-oracle-weblogic-103-running-on-linux/">http://blog.fekw.de/2008/08/23/howto-install-adf-10-runtime-and-deploy-adf-bc-app-to-oracle-weblogic-103-running-on-linux/</a></p>

<p>You may notice unable to checkout application module exceptions even after referring above links, to rectify this you need to cross check your ADF Runtime library are properly installed to weblogic BC4J directory, if not you can copy jdeveloper BC4J jlib/lib jar into weblogic BC4j jlib/lib directory.</p>]]>
      
   </content>
</entry>
<entry>
   <title>How to Consume selected messages - Oracle AQJMS</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/10/how_to_consume_selected_messag.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.8387</id>
   
   <published>2008-10-31T10:41:23Z</published>
   <updated>2008-10-31T10:47:03Z</updated>
   
   <summary>Set Correlation ID in JMS Client1 code using below statement . Message mesg = m_queueSess.createTextMessage(&quot;Test Message&quot;); mesg.setJMSCorrelationID(&quot;Fusion&quot;); Use condition as &quot;JMSCorrelationID LIKE &apos;Fus%&apos;&quot; as second argument in createReceiver API in JMS Client2 code. QueueReceiver m_receiver=m_queueSess.createReceiver(m_queue, &quot;JMSCorrelationID LIKE &apos;Fus%&apos;&quot;); createReceiver function...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>Set Correlation ID in JMS Client1 code using below statement .</p>

<p><em><strong>Message mesg  = m_queueSess.createTextMessage("Test Message");<br />
mesg.setJMSCorrelationID("Fusion");</strong></em></p>

<p><br />
Use condition as "JMSCorrelationID LIKE 'Fus%'"  as second argument in createReceiver API in JMS Client2 code.</p>

<p><em><strong>QueueReceiver m_receiver=m_queueSess.createReceiver(m_queue, "JMSCorrelationID LIKE 'Fus%'");</strong></em></p>

<p>createReceiver function creates receiver object only if it matches the condition given.<br />
</p>]]>
      
   </content>
</entry>
<entry>
   <title>SetActionListener settings when Dialog used in Action - ADF 10.1.3.3</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/10/setactionlistener_settings_whe.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.8353</id>
   
   <published>2008-10-29T08:17:38Z</published>
   <updated>2008-10-29T08:55:21Z</updated>
   
   <summary>Use sessionScope or ApplicationScope in 10g or pageFlowScope in 11g if Dialog is used in action as shown below. id=&quot;commandMenuItem4&quot; icon=&quot;../../image/result.gif&quot; action=&quot;dialog:GlobalRegressionComponentSummary&quot; actionListener=&quot;#{Back_RegressionComponentTopLevelSummary.setPageNameProp}&quot; useWindow=&quot;true&quot; windowHeight=&quot;500&quot; windowWidth=&quot;300&quot;&gt; to=&quot;#{requestScope.currentTargetLabel}&quot;/ don&apos;t use this option&gt; to=&quot;#{sessionScope.currentTargetLabel}&quot;/&gt;...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="adf10" label="ADF10" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>Use sessionScope or ApplicationScope in 10g or pageFlowScope in 11g if Dialog is used in action as shown below.</p>

<p><af:commandMenuItem binding="#{Back_RegressionComponentTopLevelSummary.commandMenuItem4}"<br />
                                            id="commandMenuItem4"<br />
                                            icon="../../image/result.gif"<br />
                                            action="<strong>dialog:GlobalRegressionComponentSummary</strong>"<br />
                                            actionListener="#{Back_RegressionComponentTopLevelSummary.setPageNameProp}"<br />
                                            useWindow="true" windowHeight="500"<br />
                                            windowWidth="300"><br />
                          <af:setActionListener from="#{detailRow.Tl}"<br />
                                                to=<em><strong>"#{requestScope.currentTargetLabel}"/ don't use this option</strong></em>><br />
   to=<strong>"#{sessionScope.currentTargetLabel}"/</strong>><br />
                        </af:commandMenuItem></p>]]>
      
   </content>
</entry>
<entry>
   <title>Message Persistence - Oracle AQJMS</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/10/message_persistence_oracle_aqj.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.8288</id>
   
   <published>2008-10-24T12:17:54Z</published>
   <updated>2008-10-27T10:08:27Z</updated>
   
   <summary>The PERSISTENT delivery mode, which is the default, instructs the JMS provider to take extra care to ensure that a message is not lost in transit in case of a JMS provider failure. A message sent with this delivery mode...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="aqjms" label="AQJMS" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>The <strong>PERSISTENT delivery mode</strong>, which is the default, instructs the JMS provider to take extra care to ensure that a message is not lost in transit in case of a JMS provider failure.<strong> A message sent with this delivery mode is logged to stable storage </strong>when it is sent. </p>

<p>Change the message send statement as shown below </p>

<p><em> m_sender.send(mesg, 1, 2, 3000);	</em> - Use below statement to set priority level to individual messages</p>

<p>Expire the message sent after 3 seconds and priority level set to 2 </p>

<p><strong>m_sender.setPriority(2)</strong> - Use this statement to set priorty 2 to all messages sent.</p>

<p>.<br />
<strong>m_sender.setTimeToLive (3000)</strong> - Use this statement to set Expiration time to all messages sent.</p>

<p><strong>priority levels :  0 (lowest) - 9 (highest)</strong><br />
<strong>default : 4</strong></p>

<p><strong>Message with highest priority send first.</strong></p>

<p>The NON_PERSISTENT delivery mode does not require the JMS provider to store the message or otherwise guarantee that it is not lost if the provider fails.<br />
Using the NON_PERSISTENT delivery mode may improve performance and reduce storage overhead, but you should use it only if your application can afford to miss messages</p>

<p><em>        TemporaryQueue m_queue=m_queueSess.createTemporaryQueue();<br />
        QueueSender m_sender=m_queueSess.createSender(m_queue);</em></p>]]>
      
   </content>
</entry>
<entry>
   <title>Transacted and Non Transacted Sessions - Oracle AQJMS</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/10/transacted_and_non_transacted.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.8273</id>
   
   <published>2008-10-23T13:44:16Z</published>
   <updated>2008-10-23T13:55:58Z</updated>
   
   <summary>Oracle AQJMS Transacted &amp; Not Transacted Session Example. A session provides a transactional context with which to group a set of sends and receives into an atomic unit of work. 1. Remove Non Transacted statement shown below in JMSClient1 and...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="aqjms" label="AQJMS" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>Oracle AQJMS Transacted & Not Transacted Session Example.</p>

<p>A session provides a transactional context with which to group a set of sends and receives into an atomic unit of work.</p>

<p>1. Remove Non Transacted statement shown below in JMSClient1 and JMSClient2 classes from Example1 </p>

<p>	<em> QueueSession m_queueSess = qc.createQueueSession(false, Session.AUTO_ACKNOWLEDGE)</em></p>

<p>2. Add Transacted statement shown below in JMSClient1 and JMSClient2 classes in the Example1</p>

<p>	 <em>QueueSession m_queueSess = qc.createQueueSession(true, 0);</em></p>

<p><br />
3. Create MultipleText Messages in JMSClient1</p>

<p>	<em> Message mesg1  = m_queueSess.createTextMessage("Test1 Message");<br />
	 Message mesg2  = m_queueSess.createTextMessage("Test2 Message");</em></p>

<p>4. send Above messages to Q. </p>

<p>	<em> m_sender.send(mesg1);<br />
	 m_sender.send(mesg2);</em></p>

<p>5. The Above <strong>Messages gets Queued only if you call Session Commit </strong>statement after sending message to Q else Messages are rollback.</p>

<p>	<em>m_queueSess.Commit();</em></p>

<p>6. Receive Above messages from Q in JMSClient2. </p>

<p>	<em> m_sender.receive(mesg);<br />
	 m_sender.receive(mesg);</em></p>

<p>5. The Above Messages removed from Queue only if you call Session Commit statement after receiving message from Q else <strong>Messages are remain in Q after maximum<br />
retry is reached</strong>.</p>

<p>	<em>m_queueSess.Commit();</em></p>]]>
      
   </content>
</entry>
<entry>
   <title>How to Use JMS to Send Text Messages B/W 2 Clients - Oracle AQJMS</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/10/oracle_aqjms_samples.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.8270</id>
   
   <published>2008-10-23T11:42:05Z</published>
   <updated>2008-10-23T13:51:15Z</updated>
   
   <summary>Sample Peer-to-Peer Oracle AQJMS program to send &amp; receive Text Messages between two Clients. Ensure you enabled JMS option while installing 11g Database. JMSProvider is the JMS Demon Services running in Oracle 11g Database. 1. JMS Destination is the Queue...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="aqjms" label="AQJMS" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>Sample Peer-to-Peer Oracle AQJMS program to send & receive Text Messages between two Clients.</p>

<p>Ensure you enabled JMS option while installing 11g Database.<br />
JMSProvider is the JMS Demon Services running in Oracle 11g Database.</p>

<p>1. JMS Destination is the Queue created with Oracle11g database using below scripts.<br />
    Execute below 3 scripts in your database.</p>

<p><em>rem ==========================================<br />
rem Create a queue table  R_RYSAMPLE_QT<br />
rem ==========================================</p>

<p>DECLARE<br />
BEGIN<br />
	dbms_output.put_line ('Creating Queue Table R_RYSAMPLE_QT...');</p>

<p>	dbms_aqadm.CREATE_queue_table(<br />
		queue_table => 'R_RYSAMPLE_QT',<br />
		queue_payload_type => 'SYS.AQ$_JMS_TEXT_MESSAGE',<br />
		sort_list=> 'ENQ_TIME,PRIORITY',<br />
		multiple_consumers => FALSE,<br />
		compatible => '8.1.0',		<br />
		message_grouping=> DBMS_AQADM.NONE, 		<br />
		primary_instance=> '0', <br />
		secondary_instance=> '0',<br />
		comment => 'Creating Queue Table R_RYSAMPLE_QT');</p>

<p>	dbms_output.put_line ('Created Queue Table R_RYSAMPLE_QT.');</p>

<p>exception<br />
	when others then<br />
		catch_error(SQLCODE, 'Create Queue Table ' || substr(SQLERRM, 1, 256));<br />
END;<br />
/</p>

<p>rem ==========================================<br />
rem Create a queue R_RYSAMPLE_Q<br />
rem ==========================================</p>

<p>DECLARE<br />
BEGIN<br />
	dbms_output.put_line ('Creating Queue R_RYSAMPLE_Q...');</p>

<p>	dbms_aqadm.CREATE_queue(<br />
		queue_name => 'R_RYSAMPLE_Q',<br />
		queue_table => 'R_RYSAMPLE_QT',<br />
		queue_type=> DBMS_AQADM.NORMAL_QUEUE, <br />
		max_retries=> '5', <br />
		retry_delay=> '0', <br />
		retention_time=> '0',<br />
		comment => 'Resource Registration Queue');<br />
    <br />
	dbms_output.put_line ('Created Queue R_RYSAMPLE_Q.');</p>

<p>exception<br />
	when others then<br />
		catch_error(SQLCODE, 'Create Queue ' || substr(SQLERRM, 1, 256));<br />
END;<br />
/</p>

<p></p>

<p>rem ====================================<br />
rem Start input queue R_RYSAMPLE_Q<br />
rem ====================================</p>

<p>DECLARE<br />
BEGIN<br />
	dbms_output.put_line('starting queue R_RYSAMPLE_Q...');</p>

<p>	dbms_aqadm.start_queue(<br />
		queue_name => 'R_RYSAMPLE_Q');</p>

<p>	dbms_output.put_line ('Started Queue R_RYSAMPLE_Q.');</p>

<p>exception<br />
	when others then<br />
		catch_error(SQLCODE, 'Start Queue ' || substr(SQLERRM, 1, 256));<br />
END;<br />
/</em></p>

<p>2. JMS Client programs shown below.</p>

<p><br />
<strong>JMS Client 1 :</strong></p>

<p><em><br />
package jms;</p>

<p><br />
import javax.jms.JMSException;<br />
import javax.jms.Message;<br />
import javax.jms.Queue;<br />
import javax.jms.QueueConnection;<br />
import javax.jms.QueueConnectionFactory;</p>

<p>import javax.jms.QueueSender;<br />
import javax.jms.QueueSession;</p>

<p>import javax.jms.Session;</p>

<p>import oracle.jms.*;</p>

<p><br />
public class jmsdemo {<br />
   // public QueueConnection qc=null;<br />
    public jmsdemo() {<br />
    }</p>

<p>    public void QSendFunction () {</p>

<p>        QueueConnection qc=null;<br />
        try {<br />
       <br />
	 QueueConnectionFactory qcf =  AQjmsFactory.getQueueConnectionFactory("databaseHostName", "SID", port, "thin");<br />
        qc = qcf.createQueueConnection("userid", "passwd");<br />
       <br />
        //Message delivery does not begin until you start the connection you created by calling the start method <br />
        qc.start();<br />
        <br />
        //session is not transacted<br />
        QueueSession m_queueSess = qc.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);<br />
                <br />
        <br />
        // Destination is Queue created in database<br />
        Queue m_queue=((AQjmsSession)m_queueSess).getQueue("rocket", "R_RYSAMPLE_Q"); <br />
        <br />
        QueueSender m_sender=m_queueSess.createSender(m_queue);<br />
        <br />
        Message mesg  = m_queueSess.createTextMessage("Test Message");<br />
        <br />
        m_sender.send(mesg);<br />
        <br />
        }<br />
        catch (JMSException e) {<br />
            System.out.println(e.getMessage());<br />
        }<br />
        finally {<br />
         try{<br />
            qc.stop();<br />
            qc.close(); <br />
            }catch (JMSException e1) {<br />
            }<br />
        }<br />
    }<br />
    <br />
    public static void main(String[] args) {<br />
        jmsdemo jmsdemo = new jmsdemo();<br />
        jmsdemo.QSendFunction();<br />
    }<br />
    <br />
}</em></p>

<p></p>

<p><strong>JMS Client 2 : </strong></p>

<p><br />
<em>package jms;</p>

<p><br />
import javax.jms.JMSException;<br />
import javax.jms.Message;<br />
import javax.jms.Queue;<br />
import javax.jms.QueueConnection;<br />
import javax.jms.QueueConnectionFactory;</p>

<p>import javax.jms.QueueReceiver;<br />
import javax.jms.QueueSender;<br />
import javax.jms.QueueSession;</p>

<p>import javax.jms.Session;</p>

<p>import oracle.jms.*;</p>

<p><br />
public class jmsdemorecv {<br />
   // public QueueConnection qc=null;<br />
    public jmsdemorecv() {<br />
    }</p>

<p>    public void QRecvFunction () {<br />
        QueueConnection qc=null;<br />
        try {<br />
        <br />
        // QueueConnectionFactory is the preconfigured JMS Object set by administrator.<br />
        	 QueueConnectionFactory qcf =  AQjmsFactory.getQueueConnectionFactory("databaseHostName", "SID", port, "thin");</p>

<p>        // Does not created Destination, there is no look to JNDI that holds QF and Destination by JMS Client (this program)<br />
        // we are directly using JMS Client to make JMS Provider <br />
        // QueueConnection to JMS Provider ( database with JMS Services demon is the service provider )<br />
        // User can create one more connections to QF<br />
        <br />
        	 qc = qcf.createQueueConnection("userid", "passwd");<br />
        <br />
        // Start the Connection<br />
	//Message delivery does not begin until you start the connection you created by calling the start method <br />
        	 qc.start();<br />
    <br />
        //A session is a single-threaded context for producing and consuming messages<br />
        //QueueSession m_queueSess = qc.createQueueSession(true, 0);<br />
       <br />
		 QueueSession m_queueSess = qc.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);<br />
	         Queue m_queue=((AQjmsSession)m_queueSess).getQueue("rocket", "R_RYSAMPLE_Q"); <br />
        <br />
        //Once you have created a message consumer, it becomes active, and you can use it to receive messages<br />
        //a session and is used for receiving messages sent to a destination. <br />
        //A message consumer allows a JMS client to register interest in a destination with a JMS provider. <br />
        //The JMS provider manages the delivery of messages <br />
       <br />
	 	QueueReceiver m_receiver=m_queueSess.createReceiver(m_queue);<br />
        <br />
        // Synchronous messaging <br />
        //A receiver explicitly fetches the message from the destination by calling the receive method. <br />
        // The receive method can block until a message arrives or can time out if a message does not arrive within a specified time limit <br />
        //if you do not want your program to consume system resources unnecessarily, use a timed synchronous receive ex:- receive(1000) timeout 1000ms<br />
     <br />
	 Message mesg  =  m_receiver.receive(5000);<br />
        if(mesg != null)<br />
            System.out.println(((AQjmsTextMessage)mesg).getText());<br />
          <br />
        <br />
        }<br />
        catch (JMSException e) {<br />
            System.out.println(e.getMessage());<br />
        }<br />
        finally {<br />
            try{<br />
            qc.stop();<br />
            qc.close(); <br />
            }catch (JMSException e1) {<br />
            }<br />
        }<br />
    }<br />
    <br />
    public static void main(String[] args) {<br />
        jmsdemorecv jmsdemo = new jmsdemorecv();<br />
        jmsdemo.QRecvFunction();<br />
    }<br />
    <br />
}</em></p>]]>
      
   </content>
</entry>
<entry>
   <title>Note - Jdev 11g Production </title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/10/note_jdev_11g_production.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.8187</id>
   
   <published>2008-10-17T12:15:47Z</published>
   <updated>2008-10-23T13:57:33Z</updated>
   
   <summary>JDeveloper 11g Production 1. There is no longer a standalone ADF installer for ADF 11g. Installing JDeveloper 11g Studio automatically installs Oracle WebLogic Server and creates a domain that is configured to run ADF; you can also use the JDeveloper...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="adf11" label="ADF11" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p><strong>JDeveloper 11g Production</strong></p>

<p>1. There is <strong>no longer a standalone ADF installer for ADF 11g</strong>. Installing <strong>JDeveloper 11g Studio automatically installs Oracle WebLogic Server </strong>and creates a domain that is configured to run ADF; you can also use the JDeveloper 11g installer to configure an existing Oracle WebLogic installation to run ADF applications.</p>

<p>2. <strong>Jdev11g Production Supports below list of Application Servers :</strong></p>

<p>Oracle WebLogic Server 10g release 3 (10.3) <br />
Tomcat 6.x  <br />
JBoss 4.3 <br />
WebLogic 9 </p>

<p>3. <strong>Jdev11g does not support Oracle Application Server 10g (10.1.3)</strong></p>

<p>4. <strong>OJVM</strong></p>

<p>OJVM was Oracle's Java VM implementation written to provide a richer set of features and improved performance for debugging and profiling than was possible with older versions of other VMs. Over time other VMs have introduced better capabilities for debugging and profiling, and Oracle is changing its strategy to integrate with these VMs instead of maintaining our own.</p>

<p><strong>OJVM was deprecated in JDeveloper 10.1.3 (original announcement) and has been removed in JDeveloper 11g</strong>. You should <strong>use Sun's HotSpot VM </strong>(client or server) instead for testing, debugging, and profiling application code. The following JDeveloper features are effected by this change:</p>

<p><strong>Debugger</strong>: The ability to Set Next Statement, which was specific to OJVM, has been removed. This feature may be reintroduced in the future if and when such features can be implemented with HotSpot. </p>

<p><strong>Profilers</strong>: The JDeveloper profilers in 10.1.3 and previous versions were specific to OJVM. JDeveloper 11g has a functionally equivalent CPU profiler and Memory profiler working on JVMTI (a standard API implemented by Sun's JVM). <strong>The event profiler has been removed. </strong></p>

<p><strong>CodeCoach</strong>: CodeCoach is no longer part of the JDeveloper product. Many of the results generated by CodeCoach are already reported in real time by the <strong>audit and metrics features of JDeveloper</strong>. Some CodeCoach results (such as Array usage information) have not been replaced</p>

<p><br />
5. <strong>10g ADF Faces Components</strong></p>

<p>The <strong>ADF Faces component libraries supported in ADF 10g have been desupported </strong>and replaced by the <strong>Apache MyFaces Trinidad Components</strong>. When an application built with the 10g components is opened in JDeveloper 11g, all of the ADF Faces components will be automatically migrated to the equivalent Trinidad components. You can also use the Trinidad components to build new applications; or you may wish to use the new ADF Faces Rich Client components.</p>

<p>6.<strong> Web Browsers Supported by JDeveloper</strong></p>

<p>IE 7.0 <br />
Firefox 2.0 <br />
Firefox 3.0 <br />
Safari 3.0 </p>

<p>7. <strong>Know Issues </strong> <a href="http://www.oracle.com/technology/products/jdev/htdocs/11/knownissues.html">http://www.oracle.com/technology/products/jdev/htdocs/11/knownissues.html</a></p>]]>
      
   </content>
</entry>
<entry>
   <title>Migrating from Previous Version -  Jdev11g Production</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/10/migrating_from_previous_versio.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.8186</id>
   
   <published>2008-10-17T09:42:41Z</published>
   <updated>2008-10-23T13:58:48Z</updated>
   
   <summary>JDeveloper 11g supports migration from JDeveloper 10.1.3.4 only. Oracle recommends migrating to JDeveloper 10.1.3.4 from all other earlier versions before migrating to JDeveloper 11.1.1.0.0. Migrating User Settings When you start JDeveloper for the first time (and each time after adding...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="adf11" label="ADF11" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>JDeveloper 11g supports migration from JDeveloper 10.1.3.4 only. Oracle recommends migrating to JDeveloper 10.1.3.4 from all other earlier versions before migrating to JDeveloper 11.1.1.0.0.</p>

<p><strong>Migrating User Settings</strong><br />
When you start JDeveloper for the first time (and each time after adding a new extension), JDeveloper will prompt to ask whether to migrate your settings from a previous installation. Choose Yes from this dialog to browse to the system directory of your previous installation. This will copy relevant user preferences and settings from the prior release to JDeveloper 11g.</p>

<p><strong>To force JDeveloper to display the migration dialog after the initial start, use the -migrate flag, for example,<em> jdev -migrate</em></strong></p>

<p><br />
</p>]]>
      
   </content>
</entry>
<entry>
   <title>Most useful blogs I look always</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/10/most_useful_blogs_i_look_alway.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.8185</id>
   
   <published>2008-10-17T09:16:20Z</published>
   <updated>2008-10-23T14:09:40Z</updated>
   
   <summary>Most of ADF examples are covered in Frank,Andre,steve,shay blogs. http://andrejusb-samples.blogspot.com/ http://frank.thepeninsulasedge.com/ http://radio.weblogs.com/0118231/ http://blogs.oracle.com/shay/ I&apos;ll try to add examples into ths blog only the one i don&apos;t see in above blogs....</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="gen" label="Gen" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>Most of ADF examples are covered in Frank,Andre,steve,shay blogs.</p>

<p><a href="http://andrejusb-samples.blogspot.com/">http://andrejusb-samples.blogspot.com/</a><br />
<a href="http://frank.thepeninsulasedge.com/">http://frank.thepeninsulasedge.com/</a><br />
<a href="http://radio.weblogs.com/0118231/">http://radio.weblogs.com/0118231/</a><br />
<a href="http://blogs.oracle.com/shay/">http://blogs.oracle.com/shay/</a></p>

<p>I'll try to add examples into ths blog only the one i don't see in above blogs.</p>]]>
      
   </content>
</entry>
<entry>
   <title>How to create Static Columns and use in UI - ADF 10.1.3.3</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/09/how_to_create_static_columns_a.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.7843</id>
   
   <published>2008-09-28T08:04:52Z</published>
   <updated>2008-10-23T14:08:59Z</updated>
   
   <summary>Consider Employee View Object of HR Schema having predefined columns in it as shown below, create a transiant column &quot;SalaryRange&quot; that act as virtual column to hold static SalaryRange values in it. Model View Object : Page Def Changes :...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="adf10" label="ADF10" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>Consider Employee View Object of HR Schema having predefined columns in it as shown below, create a transiant column <strong><em>"SalaryRange"</em></strong> that act as virtual column to hold static SalaryRange values in it.</p>

<p>Model View Object :</p>

<p><img alt="transiant.GIF" src="http://blogs.oracle.com/raghuyadav/transiant.GIF" width="267" height="232" /></p>

<p>Page Def Changes :</p>

<p><img alt="transiant1.GIF" src="http://blogs.oracle.com/raghuyadav/transiant1.GIF" width="700" height="400" /></p>

<p>Create method in Application module and add below code in it.</p>

<p><em>public void salaryRange () {<br />
        ViewObject vo = findViewObject("EmployeesView");<br />
        RowSetIterator iter = vo.createRowSetIterator(null);<br />
        <br />
        while (iter.hasNext()) {<br />
               Row row = iter.next();<br />
               String status="";<br />
               if( Integer.parseInt(row.getAttribute("Salary").toString()) > 5000) <br />
                      status = "High";                    <br />
              else<br />
                     status = "low";</p>

<p>                row.setAttribute("SalaryRange", new String(status));         <br />
            }<br />
            <br />
            iter.closeRowSetIterator();<br />
            getDBTransaction().commit();<br />
        }</em></p>

<p>User Interface with salaryRange column values :</p>

<p><img alt="transiant2.GIF" src="http://blogs.oracle.com/raghuyadav/transiant2.GIF" width="450" height="232" /><br />
</p>]]>
      
   </content>
</entry>
<entry>
   <title>Calculated Columns cannot be Updateable -  ADF 10.1.3.3</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/07/calculated_columns_cannot_be_u.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.5511</id>
   
   <published>2008-07-23T14:34:11Z</published>
   <updated>2008-10-23T14:08:15Z</updated>
   
   <summary>Had a requirement to create description column in XYZ table and provide feature to edit description. The XYZ table View Object was created using Read Only Mode with Expert flag set, I created new column and did sync at entity...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="adf10" label="ADF10" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>Had a requirement to create description column in XYZ table and provide feature to edit description. The XYZ  table View Object was created using Read Only Mode with Expert flag set, I created new column and did sync at entity level and then edited View Object to add description column, the description column appear in attributes as Calculated column.</p>

<p>I used Calculated Description column for editing, unfortunately didn't see data getting updated.<br />
Then removed Calcualted column in VO and selected XYZ  table from entity within VO wizard and unchecked Expert flag, this time i see Description column shown in attributes as <em>TableName.Description</em> instead of <em>Calculated.Description</em> and now I used <em>TableName.Description</em> for editing, I see record updated after changes made in Description.<br />
</p>]]>
      
   </content>
</entry>
<entry>
   <title>MultiSelect on Read Only View Object Tables - ADF 10.1.3.3</title>
   <link rel="alternate" type="text/html" href="http://blogs.oracle.com/raghuyadav/2008/07/multiselect_on_read_only_view_object_tables_-_adf_10133.html" />
   <id>tag:blogs.oracle.com,2008:/raghuyadav//193.5473</id>
   
   <published>2008-07-18T07:13:08Z</published>
   <updated>2008-10-23T14:05:38Z</updated>
   
   <summary>View object query created with &quot;Updatable Access through Entity Object option&quot; checked Can use below code to access selected attribute values of the multiSelect table. DCIteratorBinding depIter = ResultADFUtils.findIterator(&quot;TableIterator&quot;); RowSetIterator depRSIter = depIter.getRowSetIterator(); RowKeySet selection = this.getTable().getSelectionState(); Set keySet =...</summary>
   <author>
      <name>raghu.yadav</name>
      
   </author>
   
   <category term="adf10" label="ADF10" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://blogs.oracle.com/raghuyadav/">
      <![CDATA[<p>View object query created with "Updatable Access through Entity Object option" checked<br />
Can use below code to access selected attribute values of the multiSelect table.</p>

<p>         DCIteratorBinding depIter = <br />
             ResultADFUtils.findIterator("TableIterator");<br />
         RowSetIterator depRSIter = depIter.getRowSetIterator();<br />
         RowKeySet selection = this.getTable().getSelectionState(); <br />
         Set keySet = selection.getKeySet();<br />
         Iterator itr = keySet.iterator();<br />
                <br />
         while (itr.hasNext()) {<br />
             Key key = (Key)itr.next();<br />
             ViewRowImpl row = (ViewRowImpl)depRSIter.getRow(key);<br />
             wherePart += row.getAttribute(0);<br />
             }<br />
         <br />
Above code does not work for View Object query created with "Read Only Access"  Option checked. You may notice exception as shown below.</p>

<p>"Caused by: javax.faces.el.EvaluationException: java.lang.ClassCastException: java.lang.Integer	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:150)	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:92)	... 29 "</p>

<p>Altering code as shown below fixes exception.</p>

<p>        DCIteratorBinding depIter = <br />
            ResultADFUtils.findIterator("TableIterator");<br />
        RowSetIterator depRSIter = depIter.getRowSetIterator();</p>

<p>        RowKeySet selection = this.getTable().getSelectionState(); <br />
        Set keySet = selection.getKeySet();<br />
        Iterator itr = keySet.iterator();<br />
      <br />
  while (itr.hasNext()) {<br />
            String x = itr.next().toString();<br />
            int y = Integer.parseInt(x);<br />
           Row row = depRSIter.getRowAtRangeIndex(y);<br />
            wherePart += row.getAttribute(0);<br />
        } </p>

<p> </p>

<p><br />
</p>]]>
      
   </content>
</entry>

</feed>
