Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Eclipse Projects
Eclipse openK User Modules
org.eclipse.openk-usermodules.gridFailureInformation.backend
Commits
d4ea4362
Commit
d4ea4362
authored
Aug 27, 2020
by
dietricf
Browse files
SI-1321 Freetext adresses
parent
078a6d05
Changes
5
Hide whitespace changes
Inline
Side-by-side
gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/constants/Constants.java
View file @
d4ea4362
...
...
@@ -44,6 +44,8 @@ public final class Constants {
public
static
final
String
PUBLICATION_CHANNEL_MAIL
=
"Mail"
;
public
static
final
String
FREETEXT_ADDRESS_TYPE
=
"freetext"
;
private
Constants
()
{
// empty Constructor for the sake of SONAR
}
...
...
gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/mapper/FailureInformationMapper.java
View file @
d4ea4362
...
...
@@ -14,14 +14,21 @@
*/
package
org.eclipse.openk.gridfailureinformation.mapper
;
import
org.eclipse.openk.gridfailureinformation.constants.Constants
;
import
org.eclipse.openk.gridfailureinformation.model.TblFailureInformation
;
import
org.eclipse.openk.gridfailureinformation.model.TblStation
;
import
org.eclipse.openk.gridfailureinformation.viewmodel.FailureInformationDto
;
import
org.eclipse.openk.gridfailureinformation.viewmodel.ForeignFailureDataDto
;
import
org.mapstruct.*
;
import
org.mapstruct.AfterMapping
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.Mapping
;
import
org.mapstruct.MappingTarget
;
import
org.mapstruct.Mappings
;
import
org.mapstruct.ReportingPolicy
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.stream.Collectors
;
@Mapper
(
componentModel
=
"spring"
,
unmappedTargetPolicy
=
ReportingPolicy
.
IGNORE
)
...
...
@@ -69,4 +76,33 @@ public interface FailureInformationMapper {
failureInformationDto
.
setStationIds
(
stations
!=
null
?
stations
.
stream
().
map
(
TblStation:
:
getUuid
).
collect
(
Collectors
.
toList
())
:
new
LinkedList
<>());
}
@AfterMapping
default
void
splitFreetextAddress
(
TblFailureInformation
source
,
@MappingTarget
FailureInformationDto
failureInformationDto
){
if
(
Constants
.
FREETEXT_ADDRESS_TYPE
.
equalsIgnoreCase
(
source
.
getAddressType
()))
{
failureInformationDto
.
setFreetextCity
(
source
.
getCity
());
failureInformationDto
.
setFreetextDistrict
(
source
.
getDistrict
());
failureInformationDto
.
setFreetextPostcode
(
source
.
getPostcode
());
failureInformationDto
.
setCity
(
null
);
failureInformationDto
.
setDistrict
(
null
);
failureInformationDto
.
setPostcode
(
null
);
}
}
@AfterMapping
default
void
splitFreetextAddress
(
FailureInformationDto
source
,
@MappingTarget
TblFailureInformation
destTbl
){
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
Optional
.
ofNullable
(
source
.
getFreetextCity
()).
orElse
(
""
));
sb
.
append
(
Optional
.
ofNullable
(
source
.
getFreetextDistrict
()).
orElse
(
""
));
sb
.
append
(
Optional
.
ofNullable
(
source
.
getFreetextPostcode
()).
orElse
(
""
));
if
(
!
sb
.
toString
().
trim
().
isEmpty
())
{
// freetextAddress is present
destTbl
.
setAddressType
(
Constants
.
FREETEXT_ADDRESS_TYPE
);
destTbl
.
setCity
(
source
.
getFreetextCity
());
destTbl
.
setDistrict
(
source
.
getFreetextDistrict
());
destTbl
.
setPostcode
(
source
.
getFreetextPostcode
());
}
else
{
destTbl
.
setAddressType
(
null
);
}
}
}
gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/model/TblFailureInformation.java
View file @
d4ea4362
...
...
@@ -21,7 +21,17 @@ import org.springframework.data.annotation.LastModifiedBy;
import
org.springframework.data.annotation.LastModifiedDate
;
import
org.springframework.data.jpa.domain.support.AuditingEntityListener
;
import
javax.persistence.*
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.EntityListeners
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
import
javax.persistence.JoinColumn
;
import
javax.persistence.ManyToOne
;
import
javax.persistence.OneToOne
;
import
javax.persistence.SequenceGenerator
;
import
javax.persistence.Transient
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.LinkedList
;
...
...
@@ -65,6 +75,7 @@ public class TblFailureInformation {
private
String
publicationFreetext
;
private
Boolean
condensed
;
private
Integer
condensedCount
;
private
String
addressType
;
@CreatedDate
@Column
(
name
=
"create_date"
)
...
...
gfsBackendService/src/main/java/org/eclipse/openk/gridfailureinformation/viewmodel/FailureInformationDto.java
View file @
d4ea4362
...
...
@@ -54,6 +54,9 @@ public class FailureInformationDto implements Serializable {
private
String
stationId
;
private
String
stationDescription
;
private
String
stationCoords
;
private
String
freetextPostcode
;
private
String
freetextCity
;
private
String
freetextDistrict
;
private
BigDecimal
longitude
;
private
BigDecimal
latitude
;
private
String
objectReferenceExternalSystem
;
...
...
gfsBackendService/src/main/resources/db/migration/V0_56__freetextAdressenSemantik.sql
0 → 100644
View file @
d4ea4362
-----------------------------------------------------------------------------------
-- *******************************************************************************
-- * Copyright (c) 2019 Contributors to the Eclipse Foundation
-- *
-- * See the NOTICE file(s) distributed with this work for additional
-- * information regarding copyright ownership.
-- *
-- * This program and the accompanying materials are made available under the
-- * terms of the Eclipse Public License v. 2.0 which is available at
-- * http://www.eclipse.org/legal/epl-2.0.
-- *
-- * SPDX-License-Identifier: EPL-2.0
-- *******************************************************************************
-----------------------------------------------------------------------------------
ALTER
TABLE
public
.
TBL_FAILURE_INFORMATION
ADD
COLUMN
address_type
varchar
(
10
);
ALTER
TABLE
public
.
HTBL_FAILURE_INFORMATION
ADD
COLUMN
address_type
varchar
(
10
);
-- ----------------------------------------------------------------------------
-- ----------------------------------------------------------------------------
-- TRIGGER
-- ----------------------------------------------------------------------------
-- ----------------------------------------------------------------------------
-- PUBLIC.TBL_FAILURE_INFORMATION INSERT TRIGGER --
-- <GENERATED CODE!>
CREATE
OR
REPLACE
FUNCTION
PUBLIC
.
TBL_FAILURE_INFORMATION_INSERT_TRG
()
RETURNS
trigger
AS
$
BODY
$
BEGIN
INSERT
INTO
HTBL_FAILURE_INFORMATION
(
ID
,
UUID
,
VERSION_NUMBER
,
FK_REF_FAILURE_CLASSIFICATION
,
TITLE
,
DESCRIPTION
,
RESPONSIBILITY
,
FK_REF_STATUS_INTERN
,
FK_REF_BRANCH
,
VOLTAGE_LEVEL
,
PRESSURE_LEVEL
,
FAILURE_BEGIN
,
FAILURE_END_PLANNED
,
FAILURE_END_RESUPPLIED
,
INTERNAL_REMARK
,
POSTCODE
,
CITY
,
DISTRICT
,
STREET
,
HOUSENUMBER
,
STATION_ID
,
STATION_DESCRIPTION
,
STATION_COORDS
,
FK_REF_RADIUS
,
LONGITUDE
,
LATITUDE
,
FK_TBL_FAILURE_INFORMATION_CONDENSED
,
CONDENSED
,
CONDENSED_COUNT
,
OBJECT_REFERENCE_EXTERNAL_SYSTEM
,
PUBLICATION_STATUS
,
PUBLICATION_FREETEXT
,
FK_REF_EXPECTED_REASON
,
ADDRESS_TYPE
,
CREATE_DATE
,
CREATE_USER
,
MOD_DATE
,
MOD_USER
,
HACTION
,
HDATE
,
HUSER
)
VALUES
(
NEW
.
ID
,
NEW
.
UUID
,
NEW
.
VERSION_NUMBER
,
NEW
.
FK_REF_FAILURE_CLASSIFICATION
,
NEW
.
TITLE
,
NEW
.
DESCRIPTION
,
NEW
.
RESPONSIBILITY
,
NEW
.
FK_REF_STATUS_INTERN
,
NEW
.
FK_REF_BRANCH
,
NEW
.
VOLTAGE_LEVEL
,
NEW
.
PRESSURE_LEVEL
,
NEW
.
FAILURE_BEGIN
,
NEW
.
FAILURE_END_PLANNED
,
NEW
.
FAILURE_END_RESUPPLIED
,
NEW
.
INTERNAL_REMARK
,
NEW
.
POSTCODE
,
NEW
.
CITY
,
NEW
.
DISTRICT
,
NEW
.
STREET
,
NEW
.
HOUSENUMBER
,
NEW
.
STATION_ID
,
NEW
.
STATION_DESCRIPTION
,
NEW
.
STATION_COORDS
,
NEW
.
FK_REF_RADIUS
,
NEW
.
LONGITUDE
,
NEW
.
LATITUDE
,
NEW
.
FK_TBL_FAILURE_INFORMATION_CONDENSED
,
NEW
.
CONDENSED
,
NEW
.
CONDENSED_COUNT
,
NEW
.
OBJECT_REFERENCE_EXTERNAL_SYSTEM
,
NEW
.
PUBLICATION_STATUS
,
NEW
.
PUBLICATION_FREETEXT
,
NEW
.
FK_REF_EXPECTED_REASON
,
NEW
.
ADDRESS_TYPE
,
NEW
.
CREATE_DATE
,
NEW
.
CREATE_USER
,
NEW
.
MOD_DATE
,
NEW
.
MOD_USER
,
1
,
current_timestamp
,
NEW
.
CREATE_USER
);
RETURN
NEW
;
END
;
$
BODY
$
LANGUAGE
plpgsql
VOLATILE
COST
100
;
ALTER
FUNCTION
PUBLIC
.
TBL_FAILURE_INFORMATION_INSERT_TRG
()
OWNER
TO
gfi_service
;
DROP
TRIGGER
IF
EXISTS
TBL_FAILURE_INFORMATION_INSERT_TRG
ON
PUBLIC
.
TBL_FAILURE_INFORMATION
;
CREATE
TRIGGER
TBL_FAILURE_INFORMATION_INSERT_TRG
BEFORE
INSERT
ON
PUBLIC
.
TBL_FAILURE_INFORMATION
FOR
EACH
ROW
EXECUTE
PROCEDURE
PUBLIC
.
TBL_FAILURE_INFORMATION_INSERT_TRG
();
-- PUBLIC.TBL_FAILURE_INFORMATION UPDATE TRIGGER --
-- <GENERATED CODE!>
CREATE
OR
REPLACE
FUNCTION
PUBLIC
.
TBL_FAILURE_INFORMATION_UPDATE_TRG
()
RETURNS
trigger
AS
$
BODY
$
BEGIN
INSERT
INTO
HTBL_FAILURE_INFORMATION
(
ID
,
UUID
,
VERSION_NUMBER
,
FK_REF_FAILURE_CLASSIFICATION
,
TITLE
,
DESCRIPTION
,
RESPONSIBILITY
,
FK_REF_STATUS_INTERN
,
FK_REF_BRANCH
,
VOLTAGE_LEVEL
,
PRESSURE_LEVEL
,
FAILURE_BEGIN
,
FAILURE_END_PLANNED
,
FAILURE_END_RESUPPLIED
,
INTERNAL_REMARK
,
POSTCODE
,
CITY
,
DISTRICT
,
STREET
,
HOUSENUMBER
,
STATION_ID
,
STATION_DESCRIPTION
,
STATION_COORDS
,
FK_REF_RADIUS
,
LONGITUDE
,
LATITUDE
,
FK_TBL_FAILURE_INFORMATION_CONDENSED
,
CONDENSED
,
CONDENSED_COUNT
,
OBJECT_REFERENCE_EXTERNAL_SYSTEM
,
PUBLICATION_STATUS
,
PUBLICATION_FREETEXT
,
FK_REF_EXPECTED_REASON
,
ADDRESS_TYPE
,
CREATE_DATE
,
CREATE_USER
,
MOD_DATE
,
MOD_USER
,
HACTION
,
HDATE
,
HUSER
)
VALUES
(
NEW
.
ID
,
NEW
.
UUID
,
NEW
.
VERSION_NUMBER
,
NEW
.
FK_REF_FAILURE_CLASSIFICATION
,
NEW
.
TITLE
,
NEW
.
DESCRIPTION
,
NEW
.
RESPONSIBILITY
,
NEW
.
FK_REF_STATUS_INTERN
,
NEW
.
FK_REF_BRANCH
,
NEW
.
VOLTAGE_LEVEL
,
NEW
.
PRESSURE_LEVEL
,
NEW
.
FAILURE_BEGIN
,
NEW
.
FAILURE_END_PLANNED
,
NEW
.
FAILURE_END_RESUPPLIED
,
NEW
.
INTERNAL_REMARK
,
NEW
.
POSTCODE
,
NEW
.
CITY
,
NEW
.
DISTRICT
,
NEW
.
STREET
,
NEW
.
HOUSENUMBER
,
NEW
.
STATION_ID
,
NEW
.
STATION_DESCRIPTION
,
NEW
.
STATION_COORDS
,
NEW
.
FK_REF_RADIUS
,
NEW
.
LONGITUDE
,
NEW
.
LATITUDE
,
NEW
.
FK_TBL_FAILURE_INFORMATION_CONDENSED
,
NEW
.
CONDENSED
,
NEW
.
CONDENSED_COUNT
,
NEW
.
OBJECT_REFERENCE_EXTERNAL_SYSTEM
,
NEW
.
PUBLICATION_STATUS
,
NEW
.
PUBLICATION_FREETEXT
,
NEW
.
FK_REF_EXPECTED_REASON
,
NEW
.
ADDRESS_TYPE
,
NEW
.
CREATE_DATE
,
NEW
.
CREATE_USER
,
NEW
.
MOD_DATE
,
NEW
.
MOD_USER
,
2
,
current_timestamp
,
NEW
.
MOD_USER
);
RETURN
NEW
;
END
;
$
BODY
$
LANGUAGE
plpgsql
VOLATILE
COST
100
;
ALTER
FUNCTION
PUBLIC
.
TBL_FAILURE_INFORMATION_UPDATE_TRG
()
OWNER
TO
gfi_service
;
DROP
TRIGGER
IF
EXISTS
TBL_FAILURE_INFORMATION_UPDATE_TRG
ON
PUBLIC
.
TBL_FAILURE_INFORMATION
;
CREATE
TRIGGER
TBL_FAILURE_INFORMATION_UPDATE_TRG
BEFORE
UPDATE
ON
PUBLIC
.
TBL_FAILURE_INFORMATION
FOR
EACH
ROW
EXECUTE
PROCEDURE
PUBLIC
.
TBL_FAILURE_INFORMATION_UPDATE_TRG
();
-- PUBLIC.TBL_FAILURE_INFORMATION DELETE TRIGGER --
-- <GENERATED CODE!>
CREATE
OR
REPLACE
FUNCTION
PUBLIC
.
TBL_FAILURE_INFORMATION_DELETE_TRG
()
RETURNS
trigger
AS
$
BODY
$
BEGIN
IF
TG_OP
=
'DELETE'
THEN
INSERT
INTO
HTBL_FAILURE_INFORMATION
(
ID
,
UUID
,
VERSION_NUMBER
,
FK_REF_FAILURE_CLASSIFICATION
,
TITLE
,
DESCRIPTION
,
RESPONSIBILITY
,
FK_REF_STATUS_INTERN
,
FK_REF_BRANCH
,
VOLTAGE_LEVEL
,
PRESSURE_LEVEL
,
FAILURE_BEGIN
,
FAILURE_END_PLANNED
,
FAILURE_END_RESUPPLIED
,
INTERNAL_REMARK
,
POSTCODE
,
CITY
,
DISTRICT
,
STREET
,
HOUSENUMBER
,
STATION_ID
,
STATION_DESCRIPTION
,
STATION_COORDS
,
FK_REF_RADIUS
,
LONGITUDE
,
LATITUDE
,
FK_TBL_FAILURE_INFORMATION_CONDENSED
,
CONDENSED
,
CONDENSED_COUNT
,
OBJECT_REFERENCE_EXTERNAL_SYSTEM
,
PUBLICATION_STATUS
,
PUBLICATION_FREETEXT
,
FK_REF_EXPECTED_REASON
,
ADDRESS_TYPE
,
CREATE_DATE
,
CREATE_USER
,
MOD_DATE
,
MOD_USER
,
HACTION
,
HDATE
,
HUSER
)
VALUES
(
OLD
.
ID
,
OLD
.
UUID
,
OLD
.
VERSION_NUMBER
,
OLD
.
FK_REF_FAILURE_CLASSIFICATION
,
OLD
.
TITLE
,
OLD
.
DESCRIPTION
,
OLD
.
RESPONSIBILITY
,
OLD
.
FK_REF_STATUS_INTERN
,
OLD
.
FK_REF_BRANCH
,
OLD
.
VOLTAGE_LEVEL
,
OLD
.
PRESSURE_LEVEL
,
OLD
.
FAILURE_BEGIN
,
OLD
.
FAILURE_END_PLANNED
,
OLD
.
FAILURE_END_RESUPPLIED
,
OLD
.
INTERNAL_REMARK
,
OLD
.
POSTCODE
,
OLD
.
CITY
,
OLD
.
DISTRICT
,
OLD
.
STREET
,
OLD
.
HOUSENUMBER
,
OLD
.
STATION_ID
,
OLD
.
STATION_DESCRIPTION
,
OLD
.
STATION_COORDS
,
OLD
.
FK_REF_RADIUS
,
OLD
.
LONGITUDE
,
OLD
.
LATITUDE
,
OLD
.
FK_TBL_FAILURE_INFORMATION_CONDENSED
,
OLD
.
CONDENSED
,
OLD
.
CONDENSED_COUNT
,
OLD
.
OBJECT_REFERENCE_EXTERNAL_SYSTEM
,
OLD
.
PUBLICATION_STATUS
,
OLD
.
PUBLICATION_FREETEXT
,
OLD
.
FK_REF_EXPECTED_REASON
,
OLD
.
ADDRESS_TYPE
,
OLD
.
CREATE_DATE
,
OLD
.
CREATE_USER
,
OLD
.
MOD_DATE
,
OLD
.
MOD_USER
,
3
,
current_timestamp
,
OLD
.
MOD_USER
);
END
IF
;
RETURN
OLD
;
END
;
$
BODY
$
LANGUAGE
plpgsql
VOLATILE
COST
100
;
ALTER
FUNCTION
PUBLIC
.
TBL_FAILURE_INFORMATION_DELETE_TRG
()
OWNER
TO
gfi_service
;
DROP
TRIGGER
IF
EXISTS
TBL_FAILURE_INFORMATION_DELETE_TRG
ON
PUBLIC
.
TBL_FAILURE_INFORMATION
;
CREATE
TRIGGER
TBL_FAILURE_INFORMATION_DELETE_TRG
BEFORE
DELETE
ON
PUBLIC
.
TBL_FAILURE_INFORMATION
FOR
EACH
ROW
EXECUTE
PROCEDURE
PUBLIC
.
TBL_FAILURE_INFORMATION_DELETE_TRG
();
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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