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
a83dae0e
Commit
a83dae0e
authored
Mar 08, 2016
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish contribution
Closes gh-5335
parent
79cd01eb
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
9 deletions
+58
-9
RawConfigurationMetadata.java
.../boot/configurationmetadata/RawConfigurationMetadata.java
+9
-3
ConfigurationMetadataRepositoryJsonBuilderTests.java
...data/ConfigurationMetadataRepositoryJsonBuilderTests.java
+31
-1
JsonReaderTests.java
...framework/boot/configurationmetadata/JsonReaderTests.java
+6
-5
configuration-metadata-empty-groups.json
...sources/metadata/configuration-metadata-empty-groups.json
+12
-0
No files found.
spring-boot-tools/spring-boot-configuration-metadata/src/main/java/org/springframework/boot/configurationmetadata/RawConfigurationMetadata.java
View file @
a83dae0e
/*
* Copyright 2012-201
5
the original author or authors.
* Copyright 2012-201
6
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.
...
...
@@ -77,12 +77,18 @@ class RawConfigurationMetadata {
}
ConfigurationMetadataSource
source
=
getSource
(
item
.
getSourceType
());
if
(
source
!=
null
)
{
String
dottedPrefix
=
source
.
getGroupId
()
+
"."
;
String
groupId
=
source
.
getGroupId
();
String
dottedPrefix
=
groupId
+
"."
;
String
id
=
item
.
getId
();
if
(
id
.
startsWith
(
dottedPrefix
))
{
if
(
hasLength
(
groupId
)
&&
id
.
startsWith
(
dottedPrefix
))
{
String
name
=
id
.
substring
(
dottedPrefix
.
length
(),
id
.
length
());
item
.
setName
(
name
);
}
}
}
private
static
boolean
hasLength
(
String
s
)
{
return
(
s
!=
null
&&
s
.
length
()
>
0
);
}
}
spring-boot-tools/spring-boot-configuration-metadata/src/test/java/org/springframework/boot/configurationmetadata/ConfigurationMetadataRepositoryJsonBuilderTests.java
View file @
a83dae0e
/*
* Copyright 2012-201
5
the original author or authors.
* Copyright 2012-201
6
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.
...
...
@@ -123,6 +123,22 @@ public class ConfigurationMetadataRepositoryJsonBuilderTests
}
}
@Test
public
void
emptyGroups
()
throws
IOException
{
InputStream
in
=
getInputStreamFor
(
"empty-groups"
);
try
{
ConfigurationMetadataRepository
repo
=
ConfigurationMetadataRepositoryJsonBuilder
.
create
(
in
).
build
();
validateEmptyGroup
(
repo
);
assertEquals
(
1
,
repo
.
getAllGroups
().
size
());
contains
(
repo
.
getAllProperties
(),
"name"
,
"title"
);
assertEquals
(
2
,
repo
.
getAllProperties
().
size
());
}
finally
{
in
.
close
();
}
}
@Test
public
void
builderInstancesAreIsolated
()
throws
IOException
{
InputStream
foo
=
getInputStreamFor
(
"foo"
);
...
...
@@ -184,6 +200,20 @@ public class ConfigurationMetadataRepositoryJsonBuilderTests
validatePropertyHints
(
repo
.
getAllProperties
().
get
(
"spring.bar.counter"
),
0
,
0
);
}
private
void
validateEmptyGroup
(
ConfigurationMetadataRepository
repo
)
{
ConfigurationMetadataGroup
group
=
repo
.
getAllGroups
().
get
(
""
);
contains
(
group
.
getSources
(),
"org.acme.Foo"
,
"org.acme.Bar"
);
ConfigurationMetadataSource
source
=
group
.
getSources
().
get
(
"org.acme.Foo"
);
contains
(
source
.
getProperties
(),
"name"
);
assertEquals
(
1
,
source
.
getProperties
().
size
());
ConfigurationMetadataSource
source2
=
group
.
getSources
()
.
get
(
"org.acme.Bar"
);
contains
(
source2
.
getProperties
(),
"title"
);
assertEquals
(
1
,
source2
.
getProperties
().
size
());
validatePropertyHints
(
repo
.
getAllProperties
().
get
(
"name"
),
0
,
0
);
validatePropertyHints
(
repo
.
getAllProperties
().
get
(
"title"
),
0
,
0
);
}
private
void
validatePropertyHints
(
ConfigurationMetadataProperty
property
,
int
valueHints
,
int
valueProviders
)
{
assertEquals
(
valueHints
,
property
.
getValueHints
().
size
());
...
...
spring-boot-tools/spring-boot-configuration-metadata/src/test/java/org/springframework/boot/configurationmetadata/JsonReaderTests.java
View file @
a83dae0e
...
...
@@ -54,13 +54,14 @@ public class JsonReaderTests extends AbstractConfigurationMetadataTests {
@Test
public
void
emptyGroupName
()
throws
IOException
{
RawConfigurationMetadata
rawMetadata
=
readFor
(
"empty
group
"
);
RawConfigurationMetadata
rawMetadata
=
readFor
(
"empty
-groups
"
);
List
<
ConfigurationMetadataItem
>
items
=
rawMetadata
.
getItems
();
assertEquals
(
1
,
items
.
size
());
ConfigurationMetadataItem
item
=
items
.
get
(
0
);
assertProperty
(
item
,
"name"
,
"name"
,
String
.
class
,
null
);
assertEquals
(
2
,
items
.
size
());
ConfigurationMetadataItem
name
=
items
.
get
(
0
);
assertProperty
(
name
,
"name"
,
"name"
,
String
.
class
,
null
);
ConfigurationMetadataItem
dotTitle
=
items
.
get
(
1
);
assertProperty
(
dotTitle
,
"title"
,
"title"
,
String
.
class
,
null
);
}
@Test
...
...
spring-boot-tools/spring-boot-configuration-metadata/src/test/resources/metadata/configuration-metadata-empty
group
.json
→
spring-boot-tools/spring-boot-configuration-metadata/src/test/resources/metadata/configuration-metadata-empty
-groups
.json
View file @
a83dae0e
...
...
@@ -6,6 +6,13 @@
"sourceType"
:
"org.acme.config.FooApp"
,
"sourceMethod"
:
"foo()"
,
"description"
:
"This is Foo."
},
{
"name"
:
""
,
"type"
:
"org.acme.Bar"
,
"sourceType"
:
"org.acme.config.FooApp"
,
"sourceMethod"
:
"bar()"
,
"description"
:
"This is Bar."
}
],
"properties"
:
[
...
...
@@ -13,6 +20,11 @@
"name"
:
"name"
,
"type"
:
"java.lang.String"
,
"sourceType"
:
"org.acme.Foo"
},
{
"name"
:
"title"
,
"type"
:
"java.lang.String"
,
"sourceType"
:
"org.acme.Bar"
}
]
}
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