01: package org.andromda.cartridges.deployment.metafacades;
02:
03: import java.util.ArrayList;
04: import java.util.Iterator;
05:
06: import org.andromda.cartridges.deployment.psm.ant.Project;
07: import org.andromda.cartridges.deployment.psm.ant.Target;
08:
09: /**
10: * MetafacadeLogic implementation for
11: * org.andromda.cartridges.deployment.metafacades.NodeFacade.
12: *
13: * @see org.andromda.cartridges.deployment.metafacades.NodeFacade
14: */
15: public class NodeFacadeLogicImpl extends NodeFacadeLogic {
16:
17: public NodeFacadeLogicImpl(
18: org.omg.uml.foundation.core.Node metaObject, String context) {
19: super (metaObject, context);
20: }
21:
22: /**
23: * @see org.andromda.cartridges.deployment.metafacades.NodeFacade#getDeployedComponents()
24: */
25: protected java.util.Collection handleGetDeployedComponents() {
26: return this .metaObject.getDeployedComponent();
27: }
28:
29: /*
30: * (non-Javadoc)
31: *
32: * @see org.andromda.cartridges.deployment.metafacades.NodeFacadeLogic#handleTransformToAntProject()
33: */
34: protected Project handleTransformToAntProject() {
35: ArrayList compilationTasks = new ArrayList();
36: ArrayList deploymentTasks = new ArrayList();
37: for (Iterator iter = getDeployedComponents().iterator(); iter
38: .hasNext();) {
39: ComponentFacade element = (ComponentFacade) iter.next();
40: compilationTasks.addAll(element
41: .getTasksForCompilationPhase());
42: deploymentTasks
43: .addAll(element.getTasksForDeploymentPhase());
44: }
45:
46: Target compilationTarget = new Target("compile", null,
47: compilationTasks);
48: Target deploymentTarget = new Target("deploy", "compile",
49: deploymentTasks);
50:
51: ArrayList allTargets = new ArrayList(2);
52: allTargets.add(compilationTarget);
53: allTargets.add(deploymentTarget);
54:
55: Project p = new Project(getFullyQualifiedName(), "deploy",
56: allTargets);
57: return p;
58: }
59:
60: }
|