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