KickJava   Java API By Example, From Geeks To Geeks.

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


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: PrimaryKeyInheritance.java,v 1.1 2004/05/26 11:25:35 carpentier 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 allows to get the PrimaryKeyBase which is the parent of all PrimaryKey.
39  *
40  * @author Pierre Carpentier
41  */

42 public class PrimaryKeyInheritance extends CompositeXmlAction {
43
44     /**
45      * Constructor.
46      */

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

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

64         public Object JavaDoc execute(Object JavaDoc bean, RuleContext request) throws TransformationException {
65             CCMASTModelContext context;
66             context = (CCMASTModelContext) request.engineContext.getModel("ccm-ast");
67             org.objectweb.openccm.ast.api.ValueDecl value = (org.objectweb.openccm.ast.api.ValueDecl) request.getAttribute("declaration");
68             String JavaDoc pkBaseId = "IDL:omg.org/Components/PrimaryKeyBase:1.0";
69             org.objectweb.openccm.ast.api.ValueDecl pkBase = (org.objectweb.openccm.ast.api.ValueDecl) CCMASTModelCreateUtils.getAst().lookupId(pkBaseId);
70             value.getAbstractValueList().add(pkBase);
71             
72             return null;
73         }
74         
75         
76
77     } // end class
78
}
79
Popular Tags