2013-06-26 48 views
3

這是我添加兩個不同對象的函數。如何將兩個不同的對象添加到單個對象中

@GET 
@Path("/getApplicationEnv") 
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML}) 
public List<Object> getApplicationEnv(){ 

    List<ApplicationDTO> allApplication = applicationService.getAllApplication();      
    List<Application> Applist = new ArrayList<Application>(); 

    for(ApplicationDTO d: allApplication) 
    { 
     Application a = new Application(); 

     a.setApplicationId(d.getApplicationId()); 
     a.setApplicationName(d.getApplicationName()); 
     a.setCreateTime(d.getCreateTime()); 
     a.setOwner(d.getOwner()); 
     Applist.add(a); 
    } 

    List<EnvironmentDTO> allEnvironments = environmentService.getAllEnvironments(); 

    List<Environment> Envlist = new ArrayList<Environment>(); 

    for(EnvironmentDTO d: allEnvironments) 
    { 
     Environment e = new Environment(); 

     e.setEnvironmentId(d.getEnvironmentId()); 
     e.setEnvironmentName(d.getEnvironmentName()); 
     e.setOwner(d.getOwner()); 
     e.setCreateTime(d.getCreateTime()); 
     Envlist.add(e); 
    } 

    ArrayList<Object> obj= new ArrayList<Object>(); 
    obj.addAll(Applist); 
    obj.addAll(Envlist); 

    return obj; 
} 

目前我使用對象的ArrayList中添加兩個對象,但我得到以下錯誤:

* 重度:消息正文作家的Java類java.util.ArrayList,和Java類型java.util.List的,和MIME媒體類型application/XML沒有被發現 *

我試圖做一個共同的父類,但我有兩個類常見的一些屬性,因此不可能有共同的父類。

任何人都可以請建議我一種方法來實現這一目標嗎?

回答

5

你可以嘗試改變

ArrayList<Object> obj= new ArrayList<Object>(); 
    obj.addAll(Applist); 
    obj.addAll(Envlist); 

ArrayList<MyModel> obj= new ArrayList<MyModel>(); 
MyModel mm = new MyModel(); 
mm.setVal1(Applist); 
mm.setVal2(Envlist); 
obj.add(mm); 

UPDATE

class MyModel 
{ 
    private ApplicationDTO appDTO; 
    private EnvironmentDTO enDTO; 

    //getters settters here 
} 

這裏MyModel只是有兩個fields按您的要求..模型類 希望這有助於

+0

兩個字段,你在爲MyModel課堂上說話哪呢? – Prats

+0

字段來存儲您的Applist和Envlist –

+0

這些字段已經在我的ApplicationDTO和EnvironmentDTO類。我正在添加我的類,請看看 – Prats

1

問題是該對象不被視爲xml元素。您可以創建這樣

@XmlRootElement 
public class MyObject{ 
private List<Application> somename; 
private List<Environment> somename2; 
//Getters 
//setters 
} 

對象,做這樣的

public List<MyObject> getApplicationEnv(){ 
/*Some code*/ 
} 
+0

我在ApplicationDTO和EnvironmentDTO中擁有所有的getter和setter。我將放入MyObject中的getter和setter? – Prats

+0

對於列表私人列表 somename;私人列表 somename2; – karthick

+0

非常感謝,現在工作:) – Prats

相關問題