1 23 24 package org.infoglue.deliver.controllers.kernel.impl.simple; 25 26 import org.apache.log4j.Logger; 27 import org.exolab.castor.jdo.Database; 28 import org.exolab.castor.jdo.OQLQuery; 29 import org.exolab.castor.jdo.QueryResults; 30 import org.infoglue.cms.entities.management.AvailableServiceBinding; 31 import org.infoglue.cms.entities.management.AvailableServiceBindingVO; 32 import org.infoglue.cms.exception.SystemException; 33 import org.infoglue.deliver.applications.actions.UpdateCacheAction; 34 import org.infoglue.deliver.util.CacheController; 35 36 37 public class AvailableServiceBindingDeliveryController extends BaseDeliveryController 38 { 39 private final static Logger logger = Logger.getLogger(AvailableServiceBindingDeliveryController.class.getName()); 40 41 44 45 private AvailableServiceBindingDeliveryController() 46 { 47 } 48 49 52 53 public static AvailableServiceBindingDeliveryController getAvailableServiceBindingDeliveryController() 54 { 55 return new AvailableServiceBindingDeliveryController(); 56 } 57 58 59 62 63 public AvailableServiceBindingVO getAvailableServiceBindingVO(String availableServiceBindingName, Database db) throws SystemException, Exception 64 { 65 String key = "" + availableServiceBindingName; 66 logger.info("key:" + key); 67 AvailableServiceBindingVO availableServiceBindingVO = (AvailableServiceBindingVO)CacheController.getCachedObject("availableServiceBindingCache", key); 68 if(availableServiceBindingVO != null) 69 { 70 logger.info("There was an cached availableServiceBindingVO:" + availableServiceBindingVO); 71 } 72 else 73 { 74 logger.info("Going to look for availableServiceBindingName " + availableServiceBindingName); 75 76 OQLQuery oql = db.getOQLQuery( "SELECT asb FROM org.infoglue.cms.entities.management.impl.simple.SmallAvailableServiceBindingImpl asb WHERE asb.name = $1"); 78 oql.bind(availableServiceBindingName); 80 81 QueryResults results = oql.execute(Database.ReadOnly); 82 if (results.hasMore()) 83 { 84 AvailableServiceBinding availableServiceBinding = (AvailableServiceBinding)results.next(); 85 availableServiceBindingVO = availableServiceBinding.getValueObject(); 86 logger.info("Found availableServiceBinding:" + availableServiceBindingVO.getName()); 87 } 88 else 89 { 90 logger.info("Found no AvailableServiceBindingVO with name " + availableServiceBindingName); 91 } 92 93 results.close(); 94 oql.close(); 95 96 98 CacheController.cacheObject("availableServiceBindingCache", key, availableServiceBindingVO); 99 } 100 101 return availableServiceBindingVO; 102 } 103 104 107 108 public AvailableServiceBinding getAvailableServiceBinding(String availableServiceBindingName, Database db) throws SystemException, Exception 109 { 110 AvailableServiceBinding availableServiceBinding = null; 111 112 OQLQuery oql = db.getOQLQuery( "SELECT asb FROM org.infoglue.cms.entities.management.impl.simple.AvailableServiceBindingImpl asb WHERE asb.name = $1"); 113 oql.bind(availableServiceBindingName); 114 115 QueryResults results = oql.execute(Database.ReadOnly); 116 if (results.hasMore()) 117 { 118 availableServiceBinding = (AvailableServiceBinding)results.next(); 119 logger.info("Found availableServiceBinding:" + availableServiceBinding.getName()); 120 } 121 122 results.close(); 123 oql.close(); 124 125 return availableServiceBinding; 126 } 127 128 } | Popular Tags |