RMI String Manipulation

RMI Interface
----------------

public interface myRMIInterface extends java.rmi.Remote
{
        public String sayhello(String str) throws java.rmi.RemoteException;
        public String copystring(String str) throws java.rmi.RemoteException;
        public String reversestring(String str) throws java.rmi.RemoteException;
        public String palstring(String str) throws java.rmi.RemoteException;
}

RMI Implementation
----------------------
import java.rmi.*;
import java.rmi.server.*;
import java.io.*;
import java.lang.*;

public class myRMIImpl extends UnicastRemoteObject implements myRMIInterface
{
        public myRMIImpl(String name) throws RemoteException
{
super();
try
{
Naming.rebind(name,this);
}
catch(Exception e)
{
System.out.println("Error "+e);
}
}
public String sayhello(String str)
{
return ("Hello "+str);
}
        public String copystring(String str)
{
                String str1=" ";
                char ch;
                int i;
                for(i=0;i
                {
                        ch=str.charAt(i);
                        str1+=ch;
                }

                
                return (str1);
}
        public String reversestring(String str)
        {
                String rev="";
                char ch;
                int i;
                for(i=(str.length())-1;i>=0;i--)
                {
                        ch=str.charAt(i);
                        rev+=ch;
                }
                return rev;
        }

        public String palstring(String str)
        {
                String rev="";
                char ch;
                int i;

                for(i=(str.length())-1;i>=0;i--)
                {
                        ch=str.charAt(i);
                        rev+=ch;
                }


                if(rev==str)
                {
                        return("Palindrom");
                }
                else
                        return("Not Palindrom");
        }


}

RMI Client
------------
import java.rmi.*;
import java.rmi.server.*;
import java.rmi.registry.*;
import java.io.*;
import java.lang.*;

public class myRMIClient
{
public static void main(String []argv)
{
System.setSecurityManager(new RMISecurityManager());
if(argv.length != 1)
{
System.out.println("Please enter IPAddress of Server");
}
String servername=argv[0];
try
{
myRMIInterface interef=(myRMIInterface)
                        Naming.lookup("rmi://"+servername+"/myRMIImplInstance");
                        String str;
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                        int ch;

                        do
                        {
                        System.out.println("------------------------");
                        System.out.println("     MENU               ");        
                        System.out.println("------------------------");
                        System.out.println("1.Hello Server");
                        System.out.println("2.Copy String ");
                        System.out.println("3.Reverse String");
                        System.out.println("4.To Check Palindrom String");
                        System.out.println("5.Upper case String");
                        System.out.println("6.Toggle case String");
                        System.out.println("7.EXIT");
                        System.out.println("------------------------");

                        System.out.print("Enter Ur Choice : ");
                        str=br.readLine();
                        ch=Integer.parseInt(str);

                        switch(ch)
                        {
                                case 1:
                                        System.out.print("Enter name : ");
                                        str=br.readLine();                         
                                        System.out.println(interef.sayhello(str));
                                break;
                                case 2:
                                        System.out.print("Enter String : ");
                                        str=br.readLine();                         
                                        System.out.println("Copy String is : "+interef.copystring(str));
                                break;

                                case 3:
                                        System.out.print("Enter String : ");
                                        str=br.readLine();                         
                                        System.out.println("Reverse String is : "+interef.reversestring(str));
                                break;

                                case 4:
                                        System.out.print("Enter String to check Palindrom : ");
                                        str=br.readLine();                         
                                        System.out.println(interef.palstring(str));
                                break;

                                case 7:
                                        System.out.println("EXIT");
                                break;
                        }
                        }while(ch!=7);
}
catch(Exception e)
{
System.out.println("Error "+e);
}
}
}

RMI Server
---------------
import java.rmi.*;
import java.rmi.server.*;

public class myRMIServer
{
public static void main(String []argv)
{
System.setSecurityManager(new RMISecurityManager());
try
{
myRMIImpl impl=new myRMIImpl("myRMIImplInstance");
System.out.println("Server Waiting for Client");
}
catch(Exception e)
{
System.out.println("Error "+e);
}
}
}