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.PublishesportBeanImpl; 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 PublishesportDeployerHandler 44 extends HandlerBase 45 { 46 private PublishesportDeployer _deploy; 52 75 public Object 76 getInstance(PublishesportBeanImpl cons) 77 throws InitializationError 78 { 79 if(_deploy==null){ 80 _deploy=new PublishesportDeployer(); 81 _deploy.connectPublishesport(cons); 82 applyCommonConfig(_deploy); 83 if(cons.getFindby()!=null){ 84 _deploy.connectFindbyDeployer((FindbyDeployer)getDeployer(cons.getFindby())); 85 } 86 if(cons.getComponentinstantiationref()!=null&& 87 cons.getComponentinstantiationref().getIdref()!=null) 88 { 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 <publishesport> 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 _deploy.initialize(); 120 } 121 return (_deploy); 122 } 123 124 } 125 | Popular Tags |