#2 trim strings
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -68,7 +68,8 @@
|
|||||||
</keyboard>
|
</keyboard>
|
||||||
</screen>
|
</screen>
|
||||||
<screen id="20005" name="inline-test-2-screen">
|
<screen id="20005" name="inline-test-2-screen">
|
||||||
<text>Inline Screen #2</text>
|
<text>Inline Screen #2
|
||||||
|
================</text>
|
||||||
<keyboard>
|
<keyboard>
|
||||||
<row>
|
<row>
|
||||||
<button actionRef="inline1-action"></button>
|
<button actionRef="inline1-action"></button>
|
||||||
|
|||||||
@@ -2,9 +2,14 @@ package ru.penkrat.stbf.templates.utils;
|
|||||||
|
|
||||||
import lombok.experimental.UtilityClass;
|
import lombok.experimental.UtilityClass;
|
||||||
|
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
@UtilityClass
|
@UtilityClass
|
||||||
public class StringUtils {
|
public class StringUtils {
|
||||||
|
|
||||||
|
public static final String NL_DELIMITER = "\n";
|
||||||
|
|
||||||
public boolean isEmpty(String string) {
|
public boolean isEmpty(String string) {
|
||||||
return string == null || string.isEmpty();
|
return string == null || string.isEmpty();
|
||||||
}
|
}
|
||||||
@@ -12,4 +17,13 @@ public class StringUtils {
|
|||||||
public boolean isNotEmpty(String string) {
|
public boolean isNotEmpty(String string) {
|
||||||
return !isEmpty(string);
|
return !isEmpty(string);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String ltrim(String text) {
|
||||||
|
if (text == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return Stream.of(text.split(NL_DELIMITER))
|
||||||
|
.map(string -> string.trim())
|
||||||
|
.collect(Collectors.joining(NL_DELIMITER));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,27 +44,35 @@ class FlowScreenResolverDelegate implements ScreenResolver {
|
|||||||
public Screen getScreen(String name) {
|
public Screen getScreen(String name) {
|
||||||
ScreenItem item = resolver.get(name);
|
ScreenItem item = resolver.get(name);
|
||||||
|
|
||||||
|
String text = item.getText();
|
||||||
|
if (!item.isPreserve()) {
|
||||||
|
text = StringUtils.ltrim(text);
|
||||||
|
}
|
||||||
if (StringUtils.isNotEmpty(item.getMediaRef())) {
|
if (StringUtils.isNotEmpty(item.getMediaRef())) {
|
||||||
final Media media = mediaResolver.getMedia(item.getMediaRef());
|
final Media media = mediaResolver.getMedia(item.getMediaRef());
|
||||||
final MediaScreen mediaScreen = new MediaScreen(item.getText(), media, buildKeyboard(item.getKeyboard(), null));
|
final MediaScreen mediaScreen = new MediaScreen(text, media, buildKeyboard(item.getKeyboard(), null));
|
||||||
return new RamFileIdStorageMediaScreen(mediaScreen);
|
return new RamFileIdStorageMediaScreen(mediaScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new TextScreen(item.getText(), buildKeyboard(item.getKeyboard(), null));
|
return new TextScreen(text, buildKeyboard(item.getKeyboard(), null));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Screen getScreen(String name, Object context) {
|
public Screen getScreen(String name, Object context) {
|
||||||
ScreenItem item = resolver.get(name);
|
ScreenItem item = resolver.get(name);
|
||||||
|
|
||||||
|
String text = item.getText();
|
||||||
|
if (!item.isPreserve()) {
|
||||||
|
text = StringUtils.ltrim(text);
|
||||||
|
}
|
||||||
if (StringUtils.isNotEmpty(item.getMediaRef())) {
|
if (StringUtils.isNotEmpty(item.getMediaRef())) {
|
||||||
final Media media = mediaResolver.getMedia(item.getMediaRef());
|
final Media media = mediaResolver.getMedia(item.getMediaRef());
|
||||||
final MediaScreen mediaScreen = new MediaScreen(templateRenderer.render(item.getText(), context), media,
|
final MediaScreen mediaScreen = new MediaScreen(templateRenderer.render(text, context), media,
|
||||||
resolveKeyboard(item.getKeyboard(), context));
|
resolveKeyboard(item.getKeyboard(), context));
|
||||||
return new RamFileIdStorageMediaScreen(mediaScreen);
|
return new RamFileIdStorageMediaScreen(mediaScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new TextScreen(templateRenderer.render(item.getText(), context),
|
return new TextScreen(templateRenderer.render(text, context),
|
||||||
resolveKeyboard(item.getKeyboard(), context));
|
resolveKeyboard(item.getKeyboard(), context));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,4 +15,7 @@ class ScreenItem extends NamedItem {
|
|||||||
|
|
||||||
private KeyboardWrapper keyboard = new KeyboardWrapper();
|
private KeyboardWrapper keyboard = new KeyboardWrapper();
|
||||||
|
|
||||||
|
@JacksonXmlProperty(isAttribute = true)
|
||||||
|
private boolean preserve;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user