NodeFacadeLogicImpl.java
package org.andromda.cartridges.deployment.metafacades;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import org.andromda.cartridges.deployment.psm.ant.Project;
import org.andromda.cartridges.deployment.psm.ant.Target;
import org.omg.uml.foundation.core.Node;
/**
* MetafacadeLogic implementation for
* org.andromda.cartridges.deployment.metafacades.NodeFacade.
*
* @see org.andromda.cartridges.deployment.metafacades.NodeFacade
*/
public class NodeFacadeLogicImpl extends NodeFacadeLogic
{
public NodeFacadeLogicImpl(Node metaObject,
String context)
{
super(metaObject, context);
}
/**
* @see org.andromda.cartridges.deployment.metafacades.NodeFacade#getDeployedComponents()
*/
protected Collection handleGetDeployedComponents()
{
return this.metaObject.getDeployedComponent();
}
/**
* @see org.andromda.cartridges.deployment.metafacades.NodeFacadeLogic#handleTransformToAntProject()
*/
protected Project handleTransformToAntProject()
{
ArrayList compilationTasks = new ArrayList();
ArrayList deploymentTasks = new ArrayList();
for (Iterator iter = getDeployedComponents().iterator(); iter.hasNext();)
{
ComponentFacade element = (ComponentFacade) iter.next();
compilationTasks.addAll(element.getTasksForCompilationPhase());
deploymentTasks.addAll(element.getTasksForDeploymentPhase());
}
Target compilationTarget = new Target("compile", null, compilationTasks);
Target deploymentTarget = new Target("deploy", "compile",
deploymentTasks);
ArrayList allTargets = new ArrayList(2);
allTargets.add(compilationTarget);
allTargets.add(deploymentTarget);
Project p = new Project(getFullyQualifiedName(), "deploy", allTargets);
return p;
}
}