/*
Description:
ZK Essentials
History:
Created by dennis
Copyright (C) 2012 Potix Corporation. All Rights Reserved.
*/
package org.zkoss.essentials.chapter5;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.zkoss.essentials.entity.User;
import org.zkoss.essentials.services.UserInfoService;
public class UserInfoServiceChapter5Impl implements UserInfoService,Serializable{
private static final long serialVersionUID = 1L;
static protected List<User> userList = new ArrayList<User>();
static{
userList.add(new User("anonymous","1234","Anonymous","anonumous@your.com"));
userList.add(new User("admin","1234","Admin","admin@your.com"));
userList.add(new User("zkoss","1234","ZKOSS","info@zkoss.org"));
}
/** synchronized is just because we use static userList in this demo to prevent concurrent access **/
public synchronized User findUser(String account){
int s = userList.size();
for(int i=0;i<s;i++){
User u = userList.get(i);
if(account.equals(u.getAccount())){
return User.clone(u);
}
}
return null;
}
/** synchronized is just because we use static userList in this demo to prevent concurrent access **/
public synchronized User updateUser(User user){
int s = userList.size();
for(int i=0;i<s;i++){
User u = userList.get(i);
if(user.getAccount().equals(u.getAccount())){
userList.set(i,u = User.clone(user));
return u;
}
}
throw new RuntimeException("user not found "+user.getAccount());
}
}