package com.mobilesorcery.sdk.extensionsupport.internal.handlers; import java.util.List; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.ui.handlers.HandlerUtil; import com.mobilesorcery.sdk.core.MoSyncProject; import com.mobilesorcery.sdk.extensionsupport.ExtensionCompiler; import com.mobilesorcery.sdk.ui.MoSyncCommandHandler; public class GenerateStubsHandler extends MoSyncCommandHandler { @Override public Object execute(ExecutionEvent event) throws ExecutionException { List<IResource> projects = extractResources(HandlerUtil.getCurrentSelection(event)); List<MoSyncProject> mosyncProjects = MoSyncProject.create(projects); for (MoSyncProject mosyncProject : mosyncProjects) { try { ExtensionCompiler.getDefault().generateStubs(mosyncProject); mosyncProject.getWrappedProject().refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor()); } catch (CoreException e) { throw new ExecutionException(e.getMessage(), e); } } return null; } }