Wednesday, 18 July 2012

How to work with OA BC4j in normal oc4j container(Not EBS oc4j container)

First i would like to tell that the OA BC4j is not same as normal BC4J .. It is extended version of BC4j.

So few configuration changes required to make it work in normal oc4j

First we need to copy following files to one folder (Let say applib) in in oc4j server.

../applib/mdsrt.jar"/>
../applib/fwk.jar"/>
../applib/fwkcabo.jar"/>
../applib/fwkjbo.jar"/>
../applib/diagnostics.jar"/>
../applib/concurrent.jar"/>
../applib/collections.jar"/>
../applib/atg.jar"/>
../applib/lesson.jar"/>
../applib/nls_charset12.jar"/>
../applib/oamMaintMode.jar"/>
../applib/part.jar"/>
../applib/req.jar"/>
../applib/svc.jar"/>




Then we need change server.xml to change our  adf to new version like below


<shared-library name="adf.oracle.domain" version="10.1.3.1" library-compatible="true">
<code-source path="/u01/app/oracle/product/oas_1/BC4J/lib"/>
<code-source path="/u01/app/oracle/product/oas_1/jlib/commons-cli-1.0.jar"/>
<!-- <code-source path="/u01/app/oracle/product/oas_1/mds/lib/concurrent.jar"/> -->
<!-- <code-source path="/u01/app/oracle/product/oas_1/mds/lib/mdsrt.jar"/> -->
<code-source path="/u01/app/oracle/product/oas_1/jlib/share.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/jlib/regexp.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/jlib/xmlef.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/BC4J/jlib/adfmtl.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/BC4J/jlib/adfui.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/BC4J/jlib/adf-connections.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/BC4J/jlib/dc-adapters.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/ord/jlib/ordim.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/ord/jlib/ordhttp.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/jlib/ojmisc.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/jlib/jdev-cm.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/lib/xsqlserializers.jar"/>
<code-source path="../applib/mdsrt.jar"/>
<code-source path="../applib/fwk.jar"/>
<code-source path="../applib/fwkcabo.jar"/>
<code-source path="../applib/fwkjbo.jar"/>
<code-source path="../applib/diagnostics.jar"/>
<code-source path="../applib/concurrent.jar"/>
<code-source path="../applib/collections.jar"/>
<code-source path="../applib/atg.jar"/>
<code-source path="../applib/lesson.jar"/>
<code-source path="../applib/nls_charset12.jar"/>
<code-source path="../applib/oamMaintMode.jar"/>
<code-source path="../applib/part.jar"/>
<code-source path="../applib/req.jar"/>
<code-source path="../applib/svc.jar"/>
<code-source path="../applib/uix2.jar"/>
<code-source path="../applib/uix2-install.jar"/>
<code-source path="../applib/wsp.jar"/>
<import-shared-library name="oracle.xml"/>
<import-shared-library name="oracle.jdbc"/>
<import-shared-library name="oracle.gdk"/>
<import-shared-library name="oracle.cache"/>
<import-shared-library name="oracle.dms"/>
<import-shared-library name="oracle.sqlj"/>
<import-shared-library name="oracle.toplink"/>
<import-shared-library name="oracle.ws.core"/>
<import-shared-library name="oracle.ws.client"/>
<import-shared-library name="oracle.xml.security"/>
<import-shared-library name="oracle.ws.security"/>
<import-shared-library name="oracle.ws.reliability"/>
<import-shared-library name="oracle.jwsdl"/>
<import-shared-library name="oracle.http.client"/>
<import-shared-library name="oracle.expression-evaluator"/>
</shared-library>
<shared-library name="adf.generic.domain" version="10.1.3.1" library-compatible="true">
<code-source path="/u01/app/oracle/product/oas_1/BC4J/jlib/bc4jdomgnrc.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/BC4J/lib"/>
<code-source path="/u01/app/oracle/product/oas_1/jlib/commons-cli-1.0.jar"/>
<!-- <code-source path="/u01/app/oracle/product/oas_1/mds/lib/concurrent.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/mds/lib/mdsrt.jar"/> -->
<code-source path="/u01/app/oracle/product/oas_1/jlib/share.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/jlib/regexp.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/jlib/xmlef.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/BC4J/jlib/adfmtl.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/BC4J/jlib/adfui.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/BC4J/jlib/adf-connections.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/BC4J/jlib/dc-adapters.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/ord/jlib/ordim.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/ord/jlib/ordhttp.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/jlib/ojmisc.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/jlib/jdev-cm.jar"/>
<code-source path="/u01/app/oracle/product/oas_1/lib/xsqlserializers.jar"/>
<code-source path="../applib/mdsrt.jar"/>
<code-source path="../applib/fwk.jar"/>
<code-source path="../applib/fwkcabo.jar"/>
<code-source path="../applib/fwkjbo.jar"/>
<code-source path="../applib/diagnostics.jar"/>
<code-source path="../applib/concurrent.jar"/>
<code-source path="../applib/collections.jar"/>
<code-source path="../applib/atg.jar"/>
<code-source path="../applib/lesson.jar"/>
<code-source path="../applib/nls_charset12.jar"/>
<code-source path="../applib/oamMaintMode.jar"/>
<code-source path="../applib/part.jar"/>
<code-source path="../applib/req.jar"/>
<code-source path="../applib/svc.jar"/>
<code-source path="../applib/uix2.jar"/>
<code-source path="../applib/uix2-install.jar"/>
<code-source path="../applib/wsp.jar"/>
<import-shared-library name="oracle.xml"/>
<import-shared-library name="oracle.jdbc"/>
<import-shared-library name="oracle.gdk"/>
<import-shared-library name="oracle.cache"/>
<import-shared-library name="oracle.dms"/>
<import-shared-library name="oracle.sqlj"/>
<import-shared-library name="oracle.toplink"/>
<import-shared-library name="oracle.ws.core"/>
<import-shared-library name="oracle.ws.client"/>
<import-shared-library name="oracle.xml.security"/>
<import-shared-library name="oracle.ws.security"/>
<import-shared-library name="oracle.ws.reliability"/>
<import-shared-library name="oracle.jwsdl"/>
<import-shared-library name="oracle.http.client"/>
<import-shared-library name="oracle.expression-evaluator"/>
</shared-library>


We  need comment out the path for concurrent.jar and mdsrt.jar for existing setup and add new path.








Please reach out to me in case in  help required on this.

Friday, 15 June 2012

Html 5 LocalStorage

localStorage is also called Web Storage or DOM storage. It is a database that can store only key-value pairs, and the value data-type should always be a string. At first, this might seem a serious limitation, but using along with JavaScript arrays and JSON we can achieve quite a bit. The good news is that this feature is supported in the latest versions of all browsers, both on desktop and mobile environments (Android and iOS). Also, the developer gets a huge 5 MB of storage per domain.


localStorage support on browsers/platforms

This table lists the minimum version of each browser required to support localStorage:
IEFirefoxSafariChromeOperaiPhoneAndroid
8.0+3.5+4.0+4.0+10.5+2.0+2.0+

Operations on localStorage

The methods of localStorage include setItem()getItem()removeItem() and clear(). Here is sample code to add a record to localStorage using setItem():
// max limit reached exception
try {
  localStorage.setItem(itemId, "Sample Value");
} catch (e) {
  if (e == QUOTA_EXCEEDED_ERR) {
    alert('Quota exceeded!');
  }
}
We will use getItem() and removeItem() in the Web app that we will develop. Note thatlocalStorage.clear() removes all entries from the database, so use it with caution!

How word-wrap cell text on extjs grid

I use following way to wrap the cell text in extjs grid.

{
 header : 'Error Message',
 dataIndex : 'errorMessage',
 renderer:function(val, meta, record, rowIndex, colIndex, store){
  return '<div style="white-space:normal !important;">'+ val +'</div>';
}
}

Tuesday, 12 June 2012

How to hide grid header in extjs grid

Please use "hideHeaders:true" to hide header in extjs grid.

How to refresh paging toolbar data on store reload

Below code will refresh paging toolbar data on store reload.
(Issue is when you are in second page and try to reload the store, you will see paging tool bar is not refreshing to starting page.)



 store.load({start:0,limit:25});  
 store.loadPage(1);

How deal with checkbox in extjs grid

There are few ways to implement checkbox in extjs grid. However, I feel below one is the good one.

Use below code in grid.
{
  header : 'Reviewed',
  align:'center',
  renderer:function(val, meta, record, rowIndex, colIndex, store){
      return Ext.String.format('<input name="review[]" type="checkbox" value="{       0}">',record.get('id'));
}// here i am passing "id" value as part of check box. 
I  have one button to get those values and use it for further processing.



{
xtype: 'button',
text:'Apply Changes',
listeners : {
 click : function(){
var aunarray = "";
var check = document.getElementsByName('review[]');
var checkLength = check.length;
 for(var i=0; i < checkLength; i++){
  if(check[i].checked){
    aunarray = aunarray+","+check[i].value;
   }
 }
DW.App.getController('AdminNotification').appplyChanges(aunarray);
}
}
}