/**
* insertItem method comment.
*/
public void insertItem(Object jobObj, Object compObj, Object skilllistobj) throws
template.model.ValExc, com.ibm.ivj.eab.dab.DAException {
//Only JobOrderData object will be passed into this method.
//It is brought in as an Object. To use the methods of JobOrderData
//cast back to JobOrderData type. Object type was used for flexibility
//ie, so all objects can be passed into this method.
JobOrderData newJobOrder = (JobOrderData)jobObj;
//also cast data back to CompanyData
type
company.model.CompanyData newCompany = (company.model.CompanyData)compObj;
//if user is trying to update rather than add let them know what to do
if(newJobOrder.getId()!=0)
{
throw new template.model.ValExc("This job order already exists. To add a new job order, select 'Clear' first, then click on 'Add'.");
}//end if
//We first want to insert this new JobOrder into our database. We will use the dbJobOrder property
to do so.
//The dbJobOrder property is a property of type JobOrder. JobOrder is the DAB located in the jobsdb
package. It is used to operate on one row from the JobOrder table in our database.
//By setting the Id to zero, DB2 will generate a proper
primary key for us in the database
getDbJobOrder().setId(0);
//Set the properties of the dbJobOrder to the new JobOrder being passed into this method
getDbJobOrder().setDateopened(newJobOrder.getDateOpened());
getDbJobOrder().setDateclosed(newJobOrder.getDateClosed());
getDbJobOrder().setJobtitle(newJobOrder.getJobTitle());
getDbJobOrder().setEmployerid(newCompany.getId());
getDbJobOrder().setSalarymin(newJobOrder.getSalaryMin());
getDbJobOrder().setSalarymax(newJobOrder.getSalaryMax());
getDbJobOrder().setStatus(newJobOrder.getStatus());
getDbJobOrder().setNotes(newJobOrder.getNotes());
//Invoke the add method of the dbJobOrder to add this
JobOrder to our database table called JobOrder.
getDbJobOrder().add();
//Once it has been added to our database we have to bring it back
to our list of skills.
//First create a new JobOrderData object.
JobOrderData jobOrderX = new JobOrderData();
//Set the Id of our JobOrderX to the largest id in our database.
//This value has just been generated by our database.
//getMaxId() is a method of jobsdb.JobOrder class to get the largest primary key in the table
jobOrderX.setId(getDbJobOrder().getMaxId());
//Get the name from our dbJobOrder object and set it's value
to our JobOrderX object.
jobOrderX.setJobTitle(getDbJobOrder().getJobtitle());
jobOrderX.setDateClosed(getDbJobOrder().getDateclosed());
jobOrderX.setDateOpened(getDbJobOrder().getDateopened());
jobOrderX.setEmployerId(getDbJobOrder().getEmployerid());
jobOrderX.setNotes(getDbJobOrder().getNotes());
jobOrderX.setSalaryMax(getDbJobOrder().getSalarymax());
jobOrderX.setSalaryMin(getDbJobOrder().getSalarymin());
jobOrderX.setStatus(getDbJobOrder().getStatus());
//This addElement method can be used because it has been
inherited by our model class from the //default list model class. This class extends DefaultListModel.
this.saveAssociatedSkills(jobObj,skilllistobj);
addElement(jobOrderX);
//Because this model will be visually connected to our view, JobOrderX can now
//be viewed in our Jlist
}
|