package com.blstream.myhoard.biz.mapper;

import com.blstream.myhoard.biz.model.MediaDTO;
import com.blstream.myhoard.db.model.MediaDS;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class MediaMapper {

	public static MediaDS map(MediaDTO mediaDTO) {
		MediaDS mediaDS = new MediaDS();
		mediaDS.setCreatedDate(mediaDTO.getCreatedDate());
		mediaDS.setFile(mediaDTO.getFile());
		try {
		mediaDS.setId(Integer.parseInt(mediaDTO.getId()));
		} catch  (Exception e) {
			e.printStackTrace();
		}
		mediaDS.setThumbnail(mediaDTO.getThumbnail());

		return mediaDS;
	}

	public static MediaDTO map(MediaDS mediaDS) {
		MediaDTO mediaDTO = new MediaDTO();
		mediaDTO.setCreatedDate(mediaDS.getCreatedDate());
		mediaDTO.setFile(mediaDS.getFile());
		mediaDTO.setId(String.valueOf(mediaDS.getId()));
		mediaDTO.setThumbnail(mediaDS.getThumbnail());
		// TODO generate media URL
		mediaDTO.setUrl("http://78.133.154.39:1080/media/"+mediaDTO.getId());
		
		return mediaDTO;
	}

	public static List<MediaDTO> map(List<MediaDS> mediaDSs) {
		List<MediaDTO> mediaDTOs = new ArrayList<MediaDTO>();
		for (MediaDS mediaDS : mediaDSs) {
			mediaDTOs.add(MediaMapper.map(mediaDS));
		}
		return mediaDTOs;
	}
	
	public static Set<MediaDTO> mapToSetDTO(Set<MediaDS> mediaDsSet) {
		Set<MediaDTO> mediaDTOs = new HashSet<MediaDTO>();
		for (MediaDS mediaDS : mediaDsSet) {
			mediaDTOs.add(MediaMapper.map(mediaDS));
		}
		return mediaDTOs;
	}
	
	public static Set<MediaDS> mapToSetDS(Set<MediaDTO> mediaDtoSet) {
		Set<MediaDS> mediaDsSet = new HashSet<MediaDS>();
		for (MediaDTO mediaDTO : mediaDtoSet) {
			mediaDsSet.add(MediaMapper.map(mediaDTO));
		}
		return mediaDsSet;
	}
	

}

@@ -442,16 +442,17 @@
 try %7B%0A%09%09
+%09
 mediaDS.
@@ -504,17 +504,16 @@
 %7D catch 
- 
 (Excepti
@@ -982,9 +982,11 @@
 ia/%22
-+
+ + 
 medi
@@ -1000,18 +1000,16 @@
 tId());%0A
-%09%09
 %0A%09%09retur
@@ -1240,34 +1240,33 @@
 n mediaDTOs;%0A%09%7D%0A
-%09
 %0A
+
 %09public static S
@@ -1480,18 +1480,17 @@
 TOs;%0A%09%7D%0A
-%09
 %0A
+
 %09public 
@@ -1714,16 +1714,14 @@
 aDsSet;%0A
+
 %09%7D
-%0A%09
 %0A%0A%7D%0A

format MediaMapper