src/main/java/de/uapcore/lightpit/entities/User.java

Fri, 22 May 2020 21:23:57 +0200

author
Mike Becker <universe@uap-core.de>
date
Fri, 22 May 2020 21:23:57 +0200
changeset 75
33b6843fdf8a
parent 72
0646c14e36fb
permissions
-rw-r--r--

adds the ability to create and edit issues

21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 /*
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
3 *
24
8137ec335416 updates copyright header
Mike Becker <universe@uap-core.de>
parents: 21
diff changeset
4 * Copyright 2018 Mike Becker. All rights reserved.
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
5 *
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6 * Redistribution and use in source and binary forms, with or without
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 * modification, are permitted provided that the following conditions are met:
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 *
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9 * 1. Redistributions of source code must retain the above copyright
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 * notice, this list of conditions and the following disclaimer.
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 *
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 * 2. Redistributions in binary form must reproduce the above copyright
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 * notice, this list of conditions and the following disclaimer in the
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 * documentation and/or other materials provided with the distribution.
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 *
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
26 * POSSIBILITY OF SUCH DAMAGE.
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
27 *
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
28 */
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
29 package de.uapcore.lightpit.entities;
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
30
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
31 import java.util.Objects;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
32
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
33 public final class User {
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
34
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
35 public static final int ANONYMOUS_USERID = -1;
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
36
51
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
37 private final int id;
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
38 private String username;
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
39 private String mail;
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
40 private String givenname;
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
41 private String lastname;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
42
51
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
43 public User(int id) {
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
44 this.id = id;
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
45 }
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
46
51
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
47 public int getId() {
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
48 return id;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
49 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
50
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
51 public String getUsername() {
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
52 return username;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
53 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
54
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
55 public void setUsername(String username) {
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
56 this.username = username;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
57 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
58
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
59 public String getMail() {
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
60 return mail;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
61 }
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
62
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
63 public void setMail(String mail) {
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
64 this.mail = mail;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
65 }
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
66
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
67 public String getGivenname() {
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
68 return givenname;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
69 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
70
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
71 public void setGivenname(String givenname) {
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
72 this.givenname = givenname;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
73 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
74
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
75 public String getLastname() {
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
76 return lastname;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
77 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
78
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
79 public void setLastname(String lastname) {
26
65d5a0ca49ae Module names and descriptions + some more styling
Mike Becker <universe@uap-core.de>
parents: 24
diff changeset
80 this.lastname = lastname;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
81 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
82
75
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
83 public String getShortDisplayname() {
47
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
84 StringBuilder dn = new StringBuilder();
51
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
85 if (givenname != null)
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
86 dn.append(givenname);
47
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
87 dn.append(' ');
51
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
88 if (lastname != null)
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
89 dn.append(lastname);
47
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
90 final var str = dn.toString().trim();
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
91 return str.isBlank() ? username : str;
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
92 }
57cfb94ab99f projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents: 37
diff changeset
93
75
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
94 public String getDisplayname() {
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
95 final String sdn = getShortDisplayname();
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
96 if (mail != null && !mail.isBlank()) {
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
97 return sdn + " <" + mail + ">";
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
98 } else {
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
99 return sdn;
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
100 }
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
101 }
33b6843fdf8a adds the ability to create and edit issues
Mike Becker <universe@uap-core.de>
parents: 72
diff changeset
102
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
103 @Override
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
104 public boolean equals(Object o) {
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
105 if (this == o) return true;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
106 if (o == null || getClass() != o.getClass()) return false;
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
107 User user = (User) o;
51
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
108 return id == user.id;
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
109 }
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
110
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
111 @Override
37
fecda0f466e6 adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents: 33
diff changeset
112 public int hashCode() {
51
dd0a45ae25d7 adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents: 47
diff changeset
113 return Objects.hash(id);
33
fd8c40ff78c3 fixes several warnings
Mike Becker <universe@uap-core.de>
parents: 29
diff changeset
114 }
21
b213fef2539e adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff changeset
115 }

mercurial