Overview
Mapper Interface
package edu.jbs.ooc.mappers; import edu.jbs.ooc.databeans.*; /** * Insert the type's description here. * Creation date: (2/20/2002 8:32:37 AM) * @author: Administrator */ public interface ObjectBeanMapperInterface { /** * Insert the method's description here. * Creation date: (3/27/2002 10:58:11 AM) * @param tpBean edu.jbs.ooc.databeans.TransportBean */ TransportBean processAction(TransportBean tpBean);}Mapper Factory
package edu.jbs.ooc.mappers; import edu.jbs.ooc.databeans.*; /** * Insert the type's description here. * Creation date: (2/20/2002 9:09:09 AM) * @author: Administrator */ public class ObjectBeanMapperFactory { /** * ObjectBeanMapperFactory constructor comment. */ public ObjectBeanMapperFactory() { super(); } /** * Insert the method's description here. * Creation date: (2/20/2002 9:10:51 AM) * @return edu.jbs.ooc.databeans.ObjectBeanMapperInterface * @param mapperType int */ public static ObjectBeanMapperInterface getMapper(int objectBeanType) { if ( objectBeanType == ObjectBean.PERSON ) { return new OBMapperPerson(); } if ( objectBeanType == ObjectBean.CONTENT ) { return new OBMapperContent(); } if ( objectBeanType == ObjectBean.FILE ) { return new OBMapperFile(); } return null; }}Mapper for Person
package edu.jbs.ooc.mappers; import java.lang.reflect.*; import java.util.*; import edu.jbs.ooc.ui.*; import javax.naming.*; import java.rmi.RemoteException; import java.security.Identity; import java.util.Properties; import javax.ejb.*; import javax.rmi.*; import com.ibm.ejs.ns.jndi.*; import edu.jbs.ooc.beans.*; import edu.jbs.ooc.databeans.*; import edu.jbs.ooc.util.*; /** * Insert the type's description here. * Creation date: (1/30/2002 1:36:08 PM) * @author: Administrator */ public class OBMapperPerson implements ObjectBeanMapperInterface { public edu.jbs.ooc.beans.DBPerson ejb; public edu.jbs.ooc.beans.DBPersonHome ejbHome; /** * DBPersonMapper constructor comment. */ public OBMapperPerson() { super(); ejbHome = buildEJBHome(); }/** * Insert the method's description here. * Creation date: (1/30/2002 1:43:36 PM) * @return edu.jbs.ooc.beans.DBPersonHome */ private DBPersonHome buildEJBHome() { try { Properties properties = new Properties(); properties.put( javax.naming.Context.PROVIDER_URL, "IIOP://localhost:900/" ); properties.put( javax.naming.Context.INITIAL_CONTEXT_FACTORY, "com.ibm.ejs.ns.jndi.CNInitialContextFactory" ); InitialContext initialContext = new InitialContext( properties ); Object initialReference = initialContext.lookup( "edu/jbs/ooc/beans/DBPerson" ); DBPersonHome home = (DBPersonHome) javax.rmi.PortableRemoteObject.narrow( initialReference, DBPersonHome.class ); return home; } catch(Throwable theException) { System.out.println( "Error in DBPersonMapper: buildAddressHome" ); theException.printStackTrace(); return null; } } /** * Insert the method's description here. * Creation date: (3/27/2002 11:02:18 AM) * @return edu.jbs.ooc.databeans.TransportBean */ public TransportBean processAction( TransportBean tpBean ) { TransportBean respBean = new TransportBean(); if ( tpBean == null ) { respBean.setResponseCode ( "400" ); respBean.setResponseMessage ("OBMapperPerson.processAction error: null TransportBean received" ); return respBean; } String action = tpBean.getAction(); if ( action.equalsIgnoreCase("Add") ) return this.add( tpBean ); if ( action.equalsIgnoreCase("Search") ) return this.search( tpBean ); if ( action.equalsIgnoreCase("Update") ) return this.update( tpBean ); if ( action.equalsIgnoreCase("Delete") ) return this.delete( tpBean ); respBean.setResponseCode ( "400" ); respBean.setResponseMessage ("OBMapperPerson.processAction error: invalid action" ); return respBean; }/** * Insert the method's description here. * Creation date: (1/30/2002 1:36:08 PM) * @return boolean * @param p edu.jbs.ooc.ui.Person */ public TransportBean add( TransportBean tpBean ) { try { TransportBean respBean = new TransportBean(); ObjectBean objBean = (ObjectBean)(tpBean.getBeanCurrent()); if ( objBean == null ) { respBean.setResponseMessage("OBMapperPerson.add: null ObjectBean"); System.out.println( "OBMapperPerson.add: null ObjectBean"); return respBean; } String id = BeanUtils.getUniqueID(); DBPerson ejb = ejbHome.create( id ); // creates a new item in DB ObjectBean rb = setEJBValues( ejb, objBean ); // fills in fields and generates ObjectBean respBean.add( rb ); respBean.setTarget( ObjectBean.PERSON ); respBean.setResponseCode("200" ); respBean.setResponseMessage( "Person add ok." ); System.out.println( "OBMapperPerson.add: returning normally"); return respBean; } catch ( CreateException e ) { System.out.println( "CreateException " + e + " caught in DBPersonMapper.add" ); return null; } catch ( RemoteException e ) { System.out.println( "RemoteException " + e + " caught in DBPersonMapper.add" ); return null; } } /** * Insert the method's description here. * Creation date: (4/5/2002 11:31:26 AM) * @return java.lang.String[] * @param objBean edu.jbs.ooc.databeans.ObjectBean */ private String[] buildParamsForSearchByValues(ObjectBean objBean) { String params[] = new String[13]; String temp; temp = (String)objBean.getValue("nameFirst"); if (temp == null || temp.equals("") ) temp = "%"; params[0] = temp; temp = (String)objBean.getValue("nameMiddle"); if ( temp == null || temp.equals("") ) temp = "%"; params[1] = temp; temp = (String)objBean.getValue("nameLast"); if ( temp == null || temp.equals("") ) temp = "%"; params[2] = temp; temp = (String)objBean.getValue("address"); if ( temp == null || temp.equals("") ) temp = "%"; params[3] = temp; temp = (String)objBean.getValue("city"); if ( temp == null || temp.equals("") ) temp = "%"; params[4] = temp; temp = (String)objBean.getValue("state"); if ( temp == null || temp.equals("") ) temp = "%"; params[5] = temp; temp = (String)objBean.getValue("zip"); if ( temp == null || temp.equals("") ) temp = "%"; params[6] = temp; temp = (String)objBean.getValue("phoneHome"); if ( temp == null || temp.equals("") ) temp = "%"; params[7] = temp; temp = (String)objBean.getValue("phoneWork"); if ( temp == null || temp.equals("") ) temp = "%"; params[8] = temp; temp = (String)objBean.getValue("phoneFax"); if ( temp == null || temp.equals("") ) temp = "%"; params[9] = temp; temp = (String)objBean.getValue("phoneCell"); if ( temp == null || temp.equals("") ) temp = "%"; params[10] = temp; temp = (String)objBean.getValue("email"); if ( temp == null || temp.equals("") ) temp = "%"; params[11] = temp; temp = (String)objBean.getValue("url"); if ( temp == null || temp.equals("") ) temp = "%"; params[12] = temp; return params; } /** * Insert the method's description here. * Creation date: (1/30/2002 1:36:08 PM) * @return boolean * @param p edu.jbs.ooc.ui.Person */ public TransportBean delete( TransportBean tpBean ) { try { TransportBean respBean = new TransportBean(); ObjectBean objBean = (ObjectBean)(tpBean.getBeanCurrent()); if ( objBean == null ) { respBean.setResponseMessage("OBMapperPerson.delete: null ObjectBean"); return respBean; } String id = (String)objBean.getValue( "personID" ); DBPerson ejb = ejbHome.findByPrimaryKey( new DBPersonKey(id) ); ejb.remove(); respBean.setTarget( ObjectBean.PERSON ); respBean.setResponseCode("200" ); respBean.setResponseMessage( "Person delete ok." ); return respBean; } catch ( FinderException e ) { System.out.println( "FinderException " + e + " caught in DBPersonMapper.delete" ); return null; } catch ( RemoteException e ) { System.out.println( "RemoteException " + e + " caught in DBPersonMapper.delete" ); return null; } catch ( RemoveException e ) { System.out.println( "RemoveException " + e + " caught in DBPersonMapper.delete" ); return null; } } /** * Insert the method's description here. * Creation date: (1/30/2002 2:24:47 PM) * @return java.lang.String */ public String getMessage() { return new String("DBPersonMapper is alive"); } /** * Insert the method's description here. * Creation date: (3/8/2002 11:10:32 AM) * @return edu.jbs.ooc.databeans.ObjectBean * @param dbBean edu.jbs.ooc.beans.DBPerson */ private ObjectBean getObjectBean(DBPerson ejb) { ObjectBean objBean = new ObjectBean(); try { objBean.setValue( "personID", ejb.getPersonID() ); objBean.setValue( "nameFirst", ejb.getNameFirst() ); objBean.setValue( "nameMiddle", ejb.getNameMiddle() ); objBean.setValue( "nameLast", ejb.getNameLast() ); objBean.setValue( "address", ejb.getAddress() ); objBean.setValue( "city", ejb.getCity() ); objBean.setValue( "state", ejb.getState() ); objBean.setValue( "zip", ejb.getZip() ); objBean.setValue( "phoneHome", ejb.getPhoneHome() ); objBean.setValue( "phoneWork", ejb.getPhoneWork() ); objBean.setValue( "phoneFax", ejb.getPhoneFax() ); objBean.setValue( "phoneCell", ejb.getPhoneCell() ); objBean.setValue( "email", ejb.getEmail() ); objBean.setValue( "url", ejb.getUrl() ); objBean.setValue( "dateCreated", ejb.getDateCreated() ); objBean.setValue( "dateModified", ejb.getDateModified() ); } catch ( RemoteException e ) { System.out.println( "RemoteException " + e + " caught in AddressMapperCMP.add" ); return null; } return objBean; }/** * Insert the method's description here. * Creation date: (1/30/2002 1:36:08 PM) * @return edu.jbs.ooc.ui.Person * @param p edu.jbs.ooc.ui.Person */ public TransportBean search ( TransportBean tpBean ) { try { TransportBean respBean = new TransportBean(); ObjectBean objBean = (ObjectBean)(tpBean.getBeanCurrent()); if ( objBean == null ) { respBean.setResponseMessage("OBMapperPerson.search: null ObjectBean"); return respBean; } String id = ((String)objBean.getValue("personID")).trim(); if ( id != null && !(id.equals("")) ) { DBPerson ejb = ejbHome.findByPrimaryKey( new DBPersonKey(id) ); ObjectBean rb = getObjectBean( ejb ); respBean.add( rb ); } else { String params[] = buildParamsForSearchByValues( objBean ); if ( params != null ) { java.util.Enumeration someEJBs = ejbHome.findByValues( params[0], params[1], params[2], params[3], params[4], params[5], params[6], params[7], params[8], params[9], params[10], params[11], params[12] ); if ( someEJBs == null ) { System.out.println( "someDBPersons is null" ); respBean.setTarget( ObjectBean.PERSON ); respBean.setResponseCode("404" ); respBean.setResponseMessage( "Person search returned null." ); return respBean; } else { while ( someEJBs.hasMoreElements() ) { DBPerson ejb = (DBPerson)javax.rmi.PortableRemoteObject.narrow( someEJBs.nextElement(), DBPerson.class ); ObjectBean rb = getObjectBean( ejb ); respBean.add( rb ); } // end while } // end else } // end if else { System.out.println("Error: find by neither"); // error here return null; } } // end else respBean.setTarget( ObjectBean.PERSON ); respBean.setResponseCode("200" ); respBean.setResponseMessage( "Person search ok." ); return respBean; } catch ( FinderException e ) { System.out.println( "FinderException " + e + " caught in DBPersonMapper.search" ); return null; } catch ( RemoteException e ) { System.out.println( "RemoteException " + e + " caught in DBPersonMapper.search" ); return null; } } /** * Insert the method's description here. * Creation date: (1/30/2002 1:57:55 PM) * @return boolean * @param param edu.jbs.ooc.beans.DBPerson * @param ejb edu.jbs.ooc.ui.Person */ private ObjectBean setEJBValues(DBPerson ejb, ObjectBean objBean) { try { ejb.setNameFirst( (String)objBean.getValue("nameFirst") ); ejb.setNameMiddle( (String)objBean.getValue("nameMiddle") ); ejb.setNameLast( (String)objBean.getValue("nameLast") ); ejb.setAddress( (String)objBean.getValue("address") ); ejb.setCity( (String)objBean.getValue("city") ); ejb.setState( (String)objBean.getValue("state") ); ejb.setZip( (String)objBean.getValue("zip") ); ejb.setEmail( (String)objBean.getValue("email") ); ejb.setUrl( (String)objBean.getValue("zip") ); ejb.setPhoneHome( (String)objBean.getValue("phoneHome") ); ejb.setPhoneWork( (String)objBean.getValue("phoneWork") ); ejb.setPhoneFax( (String)objBean.getValue("phoneFax") ); ejb.setPhoneCell( (String)objBean.getValue("phoneCell") ); long now = (new Date()).getTime(); if ( ejb.getDateCreated() == null ) { ejb.setDateCreated( new java.sql.Date ( now ) ); } ejb.setDateModified( new java.sql.Date ( now ) ); return getObjectBean( ejb ); } catch ( RemoteException e ) { System.out.println( "RemoteException " + e + " caught in AddressMapperCMP.add" ); return null; } } /** * Insert the method's description here. * Creation date: (1/30/2002 1:36:08 PM) * @return boolean * @param p edu.jbs.ooc.ui.Person */ public TransportBean update( TransportBean tpBean ) { try { TransportBean respBean = new TransportBean(); ObjectBean objBean = (ObjectBean)(tpBean.getBeanCurrent()); if ( objBean == null ) { respBean.setTarget( ObjectBean.PERSON ); respBean.setResponseMessage("OBMapperPerson.add: null ObjectBean"); return respBean; } String id = (String)objBean.getValue( "personID" ); DBPerson ejb = ejbHome.findByPrimaryKey( new DBPersonKey(id) ); ObjectBean rb = setEJBValues( ejb, objBean ); // fills in fields and generates ObjectBean respBean.add( rb ); respBean.setTarget( ObjectBean.PERSON ); respBean.setResponseCode("200" ); respBean.setResponseMessage( "Person update ok." ); return respBean; } catch ( FinderException e ) { System.out.println( "FinderException " + e + " caught in AddressMapperCMP.update" ); return null; } catch ( RemoteException e ) { System.out.println( "RemoteException " + e + " caught in AddressMapperCMP.update" ); return null; } }}