## Sample Custom Class

The sample below illustrates incorporating the Master Index (Repository) API into a custom Java class. It creates each object in a system object, and then creates the system object. Before inserting the new object into the database, the sample calls executeMatch to check for any matching records in the database.

Return to Working with the Master Index API

    import javax.ejb.*;
    import javax.naming.*;
    import java.util.*;
    import javax.rmi.PortableRemoteObject;

    // eView imports
    import com.stc.eindex.objects.*;
    import com.stc.eindex.ejb.master.*;
    import com.stc.eindex.master.*;

    public class Match{

        public static void main( String[] args ) {
            // server connection parameters
            String ORBhost = "localhost";
            String ORBport = "3100";

            // system record parameters
            String system= "SUN";
            String lid = "1234567890";
            String objectType = "Person";
            String status = "active";
            String createUser= "Admin";
            String createFunction = null;
            Date createDate = new Date();
            String updateUser= "Admin";
            String updateFunction = null;
            Date updateDate = new Date();

    	try {

                // connect to server and get handle MasterController
                Hashtable env = new Hashtable();
                env.put("org.omg.CORBA.ORBInitialHost", ORBhost);
                env.put("org.omg.CORBA.ORBInitialPort", ORBport);
                Context jndiContext = new InitialContext(env);
                Object obj = jndiContext.lookup("ejb/PersonMasterController");
                MasterControllerHome home = (MasterControllerHome)
                PortableRemoteObject.narrow(obj, MasterControllerHome.class);
                MasterController mc = home.create();

                // create a new person object
                PersonObject person = new PersonObject();
                person.setLastName("Smith");
                person.setFirstName("John");
                person.setGender("M");
                person.setSSN("555441111");
                person.setDOB( new Date() );

                // add phone
                PhoneObject phone = new PhoneObject();
                phone.setPhoneType("CH");
                phone.setPhone("6535554556");
                person.addPhone(phone);

                // add addresses
                AddressObject address = new AddressObject();
                address.setAddressType("H");
                address.setAddressLine1("404 Huntington");
                address.setAddressLine2("Apt. A");
                address.setCity("Monrovia");
                address.setStateCode("CA");
                address.setPostalCode("91016");
                person.addAddress(address);

                // create system record
           	    SystemObject so = new SystemObject(system, lid, objectType, status,
              	                     createUser, createFunction, createDate,
                                        updateUser, updateFunction, updateDate, person);

                // call the match function
                MatchResult r = mc.executeMatch( so );

                // print match result
    	    System.out.println( "EUID: " + r.getEUID() );

    	} catch (NamingException e) {
    	    System.out.println("Could not create JNDI API " + "context: " + e.toString());
    	} catch( Exception e ) {
    	    e.printStackTrace();
    	}
        }
    }

Return to Working with the Master Index API