Thursday, October 28, 2010

Java program to reverse contents in a file

Below contains java program to read the contents of a file,reverse the contents of the file and write it back to the file.

1)create text.txt in D: drive of your system and type the contents say subin suresh
2)Create java class and type the below code
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package reverse;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

/**
*
* @author subin_s
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) throws FileNotFoundException, IOException {
Scanner scanner = new Scanner(new File("D:/test.txt")).useDelimiter("\\Z");
String contents = scanner.next();
System.out.println("Original String : " + contents);
contents = new StringBuffer(contents).reverse().toString();
System.out.println("Reversed String : " + contents);
FileWriter fstream = new FileWriter("D:/test.txt");
BufferedWriter out = new BufferedWriter(fstream);
out.write(contents);
out.close();
}
}

3)Output
Original String : subin suresh
Reversed String : hserus nibus

Thursday, October 21, 2010

Problems if <h:form> is not used in JSF

I will be explainingpProblems if <h:form> is not used in JSF with a simple example.
1)I created a new project in JSF and added comman button to the jsp page  without using <h:form&gt tag
<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<%--
    This file is an entry point for JavaServer Faces application.
--%>
<f:view>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
            <title>JSP Page</title>
        </head>
        <body>
            <h1><h:outputText value="JavaServer Faces"/></h1>
                <h:commandButton id="bt_SAVE"  value="Save" action="#{test.saveProcess}" />
        </body>
    </html>
</f:view>

2) Made necessary mapping in faces-config.xml.
<managed-bean>
        <managed-bean-name>test</managed-bean-name>
        <managed-bean-class>bean.test</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean> 


3) Created package bean and added test class to the bean package
 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bean;

/**
 *
 * @author subin_s
 */
public class test {

    public void saveProcess() {
        System.out.println("Debug inside saveProcess");
    }
}



Now if you run the project and click on save button  saveProcess method will not be executed you may think why button is not working ,problem is  you have not given <h:form> tag.

Tuesday, October 19, 2010

Adding Struts 2 plugin to NetBeans 6.8

Today we will see Struts 2 plugin for NetBeans 6.8 .First you need to download 2 files
org-netbeans-modules-web-frameworks-struts2.nbm
org-netbeans-modules-web-frameworks-struts2lib20011.nbm

 
Installing Module
1) Tools --> plugins --> --> Downloaded
  Click on AddPlugins

2)Select files from your system

3) Click open

4) Install
5) Follow the wizard one validation warning may come  then click continue button and then restart netbeans.
Now you can start developing Struts 2 Application in netbeans.

Monday, October 18, 2010

Submitting project into cvs in linux

Today we will see one of  important topic regarding CVS(Concurrent Versions System).  
How to Submit project into cvs in linux.
open the terminal
enter into the root
navigate to the project folder say /home/subin/Desktop/Projectname(Come inside project folder)
type below command
cvs import -m "new Projectname" -I ! -W "*.doc -kb" -W "*.gif -kb" -W "*.JPEG -kb" -W "*.jar -kb" -W "*.BMP -kb" -W "*.jpg -kb" -W "*.PNG -kb" Projectname nic v20

cvs commit;
Now project has been submitted to CVS successfully
To check out project from cvs type below command

cvs checkout Projectname

chmod -R 777 Projectname  --- this command will give permissions to access all sub folders and files (read, write, modify)

Friday, October 15, 2010

Multiple sign in feature of Google

Google recently rolled out with multiple sign in feature. It means you can login to multiple Google (including Gmail) accounts in the same browser.
To start with the service, go to Google.com and login with your Google credentials. Now click on Settings –> Google account settings.

On account settings page, under Multiple sign-in section, click on the “Edit” link.


A new page will appear along with the notification in yellow color. This facility is currently available on Gmail, Google Calendar, Google Sites, Google Reader and Google Code.
Click on the On option and check all the boxes under it (obviously read them carefully before checking). After checking, click on the “Save changes” button.

Now login to my Gmail account. On the top right, a drop-down appears next to my email address as shown below .
Click on the drop down and then click on “Sign in to another account”. A new tab will open, sign in with another Gmail account.


Thursday, October 14, 2010

Google’s new website “Google New”

Google’s new website named as “Google New” was launched by Google few days back. It represents all the latest updates in various sections of Google products through their blogs.
Google New is a service launched to help a Google fan to stay updated with all the updates and development happening in various Google products, all at one place.

Link for Google New
Below shows screenshot of  home page of  “Google New”.

Find Technology Being Used by Other Site using Sitonomy

Sitonomy service shows following details:
Blogging platform, Widgets being used by the site, advertising network, Server software, Subscription method, Analytic method and few more details.
 Link for Sitonomy

Here is a screenshot of  Subin'sWorld Sitonomy:

Tuesday, October 12, 2010

Making RichCalender Editable

Few days back we i have posted  Server Side Date Validator Today we will discuss  topic how to manually enter date in  rich calender only you need to do is set enale ManualInput to true  in jsp file as shown below.
<rich:calendar id="dc_FROM_DATE" ajaxSingle="true" enableManualInput="true" binding="#{checkUserRequest.dc_FROM_DATE}" inputStyle="font-size:10pt;width:100px;height:25px" datePattern="dd-MM-yyyy">
</rich:calendar>



Sunday, October 3, 2010

Problems in using Value binding in JSF

Today we will see one of the major problem while using value binding in JSF and solution for it.Suppose if we have two fields subject1 and subject2 .In  focus lost of subject2 if we try to get value of subject1 using get method it will give you null value because values are not updated using valuebinding reason for this is while we use value biding  value will be updated in Update Model Value Phase  and value change listener is called  before Update Model Phase.

How to overcome this problem
        PhaseId phaseId = evt.getPhaseId();
        if (phaseId.equals(PhaseId.ANY_PHASE)) {
            evt.setPhaseId(PhaseId.UPDATE_MODEL_VALUES);
            evt.queue();
            return;
        }

Place the above code at the beginning of the method, So automatically updates all the values of the submitted form.