1 /*==================================================================== 2 3 OpenCCM: The Open CORBA Component Model Platform 4 Copyright (C) 2000-2004 INRIA - USTL - LIFL - GOAL 5 Contact: openccm@objectweb.org 6 7 This library is free software; you can redistribute it and/or 8 modify it under the terms of the GNU Lesser General Public 9 License as published by the Free Software Foundation; either 10 version 2.1 of the License, or any later version. 11 12 This library is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 Lesser General Public License for more details. 16 17 You should have received a copy of the GNU Lesser General Public 18 License along with this library; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 20 USA 21 22 Initial developer(s): Briclet Frédéric. 23 Contributor(s): ______________________________________. 24 25 ====================================================================*/ 26 package org.objectweb.openccm.descriptor.componentassembly.ccm.deployer.installer; 27 28 29 import org.objectweb.openccm.descriptor.componentassembly.beans.ExistinghomeBeanImpl; 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.util.FindbyDeployer; 33 34 /** 35 * This handler is used to produceexistinghomeDeployer from an 36 * existinghome bean . 37 * 38 * @author <a HREF="mailto:briclet@lifl.fr">Briclet Frédéric</a> 39 * 40 * @version 0.1 41 */ 42 public class ExistinghomeDeployerHandler 43 extends HandlerBase 44 { 45 // ================================================================== 46 // 47 // Internal state. 48 // 49 // ================================================================== 50 private ExistinghomeDeployer _deploy; 51 // ================================================================== 52 // 53 // Constructors. 54 // 55 // ================================================================== 56 // ================================================================== 57 // 58 // Internal methods. 59 // 60 // ================================================================== 61 // ================================================================== 62 // 63 // Public methods. 64 // 65 // ================================================================== 66 /** 67 * Produce the existinghome deployer binded 68 * to the givean @param comp. 69 * 70 * @param comp The existinghome bean 71 * @return the deployer produced in initialize state 72 * @throws InitializationError thrown if a problem is detected 73 */ 74 public Object getInstance(ExistinghomeBeanImpl comp) 75 throws InitializationError 76 { 77 if(_deploy==null){ 78 _deploy=new ExistinghomeDeployer(); 79 _deploy.connectExistinghome(comp); 80 applyCommonConfig(_deploy); 81 _deploy.connectFindbyDeployer((FindbyDeployer)getDeployer(comp.getFindby())); 82 _deploy.initialize(); 83 } 84 return (_deploy); 85 } 86 } 87