Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
CityDoctor
CityDoctor2
Commits
e07d5f03
Commit
e07d5f03
authored
Feb 12, 2026
by
Luna Riegel
Browse files
Refactor: Move function
parent
67e24cc8
Changes
3
Hide whitespace changes
Inline
Side-by-side
CityDoctorParent/CityDoctorModel/src/main/java/de/hft/stuttgart/citydoctor2/check/Requirement.java
View file @
e07d5f03
...
...
@@ -111,6 +111,13 @@ public class Requirement implements Serializable {
return
parameters
;
}
public
DefaultParameter
getDefaultParameter
(
String
key
)
{
for
(
DefaultParameter
param
:
parameters
)
{
if
(
param
.
getName
().
equals
(
key
))
return
param
;
}
return
null
;
}
@Override
public
int
hashCode
()
{
final
int
prime
=
31
;
...
...
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/check/Checker.java
View file @
e07d5f03
...
...
@@ -306,82 +306,8 @@ public class Checker {
}
ValidationPlan
createValidationPlan
()
{
ValidationPlan
plan
=
new
ValidationPlan
();
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Filter
filter
=
createFilter
();
plan
.
setFilter
(
new
FilterProperty
(
filter
));
return
config
.
createValidationPlan
(
createFilter
());
Map
<
String
,
de
.
hft
.
stuttgart
.
citydoctor2
.
check
.
Requirement
>
reqs
=
Checks
.
getAvailableRequirements
();
for
(
Entry
<
String
,
RequirementConfiguration
>
e
:
config
.
getRequirements
().
entrySet
())
{
RequirementId
reqId
=
mapToRequirement
(
e
.
getKey
());
if
(
reqId
==
null
)
{
continue
;
}
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
req
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
();
req
.
setRequirementType
(
reqId
);
req
.
setEnabled
(
e
.
getValue
().
isEnabled
());
plan
.
getRequirements
().
add
(
new
RequirementProperty
(
req
));
Map
<
String
,
String
>
parameters
=
e
.
getValue
().
getParameters
();
if
(
parameters
!=
null
)
{
for
(
Entry
<
String
,
String
>
param
:
parameters
.
entrySet
())
{
Parameter
p
=
new
Parameter
();
DefaultParameter
defaultP
=
getDefaultParameter
(
e
.
getKey
(),
reqs
,
param
.
getKey
());
if
(
defaultP
!=
null
)
{
p
.
setUom
(
defaultP
.
getUnitType
().
getGmlRepresentation
());
}
else
{
p
.
setUom
(
""
);
}
p
.
setName
(
param
.
getKey
());
p
.
setValue
(
param
.
getValue
());
req
.
getParameters
().
add
(
new
ParameterProperty
(
p
));
}
}
}
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
missing
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
();
missing
.
setRequirementType
(
RequirementId
.
R_SE_ATTRIBUTES_EXISTING
);
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
correct
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
();
correct
.
setRequirementType
(
RequirementId
.
R_SE_ATTRIBUTES_CORRECT
);
missing
.
setEnabled
(
config
.
getSchematronFilePath
()
!=
null
);
correct
.
setEnabled
(
config
.
getSchematronFilePath
()
!=
null
);
plan
.
getRequirements
().
add
(
new
RequirementProperty
(
missing
));
plan
.
getRequirements
().
add
(
new
RequirementProperty
(
correct
));
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
GlobalParameters
globParams
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
GlobalParameters
();
plan
.
setGlobalParameters
(
new
GlobalParametersProperty
(
globParams
));
Parameter
numRounding
=
new
Parameter
();
numRounding
.
setName
(
"numberOfRoundingPlaces"
);
numRounding
.
setUom
(
"amount"
);
numRounding
.
setValue
(
""
+
config
.
getNumberOfRoundingPlaces
());
globParams
.
getParameters
().
add
(
new
ParameterProperty
(
numRounding
));
Parameter
minVertexDistance
=
new
Parameter
();
minVertexDistance
.
setName
(
"minVertexDistance"
);
minVertexDistance
.
setUom
(
"m"
);
minVertexDistance
.
setValue
(
""
+
config
.
getMinVertexDistance
());
globParams
.
getParameters
().
add
(
new
ParameterProperty
(
minVertexDistance
));
if
(
config
.
getSchematronFilePath
()
!=
null
)
{
Parameter
schematronFile
=
new
Parameter
();
schematronFile
.
setName
(
"schematronFile"
);
schematronFile
.
setUom
(
"path"
);
schematronFile
.
setValue
(
config
.
getSchematronFilePath
());
globParams
.
getParameters
().
add
(
new
ParameterProperty
(
schematronFile
));
}
return
plan
;
}
private
DefaultParameter
getDefaultParameter
(
String
reqKey
,
Map
<
String
,
de
.
hft
.
stuttgart
.
citydoctor2
.
check
.
Requirement
>
reqs
,
String
paramName
)
{
de
.
hft
.
stuttgart
.
citydoctor2
.
check
.
Requirement
requirement
=
reqs
.
get
(
reqKey
);
if
(
requirement
!=
null
)
{
for
(
DefaultParameter
param
:
requirement
.
getDefaultParameter
())
{
if
(
param
.
getName
().
equals
(
paramName
))
{
return
param
;
}
}
}
return
null
;
}
private
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Filter
createFilter
()
{
...
...
@@ -461,13 +387,6 @@ public class Checker {
}
}
private
RequirementId
mapToRequirement
(
String
requirementName
)
{
try
{
return
RequirementId
.
valueOf
(
requirementName
);
}
catch
(
IllegalArgumentException
e
)
{
return
null
;
}
}
public
ValidationConfiguration
getConfig
()
{
return
config
;
...
...
CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/check/ValidationConfiguration.java
View file @
e07d5f03
...
...
@@ -20,9 +20,17 @@ package de.hft.stuttgart.citydoctor2.check;
import
java.io.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map.Entry
;
import
de.hft.stuttgart.quality.model.enums.RequirementId
;
import
de.hft.stuttgart.quality.model.properties.FilterProperty
;
import
de.hft.stuttgart.quality.model.properties.GlobalParametersProperty
;
import
de.hft.stuttgart.quality.model.properties.ParameterProperty
;
import
de.hft.stuttgart.quality.model.properties.RequirementProperty
;
import
de.hft.stuttgart.quality.model.types.Parameter
;
import
de.hft.stuttgart.quality.model.types.ValidationPlan
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.yaml.snakeyaml.DumperOptions
;
...
...
@@ -101,6 +109,89 @@ public class ValidationConfiguration implements Serializable {
private
ValidationConfiguration
()
{
}
public
ValidationPlan
createValidationPlan
(
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Filter
filter
){
ValidationPlan
plan
=
new
ValidationPlan
();
plan
.
setFilter
(
new
FilterProperty
(
filter
));
List
<
RequirementProperty
>
planRequirements
=
plan
.
getRequirements
();
Map
<
String
,
de
.
hft
.
stuttgart
.
citydoctor2
.
check
.
Requirement
>
reqs
=
Checks
.
getAvailableRequirements
();
for
(
Entry
<
String
,
RequirementConfiguration
>
e
:
this
.
getRequirements
().
entrySet
())
{
RequirementId
reqId
=
mapToRequirement
(
e
.
getKey
());
if
(
reqId
==
null
)
{
continue
;
}
planRequirements
.
add
(
convertRequirementToProperty
(
reqId
,
reqs
.
get
(
e
.
getKey
()),
e
.
getValue
()));
}
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
missing
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
();
missing
.
setRequirementType
(
RequirementId
.
R_SE_ATTRIBUTES_EXISTING
);
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
correct
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
();
correct
.
setRequirementType
(
RequirementId
.
R_SE_ATTRIBUTES_CORRECT
);
missing
.
setEnabled
(
this
.
getSchematronFilePath
()
!=
null
);
correct
.
setEnabled
(
this
.
getSchematronFilePath
()
!=
null
);
planRequirements
.
add
(
new
RequirementProperty
(
missing
));
planRequirements
.
add
(
new
RequirementProperty
(
correct
));
plan
.
setGlobalParameters
(
buildGlobalParametersProperty
());
return
plan
;
}
private
RequirementProperty
convertRequirementToProperty
(
RequirementId
reqId
,
Requirement
cdReq
,
RequirementConfiguration
reqConfig
){
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
qAdeReq
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
Requirement
();
qAdeReq
.
setRequirementType
(
reqId
);
qAdeReq
.
setEnabled
(
reqConfig
.
isEnabled
());
Map
<
String
,
String
>
parameters
=
reqConfig
.
getParameters
();
if
(
parameters
!=
null
)
{
for
(
Entry
<
String
,
String
>
param
:
parameters
.
entrySet
())
{
Parameter
p
=
new
Parameter
();
DefaultParameter
defaultP
=
cdReq
!=
null
?
cdReq
.
getDefaultParameter
(
param
.
getKey
())
:
null
;
if
(
defaultP
!=
null
)
{
p
.
setUom
(
defaultP
.
getUnitType
().
getGmlRepresentation
());
}
else
{
p
.
setUom
(
""
);
}
p
.
setName
(
param
.
getKey
());
p
.
setValue
(
param
.
getValue
());
qAdeReq
.
getParameters
().
add
(
new
ParameterProperty
(
p
));
}
}
return
new
RequirementProperty
(
qAdeReq
);
}
private
GlobalParametersProperty
buildGlobalParametersProperty
(){
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
GlobalParameters
globParams
=
new
de
.
hft
.
stuttgart
.
quality
.
model
.
types
.
GlobalParameters
();
Parameter
numRounding
=
new
Parameter
();
numRounding
.
setName
(
"numberOfRoundingPlaces"
);
numRounding
.
setUom
(
"amount"
);
numRounding
.
setValue
(
""
+
this
.
getNumberOfRoundingPlaces
());
globParams
.
getParameters
().
add
(
new
ParameterProperty
(
numRounding
));
Parameter
minVertexDistance
=
new
Parameter
();
minVertexDistance
.
setName
(
"minVertexDistance"
);
minVertexDistance
.
setUom
(
"m"
);
minVertexDistance
.
setValue
(
""
+
this
.
getMinVertexDistance
());
globParams
.
getParameters
().
add
(
new
ParameterProperty
(
minVertexDistance
));
if
(
this
.
getSchematronFilePath
()
!=
null
)
{
Parameter
schematronFile
=
new
Parameter
();
schematronFile
.
setName
(
"schematronFile"
);
schematronFile
.
setUom
(
"path"
);
schematronFile
.
setValue
(
this
.
getSchematronFilePath
());
globParams
.
getParameters
().
add
(
new
ParameterProperty
(
schematronFile
));
}
return
new
GlobalParametersProperty
(
globParams
);
}
private
RequirementId
mapToRequirement
(
String
requirementName
)
{
try
{
return
RequirementId
.
valueOf
(
requirementName
);
}
catch
(
IllegalArgumentException
e
)
{
return
null
;
}
}
public
void
saveAs
(
File
f
)
throws
IOException
{
Yaml
yaml
=
prepareDumpingOfConfig
();
try
(
BufferedWriter
bw
=
new
BufferedWriter
(
new
FileWriter
(
f
)))
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment