WEB开发网
开发学院软件开发Java Eclipse 和 HSQLDB: 将关系数据库服务器嵌入到 Ec... 阅读

Eclipse 和 HSQLDB: 将关系数据库服务器嵌入到 Eclipse 中,第 2 部分

 2009-12-16 00:00:00 来源:WEB开发网   
核心提示: 移除 HSQLDB 引擎性质如果我们提供了将 HSQLDB 引擎项目性质添加到 Java 项目的方法,自然,Eclipse 和 HSQLDB: 将关系数据库服务器嵌入到 Eclipse 中,第 2 部分(10),我们也会提供一个方法来移除它,步骤基本上与添加性质相同,但是我们是从字符串数组中删除

移除 HSQLDB 引擎性质

如果我们提供了将 HSQLDB 引擎项目性质添加到 Java 项目的方法,自然,我们也会提供一个方法来移除它。步骤基本上与添加性质相同,但是我们是从字符串数组中删除而不是添加一个性质 id。清单 9 显示了完整的操作类代码,不只是改变项目描述的片断,这样我们可以学习为第二版插件创建的一些实用方法。


清单 9. 移除 HSQLDB 引擎项目性质的操作
public class RemoveDBEngineNature implements IObjectActionDelegate { 
  private IJavaProject currentProject; 
   
  public RemoveDBEngineNature() { 
    super(); 
  } 
  public void setActivePart(IAction action, IWorkbenchPart targetPart) { 
  } 
  public void run(IAction action) { 
    try { 
      IProject proj = currentProject.getProject(); 
      IProjectDescription description = proj.getDescription(); 
      // remove the hsqldbEngine nature to the project 
      String[] natures = description.getNatureIds(); 
      String[] newNatures = new String[natures.length - 1]; 
      for(int i = 0; i < natures.length; i++) { 
        if (!natures[i].equals("hsqldb.ui.hsqldbEngine")) 
          newNatures[i] = natures[i]; 
      } 
      description.setNatureIds(newNatures); 
      proj.setDescription(description, null); 
      // refresh project so user sees changes 
      proj.refreshLocal(IResource.DEPTH_INFINITE, null); 
      // as both decorators share the same visibility rules, this will work 
      HsqldbRunningDecorator.updateDecorators(); 
    } 
    catch (Exception e) { 
      Shell shell = new Shell(); 
      MessageDialog.openInformation( 
        shell, 
        "Hsqldb Ui Plug-in", 
        "Cannot remove HSQLDB Database Engine nature:\n" + 
         ActionUtil.getStatusMessages(e)); 
    } 
    Shell shell = new Shell(); 
    MessageDialog.openInformation( 
      shell, 
      "Hsqldb Ui Plug-in", 
      "Removed HSQLDB Database Engine from this project.\n" + 
      "You must manually delete database files and libraries if wanted."); 
  } 
  public void selectionChanged(IAction action, ISelection selection) { 
    currentProject = ActionUtil.findSelectedJavaProject(selection); 
  } 
} 

上一页  5 6 7 8 9 10 

Tags:Eclipse HSQLDB 关系

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接