@Override public FarmDto getFarm(Long farmNo) { List<FarmDto> dtos = getFarms(null, null); for (FarmDto dto : dtos) { if (farmNo.equals(dto.getFarm().getFarmNo())) { return dto; } } return null; }
@Override public List<FarmDto> getFarms(Long userNo, Long loginUserNo) { List<FarmDto> dtos = new ArrayList<FarmDto>(); List<Farm> farms = XmlDataLoader.getData("farm.xml", Farm.class); for (Farm farm : farms) { FarmDto dto = new FarmDto(); dto.setFarm(farm); dtos.add(dto); } return dtos; }
/** {@inheritDoc} */ @Override public FarmDto getFarm(Long farmNo) { Farm farm = farmDao.read(farmNo); if (farm == null) { // ファーム情報が存在しない場合 return null; } FarmDto dto = new FarmDto(); dto.setFarm(farm); return dto; }
/** {@inheritDoc} */ @Override public List<FarmDto> getFarms(Long userNo, Long loginUserNo) { // ユーザー取得 User user = userDao.read(loginUserNo); // 検索結果ファーム List<Farm> farms = new ArrayList<Farm>(); // 戻り値用 List<FarmDto> dtos = new ArrayList<FarmDto>(); // パワーユーザは全権 if (user.getPowerUser()) { farms = farmDao.readAll(); for (Farm farm : farms) { FarmDto dto = new FarmDto(); dto.setFarm(farm); dtos.add(dto); } } // マスターユーザー及び一般はマスター管理下 else { // データ取得はマスターユーザ farms = farmDao.readByUserNo(userNo); // ユーザー権限取得 List<UserAuth> userAuth = userAuthDao.readByUserNo(loginUserNo); HashMap<Long, Boolean> authMap = new HashMap<Long, Boolean>(); for (UserAuth auth : userAuth) { if (auth.getFarmUse()) { authMap.put(auth.getFarmNo(), auth.getFarmUse()); } } for (Farm farm : farms) { // 利用可能なファームのみ登録する ※マスターユーザーは全て if ((loginUserNo.equals(userNo)) || authMap.containsKey(farm.getFarmNo())) { FarmDto dto = new FarmDto(); dto.setFarm(farm); dtos.add(dto); } } } // ソート Collections.sort(dtos, Comparators.COMPARATOR_FARM_DTO); return dtos; }