Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.fasterxml.jackson.annotation.JsonBackReference;
- import javax.persistence.*;
- import javax.validation.constraints.NotNull;
- import java.math.BigDecimal;
- import java.util.*;
- import java.util.stream.Collectors;
- @Entity
- @Table(name = "user")
- public class User {
- @Id
- @GeneratedValue(strategy= GenerationType.AUTO)
- @Column(name="id")
- private Integer id;
- @Column(name="email")
- private String email;
- @Column(name="username")
- private String username;
- @Column(name="password_hash")
- private String password;
- @Column(name = "activation_token")
- private String activationToken;
- @Column(name = "change_password_date")
- private Date changePasswordDate;
- @Column(name = "change_password_token")
- private String changePasswordToken;
- @Column(name = "enabled")
- private boolean enabled;
- @Column(name = "last_password_reset_date")
- @Temporal(TemporalType.TIMESTAMP)
- @NotNull
- private Date lastPasswordResetDate;
- @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.REMOVE)
- @JoinTable(
- name = "USER_AUTHORITY",
- joinColumns = {@JoinColumn(name = "USER_ID", referencedColumnName = "ID")},
- inverseJoinColumns = {@JoinColumn(name = "AUTHORITY_ID", referencedColumnName = "ID")})
- private List<Authority> authorities;
- @Column(name="village_name")
- private String villageName;
- @Column(name="coordinate_x")
- private Integer coordinateX;
- @Column(name="coordinate_y")
- private Integer coordinateY;
- @ManyToOne(cascade = CascadeType.REMOVE)
- @JoinColumn(name="mine_id")
- private Mine mine;
- @ManyToOne(cascade = CascadeType.REMOVE)
- @JoinColumn(name="sawmill_id")
- private Sawmill sawmill;
- @ManyToOne(cascade = CascadeType.REMOVE)
- @JoinColumn(name="farm_id")
- private Farm farm;
- @ManyToOne(cascade = CascadeType.REMOVE)
- @JoinColumn(name="barrack_id")
- private Barrack barrack;
- @OneToMany(fetch = FetchType.LAZY, mappedBy = "attacker", cascade = CascadeType.REMOVE)
- private Set<Report> attackReports;
- @OneToMany(fetch = FetchType.LAZY, mappedBy = "defender", cascade = CascadeType.REMOVE)
- private Set<Report> defenceReports;
- @OneToMany(fetch = FetchType.LAZY, mappedBy = "user", cascade = CascadeType.REMOVE)
- private Set<ExplorationReport> explorationReports;
- @OneToMany(fetch = FetchType.EAGER, mappedBy = "user", cascade = CascadeType.REMOVE)
- private Set<UsersUnits> usersUnits;
- @OneToMany(fetch = FetchType.EAGER, mappedBy = "user", cascade = CascadeType.REMOVE)
- private Set<Field> fields;
- @OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.PERSIST)
- @JoinColumn(name="resources_id")
- private Resources resources;
- @Version
- @Column(name="version")
- private Integer version;
- public Set<Field> getFields() {
- return fields.stream().sorted((f1, f2) -> f1.getId()
- .compareTo(f2.getId())).collect(Collectors.toSet());
- }
- public void setFields(Set<Field> fields) {
- this.fields = fields;
- }
- public Integer getId() {
- return id;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public void setId(Integer id) {
- this.id = id;
- }
- public Integer getVersion() {
- return version;
- }
- public void setVersion(Integer version) {
- this.version = version;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public boolean isEnabled() {
- return enabled;
- }
- public void setEnabled(boolean enabled) {
- this.enabled = enabled;
- }
- public Date getChangePasswordDate() {
- return changePasswordDate;
- }
- public void setChangePasswordDate(Date changePasswordDate) {
- this.changePasswordDate = changePasswordDate;
- }
- public String getChangePasswordToken() {
- return changePasswordToken;
- }
- public void setChangePasswordToken(String changePasswordToken) {
- this.changePasswordToken = changePasswordToken;
- }
- public String getActivationToken() {
- return activationToken;
- }
- public void setActivationToken(String activationToken) {
- this.activationToken = activationToken;
- }
- public List<Report> getAttackReports() {
- return attackReports.stream().sorted((f1, f2) -> f2.getAttackDate()
- .compareTo(f1.getAttackDate())).collect(Collectors.toList());
- }
- public List<Report> getDefenceReports() {
- return defenceReports.stream().sorted((f1, f2) -> f2.getAttackDate()
- .compareTo(f1.getAttackDate())).collect(Collectors.toList());
- }
- public Date getLastPasswordResetDate() {
- return lastPasswordResetDate;
- }
- public void setLastPasswordResetDate(Date lastPasswordResetDate) {
- this.lastPasswordResetDate = lastPasswordResetDate;
- }
- public List<Authority> getAuthorities() {
- return authorities;
- }
- public void setAuthorities(List<Authority> authorities) {
- this.authorities = authorities;
- }
- public String getVillageName() {
- return villageName;
- }
- public void setVillageName(String villageName) {
- this.villageName = villageName;
- }
- public Integer getCoordinateX() {
- return coordinateX;
- }
- public void setCoordinateX(Integer coordinateX) {
- this.coordinateX = coordinateX;
- }
- public Integer getCoordinateY() {
- return coordinateY;
- }
- public void setCoordinateY(Integer coordinateY) {
- this.coordinateY = coordinateY;
- }
- public void setAttackReports(Set<Report> attackReports) {
- this.attackReports = attackReports;
- }
- public void setDefenceReports(Set<Report> defenceReports) {
- this.defenceReports = defenceReports;
- }
- public Set<UsersUnits> getUsersUnits() {
- return usersUnits;
- }
- public void setUsersUnits(Set<UsersUnits> usersUnits) {
- this.usersUnits = usersUnits;
- }
- public Mine getMine() {
- return mine;
- }
- public void setMine(Mine mine) {
- this.mine = mine;
- }
- public Sawmill getSawmill() {
- return sawmill;
- }
- public void setSawmill(Sawmill sawmill) {
- this.sawmill = sawmill;
- }
- public Farm getFarm() {
- return farm;
- }
- public void setFarm(Farm farm) {
- this.farm = farm;
- }
- public Barrack getBarrack() {
- return barrack;
- }
- public void setBarrack(Barrack barrack) {
- this.barrack = barrack;
- }
- public Resources getResources() {
- return resources;
- }
- public void setResources(Resources resources) {
- this.resources = resources;
- }
- public List<ExplorationReport> getExplorationReports() {
- return explorationReports.stream().sorted((f1, f2) -> f2.getExplorationDate()
- .compareTo(f1.getExplorationDate())).collect(Collectors.toList());
- }
- public void setExplorationReports(Set<ExplorationReport> explorationReports) {
- this.explorationReports = explorationReports;
- }
- public User() {
- }
- public User(String email, String username, String password, String activationToken, Authority authority) {
- this.email = email;
- this.username = username;
- this.password = password;
- this.activationToken = activationToken;
- this.enabled = false;
- this.lastPasswordResetDate = new Date();
- this.authorities = new ArrayList<>();
- this.attackReports = new HashSet<>();
- this.defenceReports = new HashSet<>();
- this.explorationReports = new HashSet<>();
- this.authorities.add(authority);
- this.version = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement