ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
// cast my form to a useful Type
CatalogItemForm optionForm = (CatalogItemForm) form;
// get a DAO for the new Stake
pdao = new InternetProductDAO();
dao = new InternetProductOptionDAO();
InternetProductOption option = null;
try {
// find option objects and attach to request
option = dao.findById(optionForm.getId(), false);
Product product = pdao.findById(optionForm.getProductId(),false);
// copy form-bean values to new Stake and Address objects
// NOTE: PropertyUtils will not work in this situation since there
// is an ID field which is different for Stake and Address
option.setName(optionForm.getName());
option.setDescription(optionForm.getDescription());
option.setStockKeepingUnitIdentifier(optionForm.getStockKeepingUnitIdentifier());
option.setUnitPriceManufacturerSuggestedRetail(optionForm.getUnitPriceManufacturerSuggestedRetail());
option.setUnitPriceActualRetail(optionForm.getUnitPriceActualRetail());
option.setUnitWeightInOunces(optionForm.getUnitWeightInOunces());
option.getSearchDetails().setSearchMetaAuthor(optionForm.getSearchMetaAuthor());
option.getSearchDetails().setSearchMetaKeywords(optionForm.getSearchMetaKeywords());
option.getSearchDetails().setSearchMetaDescription(optionForm.getSearchMetaDescription());
option.getSearchDetails().setSearchMetaDate(optionForm.getSearchMetaDate());
option.getSearchDetails().setSearchMetaCopyright(optionForm.getSearchMetaCopyright());
product.associate(option);
// update the Stake
dao.makePersistent(option);