private void registerTypeRenderlet(ServiceReference serviceReference) { int startLevel = startLevelService.getBundleStartLevel(serviceReference.getBundle()); TypeRenderlet renderlet = (TypeRenderlet) bundleContext.getService(serviceReference); registerRenderlet(renderlet, startLevel); }
protected void activate(ComponentContext componentContext) { bundleContext = componentContext.getBundleContext(); for (ServiceReference r : pendingRenderletRegistrations) { registerTypeRenderlet(r); } }
private void createFile(NonLiteral docRoot, Graph documentationGraph, File outFile) throws IOException { GraphNode docRootNode = new GraphNode(docRoot, documentationGraph); Renderer renderer = rendererFactory.createRenderer(docRootNode, null, Collections.singletonList(MediaType.APPLICATION_XHTML_XML_TYPE)); FileOutputStream out = new FileOutputStream(outFile); try { System.out.println("writing " + outFile); renderer.render(docRootNode, docRootNode, null, null, null, null, new HashMap<String, Object>(), out); } finally { out.close(); } } }
/** * Creates a <code>Renderer</code> for the specified mode, acceptable * media-types as well as the types of <code>GraphNode</code>. * The <code>acceptableMediaTypes</code> list represent the media * types that are acceptable for the rendered output. The list has a * order where the most desirable media type is a the beginning of the list. * The media type of the rendered output will be compatible to at least one * media type in the list. * * @param resource The <code>GraphNode</code> to be rendered * @param mode mode * @param acceptableMediaTypes acceptable media types for the rendered output * @return the Renderer or null if no renderer could be created for the specified parameters */ public Renderer createRenderer(GraphNode resource, String mode, List<MediaType> acceptableMediaTypes) { Set<IRI> types = new HashSet<IRI>(); if (resource.getNode() instanceof Literal) { types.add(((Literal) resource.getNode()).getDataType()); } else { // extract rdf types Iterator<IRI> it = resource.getIRIObjects(RDF.type); while (it.hasNext()) { final IRI rdfType = it.next(); types.add(rdfType); } types.add(RDFS.Resource); } return getRenderer(types, mode, acceptableMediaTypes); }
@Override public void render(GraphNode resource, GraphNode context, String mode, OutputStream os) throws IOException { Renderer renderer = manager.createRenderer(resource, mode, mediaTypeList); if (renderer == null) { throw new RuntimeException("no renderer could be created for "+ resource+" (in "+resource.getNodeContext()+"), "+mode+","+mediaTypeList); } renderer.render(resource, context, mode, uriInfo, requestHeaders, responseHeaders, sharedRenderingValue, os); }
if (content instanceof GraphNode) { GraphNode graphNode = (GraphNode) content; Renderer renderer = rendererFactory.createRenderer(graphNode, mode, acceptableMediaTypes == null ? Collections.singletonList( MediaType.WILDCARD_TYPE) : acceptableMediaTypes);
protected void bindTypeRenderlet(ServiceReference serviceReference) { if (bundleContext == null) { pendingRenderletRegistrations.add(serviceReference); } else { registerTypeRenderlet(serviceReference); } }
String mode = getRenderingMode(); Renderer renderer = rendererFactory.createRenderer(node, mode, headers.getAcceptableMediaTypes());