@Override public URI getUri() { try { ResourceLoader loader = ResourceLoader.Type.valueOf(resourceType.toUpperCase()).get(); return loader.getResource(getResource()).toURI(); } catch (URISyntaxException use) { log.warn(use); return null; } }
@Override public void render(Parameters blockParameters, Writer w, RenderHints hints) throws FrameworkException { if (decorate) { try { decorateIntro(hints, w, null); } catch (IOException ioe) { throw new FrameworkException(ioe); } } String name = getResource(); ResourceLoader loader = ResourceLoader.Type.valueOf(resourceType.toUpperCase()).get(); try { InputStream is = loader.getResourceAsStream(name); if (is == null) throw new FrameworkException( "No such resource " + loader.getResource(name) + " in " + loader); if (xsl == null) { Reader r = loader.getReader(is, name); char[] buf = new char[1000]; int c; while ((c = r.read(buf, 0, 1000)) > 0) { w.write(buf, 0, c); } } else { /// convert using the xsl and spit out that. URL x = ResourceLoader.getConfigurationRoot().getResource(xsl); Utils.xslTransform(blockParameters, loader.getResource(name), is, w, x); } } catch (IOException ioe) { throw new FrameworkException(ioe); } catch (javax.xml.transform.TransformerException te) { throw new FrameworkException(te.getMessage(), te); } catch (RuntimeException e) { log.debug(e.getMessage(), e); throw e; } finally { if (decorate) { try { decorateOutro(hints, w); } catch (IOException ioe) { throw new FrameworkException(ioe); } } } }