Mon, 05 Aug 2024 19:38:47 +0200
fix removing filter not working
fixes #407
150 | 1 | /* |
180 | 2 | * Copyright 2021 Mike Becker. All rights reserved. |
150 | 3 | * |
4 | * Redistribution and use in source and binary forms, with or without | |
5 | * modification, are permitted provided that the following conditions are met: | |
6 | * | |
7 | * 1. Redistributions of source code must retain the above copyright | |
8 | * notice, this list of conditions and the following disclaimer. | |
9 | * | |
10 | * 2. Redistributions in binary form must reproduce the above copyright | |
11 | * notice, this list of conditions and the following disclaimer in the | |
12 | * documentation and/or other materials provided with the distribution. | |
13 | * | |
14 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
15 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
16 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | |
17 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE | |
18 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
19 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR | |
20 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | |
21 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | |
22 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | |
23 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
24 | */ | |
25 | ||
26 | package de.uapcore.lightpit.entities | |
27 | ||
167
3f30adba1c63
major refactoring of DAO architecture - also fixes #114
Mike Becker <universe@uap-core.de>
parents:
152
diff
changeset
|
28 | import de.uapcore.lightpit.types.VersionStatus |
225
87328572e36f
#159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents:
184
diff
changeset
|
29 | import java.sql.Date |
150 | 30 | |
184
e8eecee6aadf
completes kotlin migration
Mike Becker <universe@uap-core.de>
parents:
180
diff
changeset
|
31 | data class Version(override val id: Int, val projectid: Int) : Entity, HasNode, Comparable<Version> { |
152
7761c37c5e61
fixes default values for version and component form
Mike Becker <universe@uap-core.de>
parents:
150
diff
changeset
|
32 | var name: String = "" |
184
e8eecee6aadf
completes kotlin migration
Mike Becker <universe@uap-core.de>
parents:
180
diff
changeset
|
33 | override var node = name |
150 | 34 | var ordinal = 0 |
35 | var status = VersionStatus.Future | |
225
87328572e36f
#159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents:
184
diff
changeset
|
36 | var release: Date? = null |
87328572e36f
#159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents:
184
diff
changeset
|
37 | var eol: Date? = null |
87328572e36f
#159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents:
184
diff
changeset
|
38 | |
87328572e36f
#159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents:
184
diff
changeset
|
39 | /** |
87328572e36f
#159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents:
184
diff
changeset
|
40 | * If this version is deprecated, this gives the [eol] date, otherwise this gives the [release] date. |
87328572e36f
#159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents:
184
diff
changeset
|
41 | * Note that a [release] date may be specified for the actual release in which case in should be |
87328572e36f
#159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents:
184
diff
changeset
|
42 | * understood as the planned release date. |
87328572e36f
#159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents:
184
diff
changeset
|
43 | */ |
87328572e36f
#159 adds release and eol dates
Mike Becker <universe@uap-core.de>
parents:
184
diff
changeset
|
44 | val releaseOrEolDate: Date? get() = if (status.isEndOfLife) eol else release |
150 | 45 | |
46 | override fun compareTo(other: Version): Int { | |
152
7761c37c5e61
fixes default values for version and component form
Mike Becker <universe@uap-core.de>
parents:
150
diff
changeset
|
47 | val ord = ordinal.compareTo(other.ordinal) |
150 | 48 | return if (ord == 0) { |
49 | name.compareTo(other.name, ignoreCase = true) | |
50 | } else { | |
51 | ord | |
52 | } | |
53 | } | |
54 | } |