Configure HTML/JavaScript

Monday, January 28, 2013

JSON: creating json in java and rendering javascript (JAVA string to JSON in javascript)

java string to json in javascript:


This is a common problem while we are transferring data from one technology to other technology. Specially encoding and decoding are concern while different format of data is required in different environment.

In my current piece of work i was required to create a JSON string in java and pass it to view (jsp) page where with the help of JavaScript (jQuery) data render need to perform.

common problem face

  • How to create a json data string in core java classes.
  • how to transfer json data from java to jsp 
  • How to convert normal java string to json object in javascript.  

Java does not understand json so for creating json in java various library are available. I picked simplest way like, I created a java string as like as json data and pass that string to the javascript. In the javascript end i converted that java string in to javascript string (by adding a null string like;var newval =  ""+strVariable). then with the help of jQuery.parseJSON() i converted it to the json object and renders. Below is the code which will describe in the details.

Ajax call from JSP:



       $(document).ready(function () {
        $.ajax({
        method:"GET",
        url: "user-struts action.action",
        //data: "variableifany="+$("#variableifany").val(),
        success: function(dataUser) {
//converting java string to javascript sting
//by adding null string ("") to the returned java string
        var yuyu = $.parseJSON(""+dataUser);
//simple testing of json object by calling jquery each function
$.each(yuyu, function(key, val) {
alert(val["id"]+"-"+val["text"]);
});
         
                     $("#divtoplace").select2({
                    multiple: true,
                       query: function (query){
                         var data = {results: []};
                         $.each(yuyu, function(){
                             if(query.term.length == 0 || this.text.toUpperCase().indexOf(query.term.toUpperCase()) >= 0 ){
                                 data.results.push({id: this.id, text: this.text });
                             }
                         });
                         query.callback(data);
                     }
                    });
         
        },
   error: function(XMLHttpRequest, textStatus, errorThrown){
       alert("errorThrown="+errorThrown+
        '----zipcodesuccessError=' + textStatus+"----response text = "+XMLHttpRequest.responseText);
   }
        });


JAVA class code: 

String userJson = "[";
                map= new userList().users();
for (Map.Entry entry : map.entrySet()) {
userJson += "{ \"id\": \""+entry.getKey()+"\", \"text\": \""+entry.getValue()+"\" },";
}
userJson = userJson.substring(0, userJson.length()-1)+"]";
System.out.println("jsodata="+userJson);
inputStream=new StringBufferInputStream(userJson);
return SUCCESS;



Important points to remember:

  • while creating json string in java do remember to match the json format like 
  • do remember to convert from java string to javascript string
  • now parse the javascript string to json object.
  • now your json object is ready to user.

Thanks

Monday, December 3, 2012

Setting java, java_home path for all users in unix

Setting java, java_home path for all users in unix

 
first check if there is a path set in /etc/profile file...
other wise you can set
 
Set JAVA_HOME / PATH for all user:


You need to setup global config in /etc/profile OR /etc/bash.bashrc file for all users:
# vi /etc/profile
Next setup PATH / JAVA_PATH variables as follows:
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin
export PATH=$PATH:/usr/java/jdk1.5.0_07/bin

Save and close the file. Once again you need to type the following command to activate the path settings immediately:
# source /etc/profile

Agile Scrum Sprint

In product development, a scrum sprint is a set period of time during which specific work has to be completed and made ready for review.

Each sprint begins with a planning meeting. During the meeting, the product owner (the person requesting the work) and the development team agree upon exactly what work will be accomplished during the sprint. The development team has the final say when it comes to determining how much work can realistically be accomplished during the sprint, and the product owner has the final say on what criteria needs to be met for the work to be approved and accepted.

The duration of a sprint is determined by the scrum master or development team owner, the team's facilitator. Once the team reaches a consensus for how many days a sprint should last, all future sprints should be the same. Traditionally, a sprint lasts 30 days.

After a sprint begins, the product owner must step back and let the team do their work. During the sprint, the team holds daily stand up meeting to discuss progress and brainstorm solutions to challenges. The project owner may attend these meetings as an observer but is not allowed to participate unless it is to answer questions. The project owner may not make requests for changes during a sprint and only the scrum master has the power to interrupt or stop the sprint.


At the end of the sprint, the team presents its completed work to the project owner and the project owner uses the criteria established at the sprint planning meeting to either accept or reject the work.

Sunday, December 2, 2012

Difference Between cursor and ref cursor


Difference Between cursor and ref cursor:


Ref cursor are variable of type cursor. Once you will declare a Ref cursore you can place any cursor in that ref cousor. In short words you can say ref cursors are holder of of any type of cursor.

if you will see the below code rc is a ref cursor and c is a cursor. rc is opened with different sql queries later but c (normal cursor) which is fixed.

other differences are there also.

> ref cursors can sent to the client. in word of java you can say ref cursors are result sets you can pass to other sub programs
>you cannot declare ref cursor out side procedure.
> A ref cursor can be passed to subroutine to subroutine but normal cursors cannot passed.


Important difference is that 

Static sql (not using a ref cursor) is much more efficient then using ref cursors and that use of ref cursors should be limited to 

-  when returning result sets to clients

 - when there is NO other efficient/effective means of achieving the goal






Declare
   type rc is ref cursor;
   
   cursor c is select * from dual;

   l_cursor rc;
begin
   if ( to_char(sysdate,'dd') = 30 ) then
     open l_cursor for 'select * from emp';
   elsif ( to_char(sysdate,'dd') = 29 ) then
     open l_cursor for select * from dept;
   else
     open l_cursor for select * from dual;
   end if;
   open c;
end;
/
 
 

Monday, November 26, 2012

^M: not found error in unix

^M: not found error in unix

 I was executing a shell script file through the nohup command. while executing the file i got the ^M: not found error in unix command prompt.

Then i started searching why i am getting this error. after making several googling, i got to know that this is due to i created this shell script file in windows (eclipse) OS. 

Normally when we create any file in windows and move/upload it to unix it append ^M in every line in the unix platform. it causes the error. now you need to remove these ^M character from the  shell script to work it properly. You can do that i several ways

1. opening the script file VI editor and manually removing these extra charactors
2. using dos2unix command
3.....


Wednesday, November 7, 2012

Date and Time matching in Where clause in Oracle



Date and Time matching in Where clause in Oracle:

It is trick when you want to match date or  date and time in where clause of you oracle sql query.
some time the original field may will be in date, time or some other field. and when you will put date type data with different format in where clause of you sql query it will mismatch and will not provide you the result you want.

You can avoid this kind of problem by using the to_date(date, format) in you where clause and the original field name as usual.

Below is an example:

select *
from table_name
where assoc_id = '6492349324'
and begin_date = TO_DATE('01-APR-2012', 'DD-MON-YYYY')  --what ever will be the data type of begin_date
and end_date = TO_DATE('01-JUL-2012', 'DD-MON-YYYY')    --the query will only match the date out of it


In the above query any date type data can be matched.



Tuesday, October 23, 2012

Passing Objects as parameters in PHP


Objects are Passed by reference by default:

By default the php objects are passed by reference below example will make it more clear. that is why when we copy object it property's are pointing to the same reference

class {
    public 
$foo 1;

$a = new A;$b $a;     // $a and $b are copies of the same identifier
             // ($a) = ($b) = 
$b->foo 2;
echo 
$a->foo."\n";  //this will output 2 as the reference is copied
                    //$a and $b is point to the same location

$c = new A;$d = &$c;    // $c and $d are references
             // ($c,$d) = 
$d->foo 2;
echo 
$c->foo."\n";

$e = new A;

function 
foo($obj) {
    
// ($obj) = ($e) = 
    
$obj->foo 2;
}
foo($e);
echo 
$e->foo."\n";
?>

the output of the above sample example will
2
2
2



/*
 * Created on Oct 24, 2012
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclipse - PHP - Code Templates
 */

 class ClassTesting {
 
  private $foo;
 
  function __construct($foo){
  $this->foo = $foo;
  }
 
  private function ent($foo){
  $this->foo = $foo;
  }
 
  public function ret($obj){
  $obj->foo = 'this';
  var_dump($obj->foo);
  }
 }

 $x = new ClassTesting("man");
 $a = new ClassTesting("dog");
 $x->ret($a);

?>