Advertisement
Guest User

Untitled

a guest
Dec 7th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.07 KB | None | 0 0
  1. package com.azry.cdms.model.user;
  2.  
  3. import com.azry.cdms.model.points.PointFilterState;
  4.  
  5. import javax.persistence.Column;
  6. import javax.persistence.Entity;
  7. import javax.persistence.GeneratedValue;
  8. import javax.persistence.GenerationType;
  9. import javax.persistence.Id;
  10. import javax.persistence.Lob;
  11. import javax.persistence.ManyToMany;
  12. import javax.persistence.SequenceGenerator;
  13. import javax.persistence.Transient;
  14. import javax.validation.constraints.Size;
  15. import javax.xml.bind.JAXBContext;
  16. import javax.xml.bind.JAXBException;
  17. import javax.xml.bind.Marshaller;
  18. import javax.xml.bind.Unmarshaller;
  19. import javax.xml.bind.annotation.XmlElement;
  20. import javax.xml.bind.annotation.XmlElementWrapper;
  21. import javax.xml.bind.annotation.XmlRootElement;
  22. import java.io.Serializable;
  23. import java.io.StringReader;
  24. import java.io.StringWriter;
  25. import java.util.ArrayList;
  26. import java.util.List;
  27.  
  28. @XmlRootElement
  29. @Entity(name = "SystemUser")
  30. public class User implements Serializable {
  31.  
  32.     private static JAXBContext jaxbCtx;
  33.  
  34.     static {
  35.         try {
  36.             jaxbCtx = JAXBContext.newInstance(PointFilterState.class);
  37.         } catch (JAXBException ex) {
  38.             throw new IllegalStateException(ex);
  39.         }
  40.     }
  41.  
  42.     private boolean requiredChange;
  43.  
  44.     private Integer id;
  45.  
  46.     private String name;
  47.  
  48.     private List<UserGroup> userGroups = new ArrayList<>();
  49.  
  50.     private String password;
  51.  
  52.     private boolean active;
  53.  
  54.     private boolean sysAdmin;
  55.  
  56.     private String email;
  57.  
  58.     private String mobile;
  59.  
  60.     private String username;
  61.  
  62.     private String contactInformation;
  63.  
  64.     private String permittedPointsData;
  65.  
  66.     private PointFilterState permittedPoints;
  67.  
  68.     private Long languageId;
  69.  
  70.     public boolean isRequiredChange() {
  71.         return requiredChange;
  72.     }
  73.  
  74.     public void setRequiredChange(boolean requiredChange) {
  75.         this.requiredChange = requiredChange;
  76.     }
  77.  
  78.     @Id
  79.     @GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "USER_KEY_SEQUENCE")
  80.     @SequenceGenerator(name = "USER_KEY_SEQUENCE", sequenceName = "USER_KEY_SEQUENCE")
  81.     public Integer getId() {
  82.         return id;
  83.     }
  84.  
  85.     public void setId(Integer id) {
  86.         this.id = id;
  87.     }
  88.  
  89.     @Size(max = 100)
  90.     @Column(length = 100)
  91.     public String getName() {
  92.         return name;
  93.     }
  94.  
  95.     public void setName(String name) {
  96.         this.name = name;
  97.     }
  98.  
  99.     @ManyToMany
  100.     @XmlElement(name="user-group")
  101.     @XmlElementWrapper(name="user-groups")
  102.     public List<UserGroup> getUserGroups() {
  103.         return userGroups;
  104.     }
  105.  
  106.     public void setUserGroups(List<UserGroup> userGroups) {
  107.         this.userGroups = userGroups;
  108.     }
  109.  
  110.     public void setPassword(String password) {
  111.         this.password = password;
  112.     }
  113.  
  114.     @Size(max = 50)
  115.     @Column(length = 50)
  116.     public String getPassword() {
  117.         return password;
  118.     }
  119.  
  120.     public void setActive(boolean active) {
  121.         this.active = active;
  122.     }
  123.  
  124.     public boolean isActive() {
  125.         return active;
  126.     }
  127.  
  128.     public boolean isSysAdmin() {
  129.         return sysAdmin;
  130.     }
  131.  
  132.     public void setSysAdmin(boolean sysAdmin) {
  133.         this.sysAdmin = sysAdmin;
  134.     }
  135.  
  136.     public void setEmail(String email) {
  137.         this.email = email;
  138.     }
  139.  
  140.     @Size(max = 50)
  141.     @Column(length = 50)
  142.     public String getEmail() {
  143.         return email;
  144.     }
  145.  
  146.     public void setMobile(String mobile) {
  147.         this.mobile = mobile;
  148.     }
  149.  
  150.     @Size(max = 50)
  151.     @Column(length = 50)
  152.     public String getMobile() {
  153.         return mobile;
  154.     }
  155.  
  156.     public void setUsername(String username) {
  157.         this.username = username;
  158.     }
  159.  
  160.     @Size(max = 50)
  161.     @Column(length = 50)
  162.     public String getUsername() {
  163.         return username;
  164.     }
  165.  
  166.     @Size(max = 200)
  167.     @Column(length = 200)
  168.     public String getContactInformation() {
  169.         return contactInformation;
  170.     }
  171.  
  172.     public void setContactInformation(String contactInformation) {
  173.         this.contactInformation = contactInformation;
  174.     }
  175.  
  176.     @Transient
  177.     public PointFilterState getPermittedPoints() {
  178.         if (permittedPoints == null) {
  179.             if (permittedPointsData == null) {
  180.                 return null;
  181.             }
  182.             try {
  183.                 Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
  184.                 StringReader reader = new StringReader(permittedPointsData);
  185.                 permittedPoints = (PointFilterState) unmarshaller.unmarshal(reader);
  186.             } catch (JAXBException e) {
  187.                 e.printStackTrace();
  188.             }
  189.         }
  190.         return permittedPoints;
  191.     }
  192.  
  193.     public void setPermittedPoints(PointFilterState permittedPoints) {
  194.         if (permittedPoints == null) {
  195.             return;
  196.         }
  197.         try {
  198.             Marshaller marshaller = jaxbCtx.createMarshaller();
  199.             StringWriter writer = new StringWriter();
  200.             marshaller.marshal(permittedPoints, writer);
  201.             setPermittedPointsData(writer.toString());
  202.             this.permittedPoints = permittedPoints;
  203.         } catch (JAXBException e) {
  204.             e.printStackTrace();
  205.         }
  206.     }
  207.  
  208.     @Column(length = Integer.MAX_VALUE)
  209.     @Lob
  210.     public String getPermittedPointsData() {
  211.         return permittedPointsData;
  212.     }
  213.  
  214.     public void setPermittedPointsData(String permittedPointsData) {
  215.         this.permittedPointsData = permittedPointsData;
  216.     }
  217.  
  218.     public Long getLanguageId() {
  219.         return languageId;
  220.     }
  221.  
  222.     public void setLanguageId(Long languageId) {
  223.         this.languageId = languageId;
  224.     }
  225. }
  226.  
  227. package com.azry.cdms.model.user;
  228.  
  229. import javax.persistence.Column;
  230. import javax.persistence.Entity;
  231. import javax.persistence.GeneratedValue;
  232. import javax.persistence.GenerationType;
  233. import javax.persistence.Id;
  234. import javax.persistence.ManyToMany;
  235. import javax.persistence.SequenceGenerator;
  236. import javax.xml.bind.annotation.XmlElement;
  237. import javax.xml.bind.annotation.XmlElementWrapper;
  238. import javax.xml.bind.annotation.XmlRootElement;
  239. import java.io.Serializable;
  240. import java.util.List;
  241.  
  242. @XmlRootElement
  243. @Entity
  244. public class UserGroup implements Serializable {
  245.  
  246.     private Integer id;
  247.  
  248.     private String name;
  249.  
  250.     private List<UserPermission> permissions;
  251.  
  252.     @Id
  253.     @GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "USER_GROUP_KEY_SEQUENCE")
  254.     @SequenceGenerator(name = "USER_GROUP_KEY_SEQUENCE", sequenceName = "USER_GROUP_KEY_SEQUENCE")
  255.     public Integer getId() {
  256.         return id;
  257.     }
  258.  
  259.     public void setId(Integer id) {
  260.         this.id = id;
  261.     }
  262.  
  263.     @Column(length = 200)
  264.     public String getName() {
  265.         return name;
  266.     }
  267.  
  268.     public void setName(String name) {
  269.         this.name = name;
  270.     }
  271.  
  272.     @ManyToMany
  273.     @XmlElement(name="permission")
  274.     @XmlElementWrapper(name="permissions")
  275.     public List<UserPermission> getPermissions() {
  276.         return permissions;
  277.     }
  278.  
  279.     public void setPermissions(List<UserPermission> permissions) {
  280.         this.permissions = permissions;
  281.     }
  282. }
  283.  
  284. package com.azry.cdms.model.user;
  285.  
  286. import javax.persistence.Column;
  287. import javax.persistence.Entity;
  288. import javax.persistence.Id;
  289. import javax.xml.bind.annotation.XmlRootElement;
  290. import java.io.Serializable;
  291.  
  292. @XmlRootElement
  293. @Entity
  294. public class UserPermission implements Serializable {
  295.  
  296.     private String code;
  297.  
  298.     private String name;
  299.  
  300.     private String groupName;
  301.  
  302.     @Id
  303.     public String getCode() {
  304.         return code;
  305.     }
  306.  
  307.     public void setCode(String code) {
  308.         this.code = code;
  309.     }
  310.  
  311.     @Column(length = 500)
  312.     public String getName() {
  313.         return name;
  314.     }
  315.  
  316.     public void setName(String name) {
  317.         this.name = name;
  318.     }
  319.  
  320.     @Column(length = 500)
  321.     public String getGroupName() {
  322.         return groupName;
  323.     }
  324.  
  325.     public void setGroupName(String groupName) {
  326.         this.groupName = groupName;
  327.     }
  328. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement