blob: 9b19da1d4d23d5aa4210ca676d66bea26317b05c [file] [log] [blame]
package org.eclipse.gmf.codegen.gwt.ui.actions
import com.google.inject.Inject
import org.eclipse.core.runtime.IProgressMonitor
import org.eclipse.core.runtime.Status
import org.eclipse.emf.ecore.resource.Resource
import org.eclipse.gmf.codegen.gmfgen.GenEditorGenerator
import org.eclipse.gmf.codegen.gwt.IProjectGenerator
import org.eclipse.gmf.codegen.gwt.client.ClientGenerator
class ClientGeneratorHandler extends AbstractGeneratorHandler {
@Inject ClientGenerator generator
@Inject IProjectGenerator projectGenerator
override protected doGenerate(Resource resource, IProgressMonitor monitor) {
val editor = resource.contents.get(0) as GenEditorGenerator
generateClientProject(generator, editor, monitor)
}
protected def generateClientProject(ClientGenerator generator, GenEditorGenerator editor, IProgressMonitor monitor) {
// val moduleName = editor.domainGenModel.modelPluginPackageName + "." + editor.modelID
val artifactId = editor.plugin.ID + ".client"
val project = projectGenerator.createProject(artifactId, null, monitor)
val root = projectGenerator.getFragmentRoot(project, monitor)
generator.generate(editor, project, root, monitor)
Status.OK_STATUS
}
}