Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
0f9f10f9
Commit
0f9f10f9
authored
May 28, 2020
by
Gabriele Bianchet-David
Committed by
Stephane Nicoll
Aug 10, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Migrate legacy endpoint that have a dash in their id
See gh-21615
parent
8962d6ca
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
2 deletions
+55
-2
EndpointId.java
...org/springframework/boot/actuate/endpoint/EndpointId.java
+1
-1
EndpointIdTests.java
...pringframework/boot/actuate/endpoint/EndpointIdTests.java
+10
-0
SampleLegacyEndpointWithHyphen.java
...va/smoketest/actuator/SampleLegacyEndpointWithHyphen.java
+35
-0
SampleActuatorApplicationTests.java
...va/smoketest/actuator/SampleActuatorApplicationTests.java
+9
-1
No files found.
spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/EndpointId.java
View file @
0f9f10f9
...
@@ -131,7 +131,7 @@ public final class EndpointId {
...
@@ -131,7 +131,7 @@ public final class EndpointId {
private
static
String
migrateLegacyId
(
Environment
environment
,
String
value
)
{
private
static
String
migrateLegacyId
(
Environment
environment
,
String
value
)
{
if
(
environment
.
getProperty
(
MIGRATE_LEGACY_NAMES_PROPERTY
,
Boolean
.
class
,
false
))
{
if
(
environment
.
getProperty
(
MIGRATE_LEGACY_NAMES_PROPERTY
,
Boolean
.
class
,
false
))
{
return
value
.
replace
(
".
"
,
""
);
return
value
.
replace
All
(
"[-.]+
"
,
""
);
}
}
return
value
;
return
value
;
}
}
...
...
spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/EndpointIdTests.java
View file @
0f9f10f9
...
@@ -109,6 +109,16 @@ class EndpointIdTests {
...
@@ -109,6 +109,16 @@ class EndpointIdTests {
assertThat
(
output
).
doesNotContain
(
"contains invalid characters"
);
assertThat
(
output
).
doesNotContain
(
"contains invalid characters"
);
}
}
@Test
void
ofWhenMigratingLegacyNameRemovesHyphens
(
CapturedOutput
output
)
{
EndpointId
.
resetLoggedWarnings
();
MockEnvironment
environment
=
new
MockEnvironment
();
environment
.
setProperty
(
"management.endpoints.migrate-legacy-ids"
,
"true"
);
EndpointId
endpointId
=
EndpointId
.
of
(
environment
,
"foo-bar"
);
assertThat
(
endpointId
.
toString
()).
isEqualTo
(
"foobar"
);
assertThat
(
output
).
doesNotContain
(
"contains invalid characters"
);
}
@Test
@Test
void
equalsAndHashCode
()
{
void
equalsAndHashCode
()
{
EndpointId
one
=
EndpointId
.
of
(
"foobar1"
);
EndpointId
one
=
EndpointId
.
of
(
"foobar1"
);
...
...
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/main/java/smoketest/actuator/SampleLegacyEndpointWithHyphen.java
0 → 100644
View file @
0f9f10f9
/*
* Copyright 2012-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
smoketest
.
actuator
;
import
java.util.Collections
;
import
java.util.Map
;
import
org.springframework.boot.actuate.endpoint.annotation.Endpoint
;
import
org.springframework.boot.actuate.endpoint.annotation.ReadOperation
;
import
org.springframework.stereotype.Component
;
@Component
@Endpoint
(
id
=
"another-legacy"
)
public
class
SampleLegacyEndpointWithHyphen
{
@ReadOperation
public
Map
<
String
,
String
>
example
()
{
return
Collections
.
singletonMap
(
"legacy"
,
"legacy"
);
}
}
spring-boot-tests/spring-boot-smoke-tests/spring-boot-smoke-test-actuator/src/test/java/smoketest/actuator/SampleActuatorApplicationTests.java
View file @
0f9f10f9
...
@@ -173,13 +173,21 @@ class SampleActuatorApplicationTests {
...
@@ -173,13 +173,21 @@ class SampleActuatorApplicationTests {
}
}
@Test
@Test
void
testLegacy
()
{
void
testLegacy
Dot
()
{
ResponseEntity
<
Map
<
String
,
Object
>>
entity
=
asMapEntity
(
ResponseEntity
<
Map
<
String
,
Object
>>
entity
=
asMapEntity
(
this
.
restTemplate
.
withBasicAuth
(
"user"
,
"password"
).
getForEntity
(
"/actuator/legacy"
,
Map
.
class
));
this
.
restTemplate
.
withBasicAuth
(
"user"
,
"password"
).
getForEntity
(
"/actuator/legacy"
,
Map
.
class
));
assertThat
(
entity
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
assertThat
(
entity
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
assertThat
(
entity
.
getBody
()).
contains
(
entry
(
"legacy"
,
"legacy"
));
assertThat
(
entity
.
getBody
()).
contains
(
entry
(
"legacy"
,
"legacy"
));
}
}
@Test
void
testLegacyHyphen
()
{
ResponseEntity
<
Map
<
String
,
Object
>>
entity
=
asMapEntity
(
this
.
restTemplate
.
withBasicAuth
(
"user"
,
"password"
).
getForEntity
(
"/actuator/anotherlegacy"
,
Map
.
class
));
assertThat
(
entity
.
getStatusCode
()).
isEqualTo
(
HttpStatus
.
OK
);
assertThat
(
entity
.
getBody
()).
contains
(
entry
(
"legacy"
,
"legacy"
));
}
@SuppressWarnings
({
"unchecked"
,
"rawtypes"
})
@SuppressWarnings
({
"unchecked"
,
"rawtypes"
})
static
<
K
,
V
>
ResponseEntity
<
Map
<
K
,
V
>>
asMapEntity
(
ResponseEntity
<
Map
>
entity
)
{
static
<
K
,
V
>
ResponseEntity
<
Map
<
K
,
V
>>
asMapEntity
(
ResponseEntity
<
Map
>
entity
)
{
return
(
ResponseEntity
)
entity
;
return
(
ResponseEntity
)
entity
;
...
...
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