Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
CityDoctor
QualityADE
Commits
c9b858da
Commit
c9b858da
authored
3 years ago
by
Claus Nagel
Browse files
Options
Download
Email Patches
Plain Diff
make sure that parent pointers are correctly set
parent
d323a750
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ComponentList.java
+3
-2
...a/de/hft/stuttgart/quality/model/types/ComponentList.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ConsecutivePointsSameError.java
+2
-2
...tgart/quality/model/types/ConsecutivePointsSameError.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Edge.java
+2
-2
.../main/java/de/hft/stuttgart/quality/model/types/Edge.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/EdgeList.java
+3
-2
...n/java/de/hft/stuttgart/quality/model/types/EdgeList.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Error.java
+6
-6
...main/java/de/hft/stuttgart/quality/model/types/Error.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Filter.java
+3
-2
...ain/java/de/hft/stuttgart/quality/model/types/Filter.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/GlobalParameters.java
+3
-2
...e/hft/stuttgart/quality/model/types/GlobalParameters.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java
+3
-2
...tuttgart/quality/model/types/MultipleComponentsError.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldEdgeError.java
+1
-1
...t/stuttgart/quality/model/types/NonManifoldEdgeError.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldVertexError.java
+1
-1
...stuttgart/quality/model/types/NonManifoldVertexError.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarDistancePlaneError.java
+2
-2
...uttgart/quality/model/types/PlanarDistancePlaneError.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarNormalsDeviationError.java
+1
-1
...gart/quality/model/types/PlanarNormalsDeviationError.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Requirement.java
+3
-2
...ava/de/hft/stuttgart/quality/model/types/Requirement.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/RingSelfIntersectionError.java
+4
-4
...ttgart/quality/model/types/RingSelfIntersectionError.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidNotClosedError.java
+1
-1
...ft/stuttgart/quality/model/types/SolidNotClosedError.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Statistics.java
+9
-8
...java/de/hft/stuttgart/quality/model/types/Statistics.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Validation.java
+2
-2
...java/de/hft/stuttgart/quality/model/types/Validation.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationPlan.java
+5
-4
.../de/hft/stuttgart/quality/model/types/ValidationPlan.java
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResult.java
+3
-2
...e/hft/stuttgart/quality/model/types/ValidationResult.java
with
57 additions
and
48 deletions
+57
-48
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ComponentList.java
+
3
-
2
View file @
c9b858da
...
...
@@ -23,6 +23,7 @@ import org.citygml4j.core.model.ade.ADEObject;
import
org.xmlobjects.gml.model.GMLObject
;
import
de.hft.stuttgart.quality.model.properties.PolygonIdListProperty
;
import
org.xmlobjects.model.ChildList
;
public
class
ComponentList
extends
GMLObject
implements
ADEObject
{
...
...
@@ -33,13 +34,13 @@ public class ComponentList extends GMLObject implements ADEObject {
public
List
<
PolygonIdListProperty
>
getComponents
()
{
if
(
components
==
null
)
{
components
=
new
Array
List
<>();
components
=
new
Child
List
<>(
this
);
}
return
components
;
}
public
void
setComponents
(
List
<
PolygonIdListProperty
>
components
)
{
this
.
components
=
components
;
this
.
components
=
asChild
(
components
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ConsecutivePointsSameError.java
+
2
-
2
View file @
c9b858da
...
...
@@ -32,7 +32,7 @@ public class ConsecutivePointsSameError extends AbstractRingError {
}
public
void
setVertex1
(
DirectPosition
vertex1
)
{
this
.
vertex1
=
vertex1
;
this
.
vertex1
=
asChild
(
vertex1
)
;
}
public
DirectPosition
getVertex2
()
{
...
...
@@ -40,7 +40,7 @@ public class ConsecutivePointsSameError extends AbstractRingError {
}
public
void
setVertex2
(
DirectPosition
vertex2
)
{
this
.
vertex2
=
vertex2
;
this
.
vertex2
=
asChild
(
vertex2
)
;
}
@Override
...
...
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Edge.java
+
2
-
2
View file @
c9b858da
...
...
@@ -34,7 +34,7 @@ public class Edge extends GMLObject implements ADEObject {
}
public
void
setFrom
(
DirectPosition
from
)
{
this
.
from
=
from
;
this
.
from
=
asChild
(
from
)
;
}
public
DirectPosition
getTo
()
{
...
...
@@ -42,7 +42,7 @@ public class Edge extends GMLObject implements ADEObject {
}
public
void
setTo
(
DirectPosition
to
)
{
this
.
to
=
to
;
this
.
to
=
asChild
(
to
)
;
}
@Override
...
...
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/EdgeList.java
+
3
-
2
View file @
c9b858da
...
...
@@ -23,6 +23,7 @@ import org.citygml4j.core.model.ade.ADEObject;
import
org.xmlobjects.gml.model.GMLObject
;
import
de.hft.stuttgart.quality.model.properties.EdgeProperty
;
import
org.xmlobjects.model.ChildList
;
public
class
EdgeList
extends
GMLObject
implements
ADEObject
{
...
...
@@ -33,13 +34,13 @@ public class EdgeList extends GMLObject implements ADEObject {
public
List
<
EdgeProperty
>
getEdges
()
{
if
(
edges
==
null
)
{
edges
=
new
Array
List
<>();
edges
=
new
Child
List
<>(
this
);
}
return
edges
;
}
public
void
setEdges
(
List
<
EdgeProperty
>
edges
)
{
this
.
edges
=
edges
;
this
.
edges
=
asChild
(
edges
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Error.java
+
6
-
6
View file @
c9b858da
...
...
@@ -27,15 +27,15 @@ public class Error extends GMLObject implements ADEObject {
@Serial
private
static
final
long
serialVersionUID
=
2447962257841143458L
;
private
int
occurences
;
private
int
occur
r
ences
;
private
ErrorId
name
;
public
int
getOccurences
()
{
return
occurences
;
public
int
getOccur
r
ences
()
{
return
occur
r
ences
;
}
public
void
setOccurences
(
int
occurences
)
{
this
.
occurences
=
occurences
;
public
void
setOccur
r
ences
(
int
occur
r
ences
)
{
this
.
occur
r
ences
=
occur
r
ences
;
}
public
ErrorId
getName
()
{
...
...
@@ -48,7 +48,7 @@ public class Error extends GMLObject implements ADEObject {
@Override
public
String
toString
()
{
return
"Error [occurences="
+
occurences
+
", name="
+
name
+
"]"
;
return
"Error [occurences="
+
occur
r
ences
+
", name="
+
name
+
"]"
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Filter.java
+
3
-
2
View file @
c9b858da
...
...
@@ -23,6 +23,7 @@ import org.citygml4j.core.model.ade.ADEObject;
import
org.xmlobjects.gml.model.GMLObject
;
import
de.hft.stuttgart.quality.model.properties.CheckingProperty
;
import
org.xmlobjects.model.ChildList
;
public
class
Filter
extends
GMLObject
implements
ADEObject
{
...
...
@@ -33,13 +34,13 @@ public class Filter extends GMLObject implements ADEObject {
public
List
<
CheckingProperty
>
getChecking
()
{
if
(
checking
==
null
)
{
checking
=
new
Array
List
<>();
checking
=
new
Child
List
<>(
this
);
}
return
checking
;
}
public
void
setChecking
(
List
<
CheckingProperty
>
checking
)
{
this
.
checking
=
checking
;
this
.
checking
=
asChild
(
checking
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/GlobalParameters.java
+
3
-
2
View file @
c9b858da
...
...
@@ -23,6 +23,7 @@ import org.citygml4j.core.model.ade.ADEObject;
import
org.xmlobjects.gml.model.GMLObject
;
import
de.hft.stuttgart.quality.model.properties.ParameterProperty
;
import
org.xmlobjects.model.ChildList
;
public
class
GlobalParameters
extends
GMLObject
implements
ADEObject
{
...
...
@@ -33,13 +34,13 @@ public class GlobalParameters extends GMLObject implements ADEObject {
public
List
<
ParameterProperty
>
getParameters
()
{
if
(
parameters
==
null
)
{
parameters
=
new
Array
List
<>();
parameters
=
new
Child
List
<>(
this
);
}
return
parameters
;
}
public
void
setParameters
(
List
<
ParameterProperty
>
parameters
)
{
this
.
parameters
=
parameters
;
this
.
parameters
=
asChild
(
parameters
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/MultipleComponentsError.java
+
3
-
2
View file @
c9b858da
...
...
@@ -20,6 +20,7 @@ import java.util.ArrayList;
import
java.util.List
;
import
de.hft.stuttgart.quality.model.properties.ComponentListProperty
;
import
org.xmlobjects.model.ChildList
;
public
class
MultipleComponentsError
extends
AbstractSolidError
{
...
...
@@ -30,13 +31,13 @@ public class MultipleComponentsError extends AbstractSolidError {
public
List
<
ComponentListProperty
>
getEdges
()
{
if
(
edges
==
null
)
{
edges
=
new
Array
List
<>();
edges
=
new
Child
List
<>(
this
);
}
return
edges
;
}
public
void
setEdges
(
List
<
ComponentListProperty
>
edges
)
{
this
.
edges
=
edges
;
this
.
edges
=
asChild
(
edges
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldEdgeError.java
+
1
-
1
View file @
c9b858da
...
...
@@ -31,7 +31,7 @@ public class NonManifoldEdgeError extends AbstractSolidError {
}
public
void
setEdges
(
EdgeListProperty
edges
)
{
this
.
edges
=
edges
;
this
.
edges
=
asChild
(
edges
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/NonManifoldVertexError.java
+
1
-
1
View file @
c9b858da
...
...
@@ -31,7 +31,7 @@ public class NonManifoldVertexError extends AbstractSolidError {
}
public
void
setVertex
(
DirectPosition
vertex
)
{
this
.
vertex
=
vertex
;
this
.
vertex
=
asChild
(
vertex
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarDistancePlaneError.java
+
2
-
2
View file @
c9b858da
...
...
@@ -33,7 +33,7 @@ public class PlanarDistancePlaneError extends AbstractPolygonError {
}
public
void
setVertex
(
DirectPosition
vertex
)
{
this
.
vertex
=
vertex
;
this
.
vertex
=
asChild
(
vertex
)
;
}
public
Length
getDistance
()
{
...
...
@@ -41,7 +41,7 @@ public class PlanarDistancePlaneError extends AbstractPolygonError {
}
public
void
setDistance
(
Length
distance
)
{
this
.
distance
=
distance
;
this
.
distance
=
asChild
(
distance
)
;
}
@Override
...
...
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/PlanarNormalsDeviationError.java
+
1
-
1
View file @
c9b858da
...
...
@@ -31,7 +31,7 @@ public class PlanarNormalsDeviationError extends AbstractPolygonError {
}
public
void
setDeviation
(
Angle
deviation
)
{
this
.
deviation
=
deviation
;
this
.
deviation
=
asChild
(
deviation
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Requirement.java
+
3
-
2
View file @
c9b858da
...
...
@@ -24,6 +24,7 @@ import org.xmlobjects.gml.model.GMLObject;
import
de.hft.stuttgart.quality.model.enums.RequirementId
;
import
de.hft.stuttgart.quality.model.properties.ParameterProperty
;
import
org.xmlobjects.model.ChildList
;
public
class
Requirement
extends
GMLObject
implements
ADEObject
{
...
...
@@ -52,13 +53,13 @@ public class Requirement extends GMLObject implements ADEObject {
public
List
<
ParameterProperty
>
getParameters
()
{
if
(
parameters
==
null
)
{
parameters
=
new
Array
List
<>();
parameters
=
new
Child
List
<>(
this
);
}
return
parameters
;
}
public
void
setParameters
(
List
<
ParameterProperty
>
parameters
)
{
this
.
parameters
=
parameters
;
this
.
parameters
=
asChild
(
parameters
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/RingSelfIntersectionError.java
+
4
-
4
View file @
c9b858da
...
...
@@ -46,7 +46,7 @@ public class RingSelfIntersectionError extends AbstractRingError {
}
public
void
setEdge1
(
EdgeProperty
edge1
)
{
this
.
edge1
=
edge1
;
this
.
edge1
=
asChild
(
edge1
)
;
}
public
EdgeProperty
getEdge2
()
{
...
...
@@ -54,7 +54,7 @@ public class RingSelfIntersectionError extends AbstractRingError {
}
public
void
setEdge2
(
EdgeProperty
edge2
)
{
this
.
edge2
=
edge2
;
this
.
edge2
=
asChild
(
edge2
)
;
}
public
DirectPosition
getVertex1
()
{
...
...
@@ -62,7 +62,7 @@ public class RingSelfIntersectionError extends AbstractRingError {
}
public
void
setVertex1
(
DirectPosition
vertex1
)
{
this
.
vertex1
=
vertex1
;
this
.
vertex1
=
asChild
(
vertex1
)
;
}
public
DirectPosition
getVertex2
()
{
...
...
@@ -70,7 +70,7 @@ public class RingSelfIntersectionError extends AbstractRingError {
}
public
void
setVertex2
(
DirectPosition
vertex2
)
{
this
.
vertex2
=
vertex2
;
this
.
vertex2
=
asChild
(
vertex2
)
;
}
@Override
...
...
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/SolidNotClosedError.java
+
1
-
1
View file @
c9b858da
...
...
@@ -31,7 +31,7 @@ public class SolidNotClosedError extends AbstractSolidError {
}
public
void
setEdges
(
EdgeListProperty
edges
)
{
this
.
edges
=
edges
;
this
.
edges
=
asChild
(
edges
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Statistics.java
+
9
-
8
View file @
c9b858da
...
...
@@ -24,6 +24,7 @@ import org.xmlobjects.gml.model.GMLObject;
import
de.hft.stuttgart.quality.model.properties.ErrorProperty
;
import
de.hft.stuttgart.quality.model.properties.FeatureStatisticsProperty
;
import
org.xmlobjects.model.ChildList
;
public
class
Statistics
extends
GMLObject
implements
ADEObject
{
...
...
@@ -43,7 +44,7 @@ public class Statistics extends GMLObject implements ADEObject {
}
public
void
setNumErrorBuildings
(
FeatureStatisticsProperty
numErrorBuildings
)
{
this
.
numErrorBuildings
=
numErrorBuildings
;
this
.
numErrorBuildings
=
asChild
(
numErrorBuildings
)
;
}
public
FeatureStatisticsProperty
getNumErrorVegetation
()
{
...
...
@@ -51,7 +52,7 @@ public class Statistics extends GMLObject implements ADEObject {
}
public
void
setNumErrorVegetation
(
FeatureStatisticsProperty
numErrorVegetation
)
{
this
.
numErrorVegetation
=
numErrorVegetation
;
this
.
numErrorVegetation
=
asChild
(
numErrorVegetation
)
;
}
public
FeatureStatisticsProperty
getNumErrorLandObjects
()
{
...
...
@@ -59,7 +60,7 @@ public class Statistics extends GMLObject implements ADEObject {
}
public
void
setNumErrorLandObjects
(
FeatureStatisticsProperty
numErrorLandObjects
)
{
this
.
numErrorLandObjects
=
numErrorLandObjects
;
this
.
numErrorLandObjects
=
asChild
(
numErrorLandObjects
)
;
}
public
FeatureStatisticsProperty
getNumErrorBridgeObjects
()
{
...
...
@@ -67,7 +68,7 @@ public class Statistics extends GMLObject implements ADEObject {
}
public
void
setNumErrorBridgeObjects
(
FeatureStatisticsProperty
numErrorBridgeObjects
)
{
this
.
numErrorBridgeObjects
=
numErrorBridgeObjects
;
this
.
numErrorBridgeObjects
=
asChild
(
numErrorBridgeObjects
)
;
}
public
FeatureStatisticsProperty
getNumErrorWaterObjects
()
{
...
...
@@ -75,7 +76,7 @@ public class Statistics extends GMLObject implements ADEObject {
}
public
void
setNumErrorWaterObjects
(
FeatureStatisticsProperty
numErrorWaterObjects
)
{
this
.
numErrorWaterObjects
=
numErrorWaterObjects
;
this
.
numErrorWaterObjects
=
asChild
(
numErrorWaterObjects
)
;
}
public
FeatureStatisticsProperty
getNumErrorTransportation
()
{
...
...
@@ -83,18 +84,18 @@ public class Statistics extends GMLObject implements ADEObject {
}
public
void
setNumErrorTransportation
(
FeatureStatisticsProperty
numErrorTransportation
)
{
this
.
numErrorTransportation
=
numErrorTransportation
;
this
.
numErrorTransportation
=
asChild
(
numErrorTransportation
)
;
}
public
List
<
ErrorProperty
>
getErrors
()
{
if
(
errors
==
null
)
{
errors
=
new
Array
List
<>();
errors
=
new
Child
List
<>(
this
);
}
return
errors
;
}
public
void
setErrors
(
List
<
ErrorProperty
>
errors
)
{
this
.
errors
=
errors
;
this
.
errors
=
asChild
(
errors
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/Validation.java
+
2
-
2
View file @
c9b858da
...
...
@@ -55,7 +55,7 @@ public class Validation extends AbstractFeature implements ADEObject {
}
public
void
setStatistics
(
StatisticsProperty
statistics
)
{
this
.
statistics
=
statistics
;
this
.
statistics
=
asChild
(
statistics
)
;
}
public
ValidationPlanProperty
getValidationPlan
()
{
...
...
@@ -63,7 +63,7 @@ public class Validation extends AbstractFeature implements ADEObject {
}
public
void
setValidationPlan
(
ValidationPlanProperty
validationPlan
)
{
this
.
validationPlan
=
validationPlan
;
this
.
validationPlan
=
asChild
(
validationPlan
)
;
}
}
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationPlan.java
+
5
-
4
View file @
c9b858da
...
...
@@ -25,6 +25,7 @@ import org.xmlobjects.gml.model.GMLObject;
import
de.hft.stuttgart.quality.model.properties.FilterProperty
;
import
de.hft.stuttgart.quality.model.properties.GlobalParametersProperty
;
import
de.hft.stuttgart.quality.model.properties.RequirementProperty
;
import
org.xmlobjects.model.ChildList
;
public
class
ValidationPlan
extends
GMLObject
implements
ADEObject
{
...
...
@@ -40,7 +41,7 @@ public class ValidationPlan extends GMLObject implements ADEObject {
}
public
void
setGlobalParameters
(
GlobalParametersProperty
globalParameters
)
{
this
.
globalParameters
=
globalParameters
;
this
.
globalParameters
=
asChild
(
globalParameters
)
;
}
public
FilterProperty
getFilter
()
{
...
...
@@ -48,18 +49,18 @@ public class ValidationPlan extends GMLObject implements ADEObject {
}
public
void
setFilter
(
FilterProperty
filter
)
{
this
.
filter
=
filter
;
this
.
filter
=
asChild
(
filter
)
;
}
public
List
<
RequirementProperty
>
getRequirement
()
{
if
(
requirement
==
null
)
{
requirement
=
new
Array
List
<>();
requirement
=
new
Child
List
<>(
this
);
}
return
requirement
;
}
public
void
setRequirement
(
List
<
RequirementProperty
>
requirement
)
{
this
.
requirement
=
requirement
;
this
.
requirement
=
asChild
(
requirement
)
;
}
...
...
This diff is collapsed.
Click to expand it.
citygml4j-quality-ade/src/main/java/de/hft/stuttgart/quality/model/types/ValidationResult.java
+
3
-
2
View file @
c9b858da
...
...
@@ -25,6 +25,7 @@ import org.xmlobjects.gml.model.base.Reference;
import
de.hft.stuttgart.quality.model.enums.ResultType
;
import
de.hft.stuttgart.quality.model.properties.AbstractErrorProperty
;
import
org.xmlobjects.model.ChildList
;
public
class
ValidationResult
extends
GMLObject
implements
ADEObject
{
...
...
@@ -40,12 +41,12 @@ public class ValidationResult extends GMLObject implements ADEObject {
}
public
void
setValidationPlanID
(
Reference
validationPlanID
)
{
this
.
validationPlanID
=
validationPlanID
;
this
.
validationPlanID
=
asChild
(
validationPlanID
)
;
}
public
List
<
AbstractErrorProperty
>
getErrors
()
{
if
(
errors
==
null
)
{
errors
=
new
Array
List
<>();
errors
=
new
Child
List
<>(
this
);
}
return
errors
;
}
...
...
This diff is collapsed.
Click to expand it.
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