All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.nakeduml.uigeneration.UserInteractionTransformationPhase Maven / Gradle / Ivy

package net.sf.nakeduml.uigeneration;

import java.util.List;

import net.sf.nakeduml.feature.InputModel;
import net.sf.nakeduml.feature.NakedUmlConfig;
import net.sf.nakeduml.feature.PhaseDependency;
import net.sf.nakeduml.feature.TransformationPhase;
import net.sf.nakeduml.javageneration.JavaTransformationPhase;
import net.sf.nakeduml.javametamodel.OJPackage;
import net.sf.nakeduml.metamodel.core.INakedPackage;
import net.sf.nakeduml.metamodel.workspace.INakedModelWorkspace;
import net.sf.nakeduml.textmetamodel.TextWorkspace;
import net.sf.nakeduml.userinteractionmetamodel.UserInteractionFolder;
import net.sf.nakeduml.userinteractionmetamodel.UserInteractionWorkspace;

@PhaseDependency(after = JavaTransformationPhase.class/*,before = SeamTransformationPhase.class*/)
public class UserInteractionTransformationPhase implements TransformationPhase{
	@InputModel
	private INakedModelWorkspace modelWorkspace;
	@InputModel
	private TextWorkspace textWorkspace;
	@InputModel
	private UserInteractionWorkspace uiWorkspace;
	@InputModel
	private OJPackage javaModel;
	private NakedUmlConfig config;
	public Object[] execute(List features){
		INakedPackage generatingModel = modelWorkspace.getGeneratingModelsOrProfiles().get(0);
		uiWorkspace.setName(generatingModel .getName());
		for(AbstractUserInteractionTransformationStep d:features){
			d.initialize(generatingModel, textWorkspace, uiWorkspace, javaModel,config);
			d.startVisiting(modelWorkspace);
		}
		StringBuilder xml = new StringBuilder();
		xml.append("");
		for(UserInteractionFolder dp:uiWorkspace.getChildFolder()){
			xml.append(dp.toXmlString());
		}
		xml.append("");
		return new Object[]{};
	}
	public void initialize(NakedUmlConfig config){
		this.config = config;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy