KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > openccm > uml > transformation > modfact > TransformJmiModelRootsAction


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: TransformJmiModelRootsAction.java,v 1.1 2004/05/26 11:25:35 carpentier Exp $
27 ====================================================================*/

28
29 package org.objectweb.openccm.uml.transformation.modfact;
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 import javax.jmi.reflect.RefPackage;
37 import java.util.Collection JavaDoc;
38 import java.util.Iterator JavaDoc;
39
40 /**
41  * An action walking the roots of the model and calling the engine on each roots.
42  */

43 public class TransformJmiModelRootsAction extends CompositeXmlAction {
44
45     /**
46      * Default Constructor.
47      */

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

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

65         public Object JavaDoc execute(Object JavaDoc bean, RuleContext request) throws TransformationException {
66             Collection JavaDoc roots = JmiModFactModelCreateUtils.getRoots((RefPackage) bean);
67             Iterator JavaDoc iter = roots.iterator();
68
69             if (!iter.hasNext())
70                 System.out.println(" Warning - no roots found for model '" + bean + "'");
71             while (iter.hasNext()) {
72                 Object JavaDoc cur = iter.next();
73                 request.engineContext.engine.transform(cur, request);
74             }
75             return null;
76         }
77     } // end class
78
}
79
Popular Tags