无法在休息服务中检测活动对象接口

时间:2013-06-13 06:12:58

标签: java rest jira active-objects

我的活动对象界面如下:

package com.company.jira.plugin.Reports.aoentities;
import java.util.Date;
import net.java.ao.Accessor;
import net.java.ao.Mutator;
import net.java.ao.Preload;
import net.java.ao.Entity;
import net.java.ao.schema.Table;

@Table("TaskData")
@Preload
public interface TaskData extends Entity {

@Accessor("issues")
String getIssues();

@Mutator("issues")
   void setIssues(String issues);

}

现在,我的休息服务类如下:

package com.company.jira.plugin.REST;
import com.crawco.jira.plugin.Reports.aoentities.IssuePlanning;
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import net.java.ao.Query;
...


@Path("/message")
public class TasksDataRestResource {

@POST
@AnonymousAllowed
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Path("/save/{start}/{end}/{issues}/{comments}/{startdatetime}")
public Response SaveTasksData(@PathParam("start") Date paramStart,@PathParam("end") Date     paramEnd,@PathParam("issues") String paramIssues,@PathParam("comments") String   paramComments,@PathParam("startdatetime") String startdatetime)
{

....
 ...
 ...  
**com.company.jira.plugin.Reports.aoentities.TaskData pi = ao.executeInTransaction(new TransactionCallback() // (1)**           
{   
     @Override
     public com.company.jira.plugin.Reports.aoentities.TaskData doInTransaction()
     {
        com.company.jira.plugin.Reports.aoentities.TaskData pi = ao.create(com.company.jira.plugin.Reports.aoentities.TaskData.class);

        pi.setIssues(issues);
                        ...
        logger.info("REST Service:before pi.save");
        pi.save();           
        logger.info("REST Service:after pi.save");          
        return pi;
     }
});

 return Response.ok(new .....).build();
    }

在上面的东西中,我高亮地点亮了“** .... **”行,这会在执行“atlas-run”时引发错误,错误如下:

C:\atlas-projects\src\main\.....REST\TasksDataRestResource.java:[176,86] incompatible types
found   : java.lang.Object
required: com.company.jira.plugin.Reports.aoentities.TaskData

你能告诉我这里有什么问题吗?

此外,文件名是“TaskData.java”,与它的activeobject接口名称相同。 (在上面的内容中,我已经给出了“TaskData”的完全限定名称但没有工作,之前,我只保留“TaskData”并通过导入的命名空间引用。)

(使用eclipse编辑器和atlas-sdk 4.1.4)。

注意:

一个奇怪的行为是,它可以工作一段时间但不是每次都有效。通常,每当我遇到上述错误时,删除“TaskData”界面中的一些空格或行并休息服务类然后它就可以工作了)

1 个答案:

答案 0 :(得分:0)

你可以在构建maven包之后清理项目 项目--->清理然后选择要清理的项目/插件,然后单击确定。 我认为它可以帮助你!!