Package csep.generator

Source Code of csep.generator.Main

/*
* generated by Xtext
*/
package csep.generator;

import java.util.List;

import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.xtext.generator.IGenerator;
import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
import org.eclipse.xtext.util.CancelIndicator;
import org.eclipse.xtext.validation.CheckMode;
import org.eclipse.xtext.validation.IResourceValidator;
import org.eclipse.xtext.validation.Issue;

import com.google.inject.Inject;
import com.google.inject.Injector;
import com.google.inject.Provider;

public class Main {
 
  public static void main(String[] args) {
    if (args.length==0) {
      System.err.println("Aborting: no path to EMF resource provided!");
      return;
    }
    Injector injector = new csep.CoffeeScriptStandaloneSetupGenerated().createInjectorAndDoEMFRegistration();
    Main main = injector.getInstance(Main.class);
    main.runGenerator(args[0]);
  }
 
  @Inject
  private Provider<ResourceSet> resourceSetProvider;
 
  @Inject
  private IResourceValidator validator;
 
  @Inject
  private IGenerator generator;
 
  @Inject
  private JavaIoFileSystemAccess fileAccess;

  protected void runGenerator(String string) {
    // load the resource
    ResourceSet set = resourceSetProvider.get();
    Resource resource = set.getResource(URI.createURI(string), true);
   
    // validate the resource
    List<Issue> list = validator.validate(resource, CheckMode.ALL, CancelIndicator.NullImpl);
    if (!list.isEmpty()) {
      for (Issue issue : list) {
        System.err.println(issue);
      }
      return;
    }
   
    // configure and start the generator
    fileAccess.setOutputPath("src-gen/");
    generator.doGenerate(resource, fileAccess);
   
    System.out.println("Code generation finished.");
  }
}
TOP

Related Classes of csep.generator.Main

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.