?? userwebserviceimpl.java
字號:
package org.springside.examples.miniservice.ws.user;
import java.util.ArrayList;
import java.util.List;
import javax.jws.WebService;
import org.apache.commons.lang.StringUtils;
import org.apache.cxf.feature.Features;
import org.springframework.beans.factory.annotation.Required;
import org.springside.examples.miniservice.entity.user.User;
import org.springside.examples.miniservice.service.user.UserManager;
import org.springside.examples.miniservice.ws.Constants;
import org.springside.examples.miniservice.ws.WSResult;
import org.springside.examples.miniservice.ws.user.dto.CreateUserResult;
import org.springside.examples.miniservice.ws.user.dto.GetAllUserResult;
import org.springside.examples.miniservice.ws.user.dto.GetUserResult;
import org.springside.examples.miniservice.ws.user.dto.UserDTO;
import org.springside.modules.webservice.WebServiceSupport;
/**
* WebService實現(xiàn)類.
*
* @WebService的endpointInterface屬性指向Interface定義類.
* @WebService的serviceName與portName屬性指明WSDL中的名稱.
* CXF的@Features指定將出入的SOAP XML寫入日志.
*
* @author sky
* @author calvin
*/
@WebService(serviceName = "UserWebService", portName = "UserWebServicePort", endpointInterface = "org.springside.examples.miniservice.ws.user.UserWebService", targetNamespace = Constants.NS)
@Features(features = "org.apache.cxf.feature.LoggingFeature")
public class UserWebServiceImpl extends WebServiceSupport implements UserWebService {
private UserManager userManager;
/**
* @see UserWebService#getAllUser()
*/
public GetAllUserResult getAllUser() {
GetAllUserResult result = new GetAllUserResult();
try {
List<User> userList = userManager.getAllUser();
List<UserDTO> userDTOList = new ArrayList<UserDTO>();
for (User userEntity : userList) {
userDTOList.add((UserDTO) dozer.map(userEntity, UserDTO.class));
}
result.setUserList(userDTOList);
} catch (RuntimeException e) {
logger.error(e.getMessage(), e);
result.systemError();
}
return result;
}
/**
* @see UserWebService#getUser(Long)
*/
public GetUserResult getUser(Long userId) {
GetUserResult result = new GetUserResult();
try {
//校驗請求參數(shù)
if (userId == null) {
result.setResult(WSResult.PARAMETER_ERROR, "userId參數(shù)為空");
logger.warn(result.getMessage());
return result;
}
// 獲取User
User userEnity = userManager.getUser(userId);
if (userEnity == null) {
result.setResult(WSResult.USER_NOT_EXIST_ERROR, "帳號ID:" + userId + "不存在");
logger.warn(result.getMessage());
return result;
}
// 從User轉(zhuǎn)換到UserDTO
UserDTO dto = (UserDTO) dozer.map(userEnity, UserDTO.class);
result.setUser(dto);
} catch (RuntimeException e) {
logger.error(e.getMessage(), e);
result.systemError();
}
return result;
}
/**
* @see UserWebService#createUser(UserDTO)
*/
public CreateUserResult createUser(UserDTO user) {
CreateUserResult result = new CreateUserResult();
try {
//校驗請求參數(shù)
if (user == null) {
result.setResult(WSResult.PARAMETER_ERROR, "user參數(shù)為空");
logger.warn(result.getMessage());
return result;
}
// 從DTO轉(zhuǎn)換到User
User userEntity = (User) dozer.map(user, User.class);
// 保存User
userManager.saveUser(userEntity);
result.setUserId(userEntity.getId());
} catch (RuntimeException e) {
logger.error(e.getMessage(), e);
result.systemError();
}
return result;
}
/**
* @see UserWebService#authUser(String, String)
*/
public WSResult authUser(String loginName, String password) {
WSResult result = new WSResult();
try {
if (StringUtils.isBlank(loginName) || StringUtils.isBlank(password)) {
result.setResult(WSResult.PARAMETER_ERROR, "用戶名或密碼為空");
logger.warn(result.getMessage());
return result;
}
if (!userManager.auth(loginName, password)) {
result.setCode(WSResult.FALSE);
}
} catch (RuntimeException e) {
logger.error(e.getMessage(), e);
result.systemError();
}
return result;
}
@Required
public void setUserManager(UserManager userManager) {
this.userManager = userManager;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -