/** * Go through the input string and replace any occurance of ${p} with * the System.getProperty(p) value. If there is no such property p defined, * then the ${p} reference will remain unchanged. * * If the property reference is of the form ${p:v} and there is no such property p, * then the default value v will be returned. * * If the property reference is of the form ${p1,p2} or ${p1,p2:v} then * the primary and the secondary properties will be tried in turn, before * returning either the unchanged input, or the default value. * * The property ${/} is replaced with System.getProperty("file.separator") * value and the property ${:} is replaced with System.getProperty("path.separator"). * * @param string - the string with possible ${} references * @return the input string with all property references replaced if any. * If there are no valid references the input string will be returned. */ public static String replaceProperties(final String string) { return replaceProperties(string, null); }
value = resolveCompositeKey(realKey, props); value = resolveCompositeKey(key, props);
@Override public String getText() throws IOException { String orig = super.getText(); return StringPropertyReplacer.replaceProperties(orig, properties); } }
@Override protected void processSubElement(XMLEventReader xmlEventReader, Key target, KeycloakSamlAdapterV1QNames element, StartElement elementDetail) throws ParsingException { String value; switch (element) { case KEY_STORE: target.setKeystore(KeyStoreParser.getInstance().parse(xmlEventReader)); break; case CERTIFICATE_PEM: StaxParserUtil.advance(xmlEventReader); value = StaxParserUtil.getElementText(xmlEventReader); target.setCertificatePem(StringPropertyReplacer.replaceProperties(value)); break; case PUBLIC_KEY_PEM: StaxParserUtil.advance(xmlEventReader); value = StaxParserUtil.getElementText(xmlEventReader); target.setPublicKeyPem(StringPropertyReplacer.replaceProperties(value)); break; case PRIVATE_KEY_PEM: StaxParserUtil.advance(xmlEventReader); value = StaxParserUtil.getElementText(xmlEventReader); target.setPrivateKeyPem(StringPropertyReplacer.replaceProperties(value)); break; } } }