您的位置:首页 > 编程语言 > Java开发

4.当形参,返回值类型不是JavaBean式的复合类,Map时,CXF无法处理:服务端业务逻辑层实现类

2012-07-23 10:41 561 查看
package org.fkjava.cfx.ws.service.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.fkjava.cfx.domain.Cat;
import org.fkjava.cfx.domain.User;
import org.fkjava.cfx.ws.service.UserService;

/**
* 业务逻辑层的实现部分
* @author Kevin
*
*/
public class UserServiceImpl implements UserService {

// 用一个HashMap来模拟内存中的数据
private static Map<User, List<Cat>> catDB = new HashMap<User, List<Cat>>();

static {
List<Cat> cats1 = new ArrayList<Cat>();
Cat cat1 = new Cat(1, "大熊猫", "橙色");
Cat cat2 = new Cat(2, "机器猫", "蓝色");
cats1.add(cat1);
cats1.add(cat2);

User user1 = new User(1, "张三", "123456", "广州市");

catDB.put(user1, cats1);

List<Cat> cats2 = new ArrayList<Cat>();
Cat cat3 = new Cat(3, "豹猫", "黑色");
Cat cat4 = new Cat(4, "黑熊", "灰色");
cats2.add(cat3);
cats2.add(cat4);

User user2 = new User(2, "里斯", "456789", "深圳市");

catDB.put(user2, cats2);
}

@Override
public List<Cat> getCatsByUser(User user) {
return catDB.get(user);
}

/**
* 获取所有的猫
*/
@Override
public Map<String, Cat> getALlCats() {
// 构造HashMap存放所有的猫
Map<String, Cat> result = new HashMap<String, Cat>();
int i = 1;
for (List<Cat> cats : catDB.values()) {
for (Cat cat : cats) {
result.put("第" + i++ + "个", cat);
}
}
return result;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐