public static EntityUser createEntity(User gitUser, GenericDao dao, boolean firstMiner) {
if (gitUser == null) {
return null;
}
EntityUser user = getUserByLogin(gitUser.getLogin(), dao);
if (firstMiner || user == null) {
if (user == null) {
user = new EntityUser();
}
if (gitUser.getLogin() != null
&& (gitUser.getEmail() == null
|| gitUser.getName() == null)) {
gitUser = getGitUserByLogin(gitUser.getLogin());
}
user.setCreatedAt(gitUser.getCreatedAt());
user.setCollaborators(gitUser.getCollaborators());
user.setDiskUsage(gitUser.getDiskUsage());
user.setFollowers(gitUser.getFollowers());
user.setFollowing(gitUser.getFollowing());
user.setOwnedPrivateRepos(gitUser.getOwnedPrivateRepos());
user.setPrivateGists(gitUser.getPrivateGists());
user.setPublicGists(gitUser.getPublicGists());
user.setPublicRepos(gitUser.getPublicRepos());
user.setTotalPrivateRepos(gitUser.getTotalPrivateRepos());
user.setAvatarUrl(gitUser.getBlog());
user.setCompany(gitUser.getCompany());
user.setEmail(gitUser.getEmail());
user.setHtmlUrl(gitUser.getHtmlUrl());
user.setLocation(gitUser.getLocation());
user.setName(gitUser.getName());
user.setType(gitUser.getType());
}
user.setMineredAt(new Date());
user.setGravatarId(gitUser.getGravatarId());
user.setIdUser(gitUser.getId());
user.setLogin(gitUser.getLogin());
user.setUrl(gitUser.getUrl());
if (user.getId() == null || user.getId().equals(0l)) {
dao.insert(user);
} else {
dao.edit(user);
}