Sun, 17 May 2020 16:38:04 +0200
moves project index to separate sub path
unfortunately the current menu highlighting strategy sucks and this is the easiest way so that everything looks correct
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 | 3 | * |
24 | 4 | * Copyright 2018 Mike Becker. All rights reserved. |
33 | 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 | 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 | 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 | 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 | 40 | private String givenname; |
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 | 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 | 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 | 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 | 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 | |
47
57cfb94ab99f
projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents:
37
diff
changeset
|
83 | public String getDisplayname() { |
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 | dn.append(' '); |
57cfb94ab99f
projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents:
37
diff
changeset
|
91 | if (mail != null && !mail.isBlank()) { |
57cfb94ab99f
projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents:
37
diff
changeset
|
92 | dn.append("<"+mail+">"); |
57cfb94ab99f
projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents:
37
diff
changeset
|
93 | } |
57cfb94ab99f
projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents:
37
diff
changeset
|
94 | final var str = dn.toString().trim(); |
57cfb94ab99f
projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents:
37
diff
changeset
|
95 | return str.isBlank() ? username : str; |
57cfb94ab99f
projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents:
37
diff
changeset
|
96 | } |
57cfb94ab99f
projects can now be added and updated
Mike Becker <universe@uap-core.de>
parents:
37
diff
changeset
|
97 | |
21
b213fef2539e
adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
98 | @Override |
37
fecda0f466e6
adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents:
33
diff
changeset
|
99 | public boolean equals(Object o) { |
fecda0f466e6
adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents:
33
diff
changeset
|
100 | if (this == o) return true; |
fecda0f466e6
adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents:
33
diff
changeset
|
101 | 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
|
102 | User user = (User) o; |
51
dd0a45ae25d7
adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents:
47
diff
changeset
|
103 | return id == user.id; |
21
b213fef2539e
adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
104 | } |
b213fef2539e
adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
105 | |
b213fef2539e
adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
106 | @Override |
37
fecda0f466e6
adds data model for projects and versions
Mike Becker <universe@uap-core.de>
parents:
33
diff
changeset
|
107 | public int hashCode() { |
51
dd0a45ae25d7
adds the possibility to add users / developers
Mike Becker <universe@uap-core.de>
parents:
47
diff
changeset
|
108 | return Objects.hash(id); |
33 | 109 | } |
21
b213fef2539e
adds first part of a module manager UI
Mike Becker <universe@uap-core.de>
parents:
diff
changeset
|
110 | } |