Skip to content

Commit 71d311b

Browse files
committed
Fix NPE
1 parent c4d8b84 commit 71d311b

File tree

2 files changed

+26
-20
lines changed

2 files changed

+26
-20
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
# 1.0.1
2+
* Fix NPE when ``additionalStylingData`` is not set
3+
14
# 1.0.0
25
<i>Initial release</i>
36
* All methods and functionality are designed to be overwritable (at least protected)

spring-security-advanced-authentication-ui/src/main/java/software/xdev/spring/security/web/authentication/ui/advanced/filters/AdvancedLoginPageGeneratingFilter.java

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.util.Objects;
2323
import java.util.Optional;
2424
import java.util.function.Consumer;
25-
import java.util.function.Function;
2625
import java.util.stream.Collectors;
2726

2827
import jakarta.servlet.http.HttpServletRequest;
@@ -233,29 +232,45 @@ protected String generateBody(
233232
protected String createBodyElement()
234233
{
235234
return "<body class='h-100"
236-
+ this.additionalStylingData.classNames(AdditionalStylingData::body).orElse("")
235+
+ Optional.ofNullable(this.additionalStylingData)
236+
.map(AdditionalStylingData::body)
237+
.map(StylingDefinition::classNameString)
238+
.orElse("")
237239
+ "'"
238-
+ this.additionalStylingData.style(AdditionalStylingData::body).map(s -> " style='" + s + "'").orElse("")
240+
+ Optional.ofNullable(this.additionalStylingData)
241+
.map(AdditionalStylingData::body)
242+
.map(sd -> " style='" + sd.styleString() + "'")
243+
.orElse("")
239244
+ ">";
240245
}
241246

242247
protected String createContainerElement()
243248
{
244249
return "<div class='container"
245-
+ this.additionalStylingData.classNames(AdditionalStylingData::container).orElse("")
250+
+ Optional.ofNullable(this.additionalStylingData)
251+
.map(AdditionalStylingData::container)
252+
.map(StylingDefinition::classNameString)
253+
.orElse("")
246254
+ "'"
247-
+ this.additionalStylingData.style(AdditionalStylingData::container)
248-
.map(s -> " style='" + s + "'")
255+
+ Optional.ofNullable(this.additionalStylingData)
256+
.map(AdditionalStylingData::container)
257+
.map(sd -> " style='" + sd.styleString() + "'")
249258
.orElse("")
250259
+ ">";
251260
}
252261

253262
protected String createMainElement()
254263
{
255264
return "<main class='w-100 m-auto"
256-
+ this.additionalStylingData.classNames(AdditionalStylingData::main).orElse("")
265+
+ Optional.ofNullable(this.additionalStylingData)
266+
.map(AdditionalStylingData::main)
267+
.map(StylingDefinition::classNameString)
268+
.orElse("")
257269
+ "' style='max-width: 21em; padding: 1rem;"
258-
+ this.additionalStylingData.style(AdditionalStylingData::main).orElse("")
270+
+ Optional.ofNullable(this.additionalStylingData)
271+
.map(AdditionalStylingData::container)
272+
.map(StylingDefinition::styleString)
273+
.orElse("")
259274
+ "'>";
260275
}
261276

@@ -438,17 +453,5 @@ public AdditionalStylingData build()
438453
return new AdditionalStylingData(this.body, this.container, this.main);
439454
}
440455
}
441-
442-
public Optional<String> classNames(final Function<AdditionalStylingData, StylingDefinition> accessor)
443-
{
444-
return Optional.ofNullable(accessor.apply(this))
445-
.map(StylingDefinition::classNameString);
446-
}
447-
448-
public Optional<String> style(final Function<AdditionalStylingData, StylingDefinition> accessor)
449-
{
450-
return Optional.ofNullable(accessor.apply(this))
451-
.map(StylingDefinition::styleString);
452-
}
453456
}
454457
}

0 commit comments

Comments
 (0)