Switched to generic properties parsing on more renderers
This commit is contained in:
parent
c1b0e7fcf5
commit
4bba966770
5 changed files with 16 additions and 63 deletions
|
@ -20,10 +20,6 @@ package rife.render;
|
|||
import rife.template.Template;
|
||||
import rife.template.ValueRenderer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* <p>Abbreviate a template value with ellipses.</p>
|
||||
*
|
||||
|
@ -48,14 +44,9 @@ public class Abbreviate implements ValueRenderer {
|
|||
var max = -1;
|
||||
var defaultValue = template.getDefaultValue(valueId);
|
||||
if (defaultValue != null) {
|
||||
var properties = new Properties();
|
||||
try {
|
||||
properties.load(new StringReader(defaultValue));
|
||||
var properties = RenderUtils.parsePropertiesString(defaultValue);
|
||||
mark = properties.getProperty("mark", mark);
|
||||
max = Integer.parseInt(properties.getProperty("max", String.valueOf(max)));
|
||||
} catch (IOException | NumberFormatException ignore) {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
|
||||
return template.getEncoder().encode(
|
||||
|
|
|
@ -20,11 +20,8 @@ package rife.render;
|
|||
import rife.template.Template;
|
||||
import rife.template.ValueRenderer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* <p>Return the current date and time in ISO 8601 format.</p>
|
||||
|
@ -48,17 +45,12 @@ public class DateTimeIso implements ValueRenderer {
|
|||
public String render(Template template, String valueId, String differentiator) {
|
||||
var defaultValue = template.getDefaultValue(valueId);
|
||||
if (defaultValue != null) {
|
||||
var properties = new Properties();
|
||||
try {
|
||||
var properties = RenderUtils.parsePropertiesString(template.getDefaultValue(valueId));
|
||||
var tz = "tz";
|
||||
properties.load(new StringReader(defaultValue));
|
||||
if (properties.containsKey(tz)) {
|
||||
return ZonedDateTime.now().format(
|
||||
RenderUtils.ISO_8601_FORMATTER.withZone(ZoneId.of(properties.getProperty(tz))));
|
||||
}
|
||||
} catch (IOException ignore) {
|
||||
// do nothing
|
||||
}
|
||||
|
||||
}
|
||||
return template.getEncoder().encode(ZonedDateTime.now().format(RenderUtils.ISO_8601_FORMATTER));
|
||||
|
|
|
@ -20,10 +20,6 @@ package rife.render;
|
|||
import rife.template.Template;
|
||||
import rife.template.ValueRenderer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* <p>Masks characters of a template value.</p>
|
||||
*
|
||||
|
@ -48,16 +44,15 @@ public class Mask implements ValueRenderer {
|
|||
var unmasked = 0;
|
||||
var fromStart = false;
|
||||
var defaultValue = template.getDefaultValue(valueId);
|
||||
if (defaultValue != null) {
|
||||
var properties = new Properties();
|
||||
try {
|
||||
properties.load(new StringReader(defaultValue));
|
||||
if (defaultValue != null && !defaultValue.isBlank()) {
|
||||
var properties = RenderUtils.parsePropertiesString(defaultValue);
|
||||
mask = properties.getProperty("mask", mask);
|
||||
try {
|
||||
unmasked = Integer.parseInt(properties.getProperty("unmasked", "0"));
|
||||
fromStart = "true".equalsIgnoreCase(properties.getProperty("fromStart", "false"));
|
||||
} catch (IOException | NumberFormatException ignore) {
|
||||
} catch (NumberFormatException ignore) {
|
||||
// do nothing
|
||||
}
|
||||
fromStart = "true".equalsIgnoreCase(properties.getProperty("fromStart", "false"));
|
||||
}
|
||||
return template.getEncoder().encode(
|
||||
RenderUtils.mask(template.getValueOrAttribute(differentiator), mask, unmasked, fromStart));
|
||||
|
|
|
@ -20,10 +20,6 @@ package rife.render;
|
|||
import rife.template.Template;
|
||||
import rife.template.ValueRenderer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* <p>Generates an SVG QR Code for a template value using <a href="https://goqr.me/">goQR.me</a>.</p>
|
||||
*
|
||||
|
@ -44,17 +40,8 @@ public class QrCode implements ValueRenderer {
|
|||
*/
|
||||
@Override
|
||||
public String render(Template template, String valueId, String differentiator) {
|
||||
var size = "150x150";
|
||||
var defaultValue = template.getDefaultValue(valueId);
|
||||
if (defaultValue != null) {
|
||||
var properties = new Properties();
|
||||
try {
|
||||
properties.load(new StringReader(defaultValue));
|
||||
size = properties.getProperty("size", size);
|
||||
} catch (IOException ignore) {
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
var properties = RenderUtils.parsePropertiesString(template.getDefaultValue(valueId));
|
||||
var size = properties.getProperty("size", "150x150");
|
||||
return RenderUtils.qrCode(template.getValueOrAttribute(differentiator), size);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,10 +20,7 @@ package rife.render;
|
|||
import rife.template.Template;
|
||||
import rife.template.ValueRenderer;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.lang.management.ManagementFactory;
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* Renders the server uptime.
|
||||
|
@ -45,16 +42,7 @@ public class Uptime implements ValueRenderer {
|
|||
*/
|
||||
@Override
|
||||
public String render(Template template, String valueId, String differentiator) {
|
||||
var properties = new Properties();
|
||||
var defaultValue = template.getDefaultValue(valueId);
|
||||
if (defaultValue != null) {
|
||||
try {
|
||||
properties.load(new StringReader(defaultValue));
|
||||
} catch (IOException ignore) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
|
||||
var properties = RenderUtils.parsePropertiesString(template.getDefaultValue(valueId));
|
||||
String uptime;
|
||||
if (template.hasAttribute(Uptime.class.getName())) {
|
||||
uptime = RenderUtils.uptime((long) template.getAttribute(Uptime.class.getName()), properties);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue