/** * Business unit of work This method is used to save a new Customer or an existing customer after * editing * * @param new customer details * @return true or false whether the customer is saved or not */ public boolean saveCustomer(RhccCustInfos saveCustomer, Hashtable custErrors) throws RemoteException { USFEnv.getLog().writeWarn(" Inside saveCustomer", this, null); long customerId; boolean bCustErr = false; boolean bTmp = false; // Get the connection RhccCustInfos rhcc_obj = new RhccCustInfos(conn); try { customerId = saveCustomer.getCustomerId(); if (conn != null) { USFEnv.getLog() .writeDebug("saveCustomer DB connection, ref: " + conn.toString(), this, null); } // Check business logic field value validation bCustErr = rhcccustValidate.customerBusVal(saveCustomer, custErrors); // Check if critial error occured if (!bCustErr) { // Saving a new customer if (customerId == 0) { // One time funding year set for new customer record bTmp = newCustomer(saveCustomer); USFEnv.getLog() .writeWarn( "new RhccCustInfo created, RCI_ID: " + saveCustomer.getCustomerId(), this, null); } else { // Saving an exiting customer bTmp = updateCustomer(saveCustomer); } } } catch (Exception e) { USFEnv.getLog().writeCrit("Error in business EJB: ", this, e); } return bTmp; }