Mylyn Trac连接器在查询编辑器中不显示“Severity”属性

时间:2012-01-12 04:10:07

标签: eclipse trac mylyn

我们最近决定开始使用Trac项目中的Severity字段。但是,我无法想办法让字段出现在Eclipse的Mylyn插件的查询编辑器中 - 无论我尝试什么,该字段都不存在。

它确实显示在Web界面中,如果我在Mylyn中打开一个任务,我可以在那里设置一个严重性(所以在某些时候Mylyn 了解该属性正在被使用)但它没有出现在查询对话框中。

我有

  • 确保所有任务都设置了严重性。
  • 重启Eclipse
  • 与存储库同步
  • 点击“多次从存储库更新属性”
  • 重新安装Mylyn

没有成功。还有什么可以尝试的?

澄清:这与编辑故障单无关。它是关于从存储库中查询票证,使用右键单击任务列表 - > “新查询...”。

这就是我看到的形式:

enter image description here

我也希望某处有一个严重的字段。

3 个答案:

答案 0 :(得分:1)

您必须获取TracQueryPage.java的来源并添加“严重性”列表。

  1. http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/3.6.2/org.eclipse.mylyn.trac/ui/3.4.2/org/eclipse/mylyn/internal/trac/ui/wizard/TracQueryPage.java?av=f

  2. 在Eclipse中创建一个空的插件项目(例如命名为trac-connector-patch)

  3. 在插件文件夹中找到org.eclipse.mylyn.trac.ui_3.6.0.v20110608-1400.jar,并将MANIFEST.MF复制到插件项目的META-INF文件夹中。删除以“Name:”和“SHA1-Digest:”开头的所有行,然后将Bundle-Symbolic-Name更改为

    Bundle-SymbolicName:org.eclipse.mylyn.trac.ui-patched; singleton:= true

  4. 将TracQueryPage.java的源代码复制到源文件夹中

    src \ org \ eclipse \ mylyn \ internal \ trac \ ui \ wizard \ TracQueryPage.java

  5. 修复项目构建路径:

    • 从MANIFEST.MF中移除org.eclipse.mylyn.internal.trac.ui和org.eclipse.mylyn.internal.trac.ui.editor
    • 的导出
    • 使用上下文菜单“PDE Tools - > update classpath”
    • 如果还有org.eclipse.swt的错误,请将eclipse插件文件夹中的swt jar作为外部jar添加到项目构建bpath中(例如org.eclipse.swt.win32.win32.x86_64_3.7.1.v3738a的.jar)
  6. 修改TracQueryPage

    // add a new list search field
    private ListSearchField severityField;
    ...
    
    protected Control createTicketAttributes(Composite control) {
        Composite group = new Composite(control, SWT.NONE);
        GridLayout layout = new GridLayout();
    
        layout.numColumns = 5; // add a column
    
        group.setLayout(layout);
        GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
        gd.horizontalSpan = 1;
        group.setLayoutData(gd);
    
        Label label = new Label(group, SWT.LEFT);
        label.setText(Messages.TracQueryPage_Status);
    
        label = new Label(group, SWT.LEFT);
        label.setText(Messages.TracQueryPage_Resolution);
    
        label = new Label(group, SWT.LEFT);
        label.setText(Messages.TracQueryPage_Type);
    
        label = new Label(group, SWT.LEFT);
        label.setText(Messages.TracQueryPage_Priority);
    
        label = new Label(group, SWT.LEFT);
        label.setText("Severity"); // TODO use a property
    
        statusField = new ListSearchField("status"); //$NON-NLS-1$
        statusField.createControls(group, STATUS_HEIGHT);
    
        resolutionField = new ListSearchField("resolution"); //$NON-NLS-1$
        resolutionField.createControls(group, STATUS_HEIGHT);
    
        typeField = new ListSearchField("type"); //$NON-NLS-1$
        typeField.createControls(group, STATUS_HEIGHT);
    
        priorityField = new ListSearchField("priority"); //$NON-NLS-1$
        priorityField.createControls(group, STATUS_HEIGHT);
    
        // add the severityField
        severityField = new ListSearchField("severity"); //$NON-NLS-1$
        severityField.createControls(group, STATUS_HEIGHT);
    
        return group;
    }
    
    private void updateAttributesFromRepository(final boolean force) {
        ...
    
        statusField.setValues(client.getTicketStatus());
        resolutionField.setValues(client.getTicketResolutions());
        typeField.setValues(client.getTicketTypes());
        priorityField.setValues(client.getPriorities());
    
        // also update the severities
        severityField.setValues(client.getSeverities());
    
        componentField.setValues(client.getComponents());
        versionField.setValues(client.getVersions());
        milestoneField.setValues(client.getMilestones());    
    }
    
  7. 现在您已准备好路径插件jar(例如org.eclipse.mylyn.trac.ui_3.6.0.v20110608-1400.jar):

    • 使用修改后的类
    • 覆盖TracQueryPage.class
    • 从MANIFEST.MF中删除TracQueryPage.class的“Name:”和“SHA1-Digest:”行
  8. 用修补的插件替换插件。并重启eclipse。

  9. 或者下载已修补的插件:http://franke.ms/download/org.eclipse.mylyn.trac.ui_3.6.0.v20110608-1400-patched.zip

答案 1 :(得分:0)

查看代码,似乎无法根据严重性进行查询。您可能需要在https://bugs.eclipse.org/bugs打开功能请求。如果您提供补丁,情况会更好。 :)

答案 2 :(得分:-1)

表单编辑器中没有带标签的字段,但名称旁边有一个图标。单击该图标可以定义严重性。

enter image description here