Search in sources :

Example 6 with Model

use of com.robotoworks.mechanoid.db.sqliteModel.Model in project mechanoid by robotoworks.

the class NewMechanoidDBFileWizard method createElementResource.

@Override
protected IResource createElementResource(IProgressMonitor monitor, IPath path) {
    try {
        if (monitor == null) {
            monitor = new NullProgressMonitor();
        }
        monitor.beginTask(Messages.NewMechanoidDBFileWizard_Progress_Message, 2);
        URI newEmfResourceURI = URI.createURI(//$NON-NLS-1$
        "platform:/resource" + path.toPortableString());
        Resource emfResource = mResourceSet.createResource(newEmfResourceURI);
        Model model = SqliteModelFactory.eINSTANCE.createModel();
        model.setPackageName(mSelectedPackageName);
        emfResource.getContents().add(model);
        DatabaseBlock database = (DatabaseBlock) SqliteModelFactory.eINSTANCE.createDatabaseBlock();
        database.setName(mSelectedElementName);
        model.setDatabase(database);
        MigrationBlock migration = (MigrationBlock) SqliteModelFactory.eINSTANCE.createMigrationBlock();
        database.getMigrations().add(migration);
        emfResource.save(Collections.EMPTY_MAP);
        monitor.worked(1);
        IResource resource = ResourcesPlugin.getWorkspace().getRoot().findMember(newEmfResourceURI.toPlatformString(true));
        monitor.worked(2);
        return resource;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) DatabaseBlock(com.robotoworks.mechanoid.db.sqliteModel.DatabaseBlock) XtextResource(org.eclipse.xtext.resource.XtextResource) IResource(org.eclipse.core.resources.IResource) Resource(org.eclipse.emf.ecore.resource.Resource) Model(com.robotoworks.mechanoid.db.sqliteModel.Model) MigrationBlock(com.robotoworks.mechanoid.db.sqliteModel.MigrationBlock) URI(org.eclipse.emf.common.util.URI) IResource(org.eclipse.core.resources.IResource)

Aggregations

Model (com.robotoworks.mechanoid.db.sqliteModel.Model)6 EObject (org.eclipse.emf.ecore.EObject)4 DatabaseBlock (com.robotoworks.mechanoid.db.sqliteModel.DatabaseBlock)3 MigrationBlock (com.robotoworks.mechanoid.db.sqliteModel.MigrationBlock)3 XtextResource (org.eclipse.xtext.resource.XtextResource)2 SqliteDatabaseSnapshot (com.robotoworks.mechanoid.db.generator.SqliteDatabaseSnapshot)1 SqliteMigrationGenerator (com.robotoworks.mechanoid.db.generator.SqliteMigrationGenerator)1 CreateTableStatement (com.robotoworks.mechanoid.db.sqliteModel.CreateTableStatement)1 CreateViewStatement (com.robotoworks.mechanoid.db.sqliteModel.CreateViewStatement)1 Consumer (java.util.function.Consumer)1 IResource (org.eclipse.core.resources.IResource)1 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)1 URI (org.eclipse.emf.common.util.URI)1 Resource (org.eclipse.emf.ecore.resource.Resource)1 ILeafNode (org.eclipse.xtext.nodemodel.ILeafNode)1 XtextEditor (org.eclipse.xtext.ui.editor.XtextEditor)1 IXtextDocument (org.eclipse.xtext.ui.editor.model.IXtextDocument)1 IUnitOfWork (org.eclipse.xtext.util.concurrent.IUnitOfWork)1 Procedure2 (org.eclipse.xtext.xbase.lib.Procedures.Procedure2)1