1 20 package org.enhydra.barracuda.contrib.sam.data; 21 22 import javax.servlet.http.*; 23 import org.enhydra.barracuda.core.event.*; 24 import org.enhydra.barracuda.contrib.sam.models.*; 25 import org.enhydra.barracuda.contrib.sam.xmlform.*; 26 import org.apache.log4j.*; 27 28 public abstract class DataObjectDeleteHandler extends DefaultBaseEventListener implements GetConfig { 29 30 protected static Logger logger = Logger.getLogger(DataObjectDeleteHandler.class.getName()); 31 32 public abstract Config getConfig(); 33 protected Config config; 34 35 public void handleControlEvent(ControlEventContext context) throws EventException, javax.servlet.ServletException , java.io.IOException  36 { 37 BaseEvent event = context.getEvent(); 38 HttpServletRequest request = context.getRequest(); 39 HttpSession session = request.getSession(); 40 41 config = getConfig(); 42 43 if (ErrorModel.exists(context)) return; 44 logger.info("Deleting DataObject"); 45 XmlFormMap xfm = (XmlFormMap) context.getState(config.getMapName()); 46 String oid = xfm.getStringVal(config.getOidName()); 47 logger.info(config.getOidName() + " is " + oid); 48 try { 49 DataObject dataObj = config.getDataObject(oid); 50 dataObj.delete(null); 51 xfm = new XmlFormMap(context, config.getXmlFormName(), config.getFormName(), null); 53 context.putState(config.getMapName(),xfm); 54 } catch (DataObjectException ex) { 55 logger.error(ex.getMessage(),ex); 56 } 57 } 58 } 59 | Popular Tags |