KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > uml > transformation > ast > DestroyCidlModule


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): Pierre Carpentier.
23 Contributor(s): Philippe Merle.
24
25 ---------------------------------------------------------------------
26 $Id: DestroyCidlModule.java,v 1.3 2005/04/01 20:04:08 contrera Exp $
27 ====================================================================*/

28
29 package org.objectweb.openccm.uml.transformation.ast;
30
31 import ispuml.mdaTransformation.RuleContext;
32 import ispuml.mdaTransformation.TransformationException;
33 import ispuml.mdaTransformation.ActionBase;
34 import ispuml.mdaTransformation.rules.xml.CompositeXmlAction;
35
36
37 /**
38  * This action destroys the CIDL Module from the OpenCCM Interface Repository.
39  */

40 public class DestroyCidlModule extends CompositeXmlAction {
41
42     /**
43      * Constructor.
44      */

45     public DestroyCidlModule() {
46         // The src property is not required. If it is not set, use the bean provided
47
// as parameter.
48
isSrcPropertyRequired = false;
49         isDstPropertyRequired = false;
50         action = new TransformAction();
51     }
52     
53
54     /**
55      * Inner class
56      */

57     class TransformAction extends ActionBase {
58         /**
59          * Transform the bean and return the result.
60          * @param object
61          * @return Object
62          */

63         public Object JavaDoc execute(Object JavaDoc bean, RuleContext request) throws TransformationException {
64             CCMASTModelContext context;
65             context = (CCMASTModelContext) request.engineContext.getModel("ccm-ast");
66             Object JavaDoc obj = request.getAttribute("declaration");
67             org.objectweb.openccm.ast.api.CidlModuleDecl cidlModule;
68             cidlModule = (org.objectweb.openccm.ast.api.CidlModuleDecl) obj;
69             String JavaDoc cidlModuleName = cidlModule.getName();
70             
71             // Destroy the CIDL Module
72
org.objectweb.openccm.ir3.api.ComponentRepository interfaceRepository;
73             interfaceRepository = org.objectweb.openccm.ir3.api.ComponentRepositoryHelper.narrow(
74                 org.objectweb.openccm.corba.TheInterfaceRepository.getRepository());
75             interfaceRepository.lookup(cidlModule.getName()).destroy();
76             
77             return cidlModule;
78         }
79
80     } // end class
81
}
82
Popular Tags