小编Mar*_*tin的帖子

如何为具有特定注释的字段设置FindBugs过滤器?

我有一个由FindBugs报告的错误,但我知道更好:)请参阅以下示例:

public class MyClass extends BaseClass {

    @CustomInjection
    private Object someField;

    public MyClass() {
        super();
        someField.someMethod(); // Bug is here because FindsBugs thinks this is always null
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的BaseClass构造函数中,我使用正确的对象注入带有@CustomInjection批注的所有字段,因此我的注释字段在我的情况下不为空.

我不想用'suppresswarnings'来抑制警告,因为这会使代码混乱很多.我宁愿做像FindBugs这样一个过滤器解释在这里,但我无法弄清楚如何筛选具有一定的界面注释字段错误.我也不想过滤所有空错误警告.我认为应该是这样的:

<Match>
  <Bug code="UR">  
  <Field annotation="CustomInjection">
</Match>
Run Code Online (Sandbox Code Playgroud)

java eclipse findbugs

15
推荐指数
1
解决办法
687
查看次数

如何忽略具有特定注释的方法的 checkstyle javadoc 警告

当我有一个没有 javadoc 的公共方法时,Checkstyle 会发出警告,这很好!当我覆盖一个公共方法时,我没有收到警告,因为 javadoc 在该方法的父类中已经可用。

例如,现在我的方法有另一个注释@MyEvent。现在我确实收到了警告但不想要它,因为注释说得够多了。我可以排除带有特定注释的方法的警告吗?

有一些解决方案涉及在我的代码中添加类似@SuppressWarnings或注释之类的东西,// CHECKSTYLE.OFF但这并没有使我的代码更好,我可以改为添加 javadoc。所以我正在寻找配置级解决方案。

java annotations checkstyle

5
推荐指数
1
解决办法
2200
查看次数

什么是在java wicket中调用的detachableloadablemodel的加载?

在我的代码中,我有类似以下内容:

检票口形式:

public class MyForm extends Form<MyFormModel> {
    public MyForm(String id){
        super(id, new CompoundPropertyModel<MyFormModel>(new MyFormModel())

        //add some labels from the CompoundPropertyModel

    }

    @Override
    protected void onSubmit() {

        setResponsePage(new NewPage(getModelObject()));

    }
}
Run Code Online (Sandbox Code Playgroud)

表单模型:

public class MyFormModel extends LoadableDetachableModel<List<NotSerializableObject>> {

    transient List<NotSerializableObject> list;

    //Some labels with getters and setters for CompoundPropertyModel use

    protected List<NotSerializableObject> load() {
        //list = dbstuff.getstuff()
    } 
}
Run Code Online (Sandbox Code Playgroud)

当页面加载MyForm时,MyFormModel使用该load()函数并尝试在提交表单之前访问数据库.我不明白为什么因为getModelObject()在提交表单并被调用之前不会onSubmit()被调用.

我知道应该拆分CompoundPropertyModel和LoadableDetachableModel来解决这个问题,但为什么这不起作用?为什么以及从哪里调用load()函数?

谢谢你的帮助,

马丁

java wicket

0
推荐指数
1
解决办法
133
查看次数

标签 统计

java ×3

annotations ×1

checkstyle ×1

eclipse ×1

findbugs ×1

wicket ×1