java accept方法_Java IProject.accept方法代码示例

import org.eclipse.core.resources.IProject; //导入方法依赖的package包/类

protected void createNewXTextProject() {

/*

* MessageDialog.openWarning(

* PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(),

* "Gemoc Language Workbench UI",

* "Action not completly implemented yet");

*/

// create xtext project from existing ecore model

// wizard id =

// org.eclipse.xtext.xtext.ui.wizard.ecore2xtext.NewXtextProjectFromEcoreWizard

// launch the appropriate wizard

IWizardDescriptor descriptor = WizardFinder

.findNewWizardDescriptor("org.eclipse.xtext.xtext.ui.wizard.ecore2xtext.NewXtextProjectFromEcoreWizard");

// Then if we have a wizard, open it.

if (descriptor != null) {

// add a listener to capture the creation of the resulting project

NewProjectWorkspaceListener workspaceListener = new NewProjectWorkspaceListener();

ResourcesPlugin.getWorkspace().addResourceChangeListener(

workspaceListener);

try {

IWizard wizard;

wizard = descriptor.createWizard();

// this wizard need some dedicated initialization

// ((EcoreModelerWizard )wizard).init(PlatformUI.getWorkbench(),

// (IStructuredSelection)

// PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection());

// ((EcoreModelWizard)wizard).init(PlatformUI.getWorkbench(),

// (IStructuredSelection) selection);

WizardDialog wd = new WizardDialog(PlatformUI.getWorkbench()

.getActiveWorkbenchWindow().getShell(), wizard);

wd.create();

wd.setTitle(wizard.getWindowTitle());

int res = wd.open();

if (res == WizardDialog.OK) {

ResourcesPlugin.getWorkspace()

.removeResourceChangeListener(workspaceListener);

ArrayList newlyCreatedProjects = workspaceListener

.getNewlyCreatedProjects();

// find the created project with xtext files in it

FileFinderVisitor fileFinder = new FileFinderVisitor(

"xtext");

for (Iterator iterator = newlyCreatedProjects

.iterator(); iterator.hasNext();) {

IProject iProject = (IProject) iterator.next();

iProject.accept(fileFinder);

if (fileFinder.getFile() != null) {

createdProject = iProject;

break;

}

}

// update the project configuration model

if (createdProject != null) {

// maybe we should do something in the melange file ?

} else {

Activator

.error("not able to detect which project was created by wizard",

null);

}

}

} catch (CoreException e) {

Activator.error(e.getMessage(), e);

} finally {

// make sure to remove listener in all situations

ResourcesPlugin.getWorkspace().removeResourceChangeListener(

workspaceListener);

}

} else {

Activator

.error("wizard with id=org.eclipse.xtext.xtext.ui.wizard.ecore2xtext.NewXtextProjectFromEcoreWizard not found",

null);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值