/** * INTERNAL: Replaces all %name% references with the value of the * parameter param. Single '%' characters in the output must be * represented as "%%" in the template. * * @since 1.3.1 */ public static String replace(String template, String param, String value) { return replace(template, param, value, '%'); }
/** * INTERNAL: Replaces all %name% references with the value of the * "name" key in the paramvalues Map. Single '%' characters in the * output must be represented as "%%" in the template. */ public static String replace(String template, Map<String, Object> paramvalues) { return replace(template, paramvalues, '%'); }
private TopicPage getTopicPage(TopicIF topic, String key) { Map<String, Object> map = new HashMap<String, Object>(); map.put("tmid", tmid); map.put("topicid", topic.getObjectId()); String name = strify.toString(topic); String editUrl = (editBaseuri == null) ? null : StringTemplateUtils.replace(editBaseuri, map); String viewUrl = (viewBaseuri == null) ? null : StringTemplateUtils.replace(viewBaseuri, map); return new TopicPage(editUrl, viewUrl, name, name, topic); } }
private TopicPage getTopicPage(TopicIF topic, String key) { Map<String, Object> map = new HashMap<String, Object>(); map.put("tmid", key); map.put("topicid", topic.getObjectId()); String name = strify.toString(topic); String editUrl = null; String viewUrl = null; if (editBaseuri != null) editUrl = StringTemplateUtils.replace(editBaseuri, map); if (viewBaseuri != null) viewUrl = StringTemplateUtils.replace(viewBaseuri, map); return new TopicPage(editUrl, viewUrl, name, name, topic); } }
private TopicPage getTopicPage(TopicIF topic, String key) { Map<String, Object> map = new HashMap<String, Object>(); map.put("tmid", tmid); map.put("topicid", topic.getObjectId()); String name = strify.toString(topic); String editUrl = (editBaseuri == null) ? null : StringTemplateUtils.replace(editBaseuri, map); String viewUrl = (viewBaseuri == null) ? null : StringTemplateUtils.replace(viewBaseuri, map); return new TopicPage(editUrl, viewUrl, name, name, topic); } }
private TopicPage getTopicPage(TopicIF topic, String key) { Map<String, Object> map = new HashMap<String, Object>(); map.put("tmid", key); map.put("topicid", topic.getObjectId()); String name = strify.toString(topic); String editUrl = null; String viewUrl = null; if (editBaseuri != null) editUrl = StringTemplateUtils.replace(editBaseuri, map); if (viewBaseuri != null) viewUrl = StringTemplateUtils.replace(viewBaseuri, map); return new TopicPage(editUrl, viewUrl, name, name, topic); } }
protected void verifyProcess(String template, String target, String param, String value, char sep) { String result = StringTemplateUtils.replace(template, param, value, sep); assertTrue("'" + template + "'should resolve to '" + target + "', got '" + result + "'", target.equals(result)); }
public void testProcessUnknownParam() { try { StringTemplateUtils.replace("an %unknown% param", Collections.EMPTY_MAP); fail("Unknown parameter accepted"); } catch (OntopiaRuntimeException e) { } }
public void testProcessUnterminatedValueDirect() { try { StringTemplateUtils.replace("an %unset% param", "unset", null); fail("Unterminated value accepted"); } catch (OntopiaRuntimeException e) { } }
protected void verifyProcess(String template, String target, Map params) { String result = StringTemplateUtils.replace(template, params); assertTrue("'" + template + "'should resolve to '" + target + "', got '" + result + "'", target.equals(result)); }
public void testProcessUnterminatedValue() { try { Map map = new HashMap(); map.put("unset", null); StringTemplateUtils.replace("an %unset% param", map); fail("Unterminated value accepted"); } catch (OntopiaRuntimeException e) { } }
public void testProcessUnknownParamDirect() { try { StringTemplateUtils.replace("an %unknown% param", "name", "Niko"); fail("Unknown parameter accepted"); } catch (OntopiaRuntimeException e) { } }
public void testProcessUnterminatedParam() { try { StringTemplateUtils.replace("an %unknown param", Collections.EMPTY_MAP); fail("Unterminated parameter accepted"); } catch (OntopiaRuntimeException e) { } }
protected void verifyProcess(String template, String target, String param, String value) { String result = StringTemplateUtils.replace(template, param, value); assertTrue("'" + template + "'should resolve to '" + target + "', got '" + result + "'", target.equals(result)); }
/** * PUBLIC: Imports an LTM fragment with references to parameter values * specified externally. * @param topicmap The topic map to import the LTM into. * @param ltm The LTM fragment. * @param parameters The %foo% parameters referenced from the LTM. * @return A Map containing references to the %new% topics created. */ public static Map<String, TopicIF> read(TopicMapIF topicmap, String ltm, Map<String, Object> parameters) throws IOException { // wrap parameters with translation/quoting/ID-creating map ParameterWrapper parawrapper = new ParameterWrapper(parameters, topicmap); // produce the full LTM using the wrapper and parameters String tmp = StringTemplateUtils.replace(ltm, parawrapper); // then do the actual import LocatorIF base = topicmap.getStore().getBaseAddress(); LTMTopicMapReader reader = new LTMTopicMapReader(new StringReader(tmp), base); reader.importInto(topicmap); // turn ID map into topic map Map<String, String> newids = parawrapper.getNewIds(); Map<String, TopicIF> newtopics = new HashMap<String, TopicIF>(newids.size()); Iterator<String> it = newids.keySet().iterator(); while (it.hasNext()) { String key = it.next(); String id = newids.get(key); newtopics.put(key, (TopicIF) topicmap.getObjectByItemIdentifier(base.resolveAbsolute("#" + id))); } return newtopics; }
lastid = makeRandomId(topicmap); Map map = new RequestMapWrapper(request, it.next(), lastid, topicmap); String tmp = StringTemplateUtils.replace(template, map); importFragment(tmp, topicmap);