1 23 24 package org.infoglue.cms.controllers.usecases.structuretool.impl.simple; 25 26 import org.apache.log4j.Logger; 27 import org.exolab.castor.jdo.Database; 28 import org.infoglue.cms.controllers.kernel.impl.simple.BaseUCCController; 29 import org.infoglue.cms.controllers.kernel.impl.simple.CastorDatabaseService; 30 import org.infoglue.cms.controllers.kernel.impl.simple.SiteNodeVersionController; 31 import org.infoglue.cms.controllers.usecases.structuretool.UpdateSiteNodeVersionUCC; 32 import org.infoglue.cms.entities.structure.SiteNodeVersion; 33 import org.infoglue.cms.entities.structure.SiteNodeVersionVO; 34 import org.infoglue.cms.exception.ConstraintException; 35 import org.infoglue.cms.exception.SystemException; 36 import org.infoglue.cms.util.ConstraintExceptionBuffer; 37 38 public class UpdateSiteNodeVersionUCCImpl extends BaseUCCController implements UpdateSiteNodeVersionUCC 39 { 40 private final static Logger logger = Logger.getLogger(UpdateSiteNodeVersionUCCImpl.class.getName()); 41 42 public SiteNodeVersionVO updateSiteNodeVersion(Integer siteNodeVersionId, SiteNodeVersionVO siteNodeVersionVO) throws ConstraintException, SystemException 43 { 44 Database db = CastorDatabaseService.getDatabase(); 45 ConstraintExceptionBuffer ceb = new ConstraintExceptionBuffer(); 46 47 SiteNodeVersion siteNodeVersion = null; 48 49 beginTransaction(db); 50 51 try 52 { 53 siteNodeVersion = SiteNodeVersionController.getController().getSiteNodeVersionWithId(siteNodeVersionId, db); 55 siteNodeVersion.setValueObject(siteNodeVersionVO); 56 57 ceb.throwIfNotEmpty(); 59 60 commitTransaction(db); 61 } 62 catch(ConstraintException ce) 63 { 64 logger.warn("An error occurred so we should not complete the transaction:" + ce, ce); 65 rollbackTransaction(db); 66 throw ce; 67 } 68 catch(Exception e) 69 { 70 logger.error("An error occurred so we should not complete the transaction:" + e, e); 71 rollbackTransaction(db); 72 throw new SystemException(e.getMessage()); 73 } 74 75 76 return siteNodeVersion.getValueObject(); 77 } 78 } 79 80 | Popular Tags |