public List shareWithUsers()

in src/main/java/com/amazon/photosharing/facade/ShareFacade.java [246:280]


	public List<Share> shareWithUsers(Album p_album, List<User> p_users) {
		Album album = em().find(Album.class, p_album.getId());
		if (album == null)
			return null;		
		List<Share> result = new LinkedList<Share>();
				
			
		
		for (User user : p_users) {			
			User u = em().find(User.class, user.getId());
			if (u == null) //not with no-one
				continue;
			if (album.getUser().equals(u)) //not with self
				continue;
						
			//check if such a share already exists
			_shareListRequest.setANDFilter(new Filter("album.id", p_album.getId()), new Filter("sharedWith", u));
			List<Share> existing_shares_for_user = this.list(_shareListRequest).getResults();
			
			if (existing_shares_for_user == null || existing_shares_for_user.size() == 0) {
				
				beginTx();
					Share s = new Share();
					s.setSharedWith(u);
					s.setAlbum(album);
					s.setUser(album.getUser());
					em().persist(s);																		
				commitTx();
				
				result.add(s);
			}
		}					
		
		return result;
	}