1 16 package org.apache.juddi.function; 17 18 import java.util.Vector ; 19 20 import org.apache.commons.logging.Log; 21 import org.apache.commons.logging.LogFactory; 22 import org.apache.juddi.datastore.DataStore; 23 import org.apache.juddi.datastore.DataStoreFactory; 24 import org.apache.juddi.datatype.RegistryObject; 25 import org.apache.juddi.datatype.request.GetBusinessDetail; 26 import org.apache.juddi.datatype.response.BusinessDetail; 27 import org.apache.juddi.error.InvalidKeyPassedException; 28 import org.apache.juddi.error.RegistryException; 29 import org.apache.juddi.registry.RegistryEngine; 30 import org.apache.juddi.util.Config; 31 32 35 public class GetBusinessDetailFunction extends AbstractFunction 36 { 37 private static Log log = LogFactory.getLog(GetBusinessDetailFunction.class); 39 40 43 public GetBusinessDetailFunction(RegistryEngine registry) 44 { 45 super(registry); 46 } 47 48 51 public RegistryObject execute(RegistryObject regObject) 52 throws RegistryException 53 { 54 GetBusinessDetail request = (GetBusinessDetail)regObject; 55 String generic = request.getGeneric(); 56 Vector businessKeyVector = request.getBusinessKeyVector(); 57 58 DataStore dataStore = DataStoreFactory.getDataStore(); 60 61 try 62 { 63 dataStore.beginTrans(); 64 65 for (int i=0; i<businessKeyVector.size(); i++) 66 { 67 String businessKey = (String )businessKeyVector.elementAt(i); 68 69 if ((businessKey == null) || (businessKey.length() == 0) || 71 (!dataStore.isValidBusinessKey(businessKey))) 72 throw new InvalidKeyPassedException("get_businessDetail: "+ 73 "businessKey="+businessKey); 74 } 75 76 Vector businessVector = new Vector (); 77 78 for (int i=0; i<businessKeyVector.size(); i++) 79 { 80 String businessKey = (String )businessKeyVector.elementAt(i); 81 businessVector.addElement(dataStore.fetchBusiness(businessKey)); 82 } 83 84 dataStore.commit(); 85 86 BusinessDetail detail = new BusinessDetail(); 88 detail.setGeneric(generic); 89 detail.setOperator(Config.getOperator()); 90 detail.setBusinessEntityVector(businessVector); 91 return detail; 92 } 93 catch(InvalidKeyPassedException keyex) 94 { 95 try { dataStore.rollback(); } catch(Exception e) { } 96 log.info(keyex.getMessage()); 97 throw (RegistryException)keyex; 98 } 99 catch(RegistryException regex) 100 { 101 try { dataStore.rollback(); } catch(Exception e) { } 102 log.error(regex); 103 throw (RegistryException)regex; 104 } 105 catch(Exception ex) 106 { 107 try { dataStore.rollback(); } catch(Exception e) { } 108 log.error(ex); 109 throw new RegistryException(ex); 110 } 111 finally 112 { 113 dataStore.release(); 114 } 115 } 116 117 118 119 120 121 122 123 public static void main(String [] args) 124 { 125 RegistryEngine reg = new RegistryEngine(); 127 reg.init(); 128 129 try 130 { 131 } 132 catch (Exception ex) 133 { 134 ex.printStackTrace(); 136 } 137 finally 138 { 139 reg.dispose(); 141 } 142 } 143 } 144 145 | Popular Tags |