1 26 package org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.binder; 27 28 import org.objectweb.openccm.descriptor.componentassembly.beans.ComponentinstantiationrefBeanImpl; 29 import org.objectweb.openccm.descriptor.componentassembly.beans.ProvidesportBeanImpl; 30 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.base.HandlerBase; 31 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.base.InitializationError; 32 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.installer.ComponentinstantiationDeployer; 33 import org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.util.FindbyDeployer; 34 35 43 public class ProvidesportDeployerHandler 44 extends HandlerBase 45 { 46 private ProvidesportDeployer _deploy; 52 68 76 public Object 77 getInstance(ProvidesportBeanImpl cons) 78 throws InitializationError 79 { 80 if(_deploy==null){ 81 _deploy=new ProvidesportDeployer(); 82 _deploy.connectProvidesport(cons); 83 applyCommonConfig(_deploy); 84 if(cons.getFindby()!=null){ 85 _deploy.connectFindbyDeployer((FindbyDeployer)getDeployer(cons.getFindby())); 86 } 87 if(cons.getComponentinstantiationref()!=null&& 88 cons.getComponentinstantiationref().getIdref()!=null) 89 { 90 try{ 91 if(((ComponentinstantiationrefBeanImpl)cons.getComponentinstantiationref()) 92 .pullIdref()==null) 93 throw new InitializationError(_deploy,"Bad componentinstantiationref idref was specified "+ 94 cons.getComponentinstantiationref().getIdref()+ 95 " check your CAD file "+_deploy.getStringifiedDeployerDescription()); 96 97 _deploy.connectComponentinstantiationDeployer( 98 (ComponentinstantiationDeployer) 99 getDeployer( 100 ((ComponentinstantiationrefBeanImpl)cons.getComponentinstantiationref()) 101 .pullIdref())); 102 } 103 catch(java.lang.ClassCastException e){ 104 String classFound=((ComponentinstantiationrefBeanImpl)cons.getComponentinstantiationref()) 105 .pullIdref().getClass().getName(); 106 throw new InitializationError(_deploy,"Similar identifiants was detected, it was expected that \""+ 107 cons.getComponentinstantiationref().getIdref()+"\" id of <providesport> element"+ 108 " denote a <componentinstantiation> element:\n" 109 +getStringifiedDescription(cons) 110 +"\n but a <" 111 +classFound.substring(classFound.lastIndexOf('.')+1,classFound.lastIndexOf("BeanImpl")) 112 +"> element was found:\n " 113 +getStringifiedDescription(((ComponentinstantiationrefBeanImpl)cons.getComponentinstantiationref()).pullIdref()) 114 +"check your CAD file a identifiant is used for two different elements."+ 115 " To achieve successfully the deployment use different names for those two identifiants"); 116 117 } 118 119 } 120 _deploy.initialize(); 121 } 122 return (_deploy); 123 } 124 125 } 126 | Popular Tags |