@Override public void render(GraphNode node, GraphNode context, Map<String, Object> sharedRenderingValues, CallbackRenderer callbackRenderer, RequestProperties typeRenderletRequestProperties, OutputStream os) throws IOException { Renderlet.RequestProperties renderletRequestProperties = new Renderlet.RequestProperties(typeRenderletRequestProperties.getUriInfo(), typeRenderletRequestProperties.getRequestHeaders(), typeRenderletRequestProperties.getResponseHeaders(), bundleContext); renderlet.render(node, context, sharedRenderingValues, callbackRenderer, renderingSpecificationUri, typeRenderletRequestProperties.getMode(), typeRenderletRequestProperties.getMediaType(), renderletRequestProperties, os); }
@Override public void render(GraphNode resource, GraphNode context, String mode, UriInfo uriInfo, HttpHeaders requestHeaders, MultivaluedMap<String, Object> responseHeaders, Map<String, Object> sharedRenderingValues, OutputStream entityStream) throws IOException { CallbackRenderer callbackRenderer = new CallbackRendererImpl(rendererFactory, graphNodeProvider, uriInfo, requestHeaders, responseHeaders, mediaType, sharedRenderingValues); renderlet.render(resource, context, sharedRenderingValues, callbackRenderer, renderSpecUri, mode, mediaType, new Renderlet.RequestProperties(uriInfo, requestHeaders, responseHeaders, bundleContext), entityStream); }
@Override public void render(GraphNode resource, GraphNode context, String mode, UriInfo uriInfo, HttpHeaders requestHeaders, MultivaluedMap<String, Object> responseHeaders, Map<String, Object> sharedRenderingValues, OutputStream entityStream) throws IOException { CallbackRenderer callbackRenderer = new CallbackRendererImpl(rendererFactory, graphNodeProvider, uriInfo, requestHeaders, responseHeaders, mediaType, sharedRenderingValues); TypeRenderlet.RequestProperties requestProperties = new TypeRenderlet.RequestProperties(uriInfo, requestHeaders, responseHeaders, mode, mediaType, bundleContext); renderlet.render(resource, context, sharedRenderingValues, callbackRenderer, requestProperties, entityStream); }
private void registerRenderlet(TypeRenderlet typeRenderlet, int startLevel) { final IRI rdfType = typeRenderlet.getRdfType(); RegexMap<MediaTypeMap<TypeRenderletStartLevel>> regexMap = typeRenderletMap.get(rdfType); if (regexMap == null) { regexMap = new RegexMap<MediaTypeMap<TypeRenderletStartLevel>>(); typeRenderletMap.put(rdfType, regexMap); } final String modePattern = typeRenderlet.getModePattern(); MediaTypeMap<TypeRenderletStartLevel> mediaTypeMap = regexMap.getFirstExactMatch(modePattern); if (mediaTypeMap == null) { mediaTypeMap = new MediaTypeMap<TypeRenderletStartLevel>(); regexMap.addEntry(modePattern, mediaTypeMap); } final MediaType mediaType = typeRenderlet.getMediaType(); mediaTypeMap.addEntry(mediaType, new TypeRenderletStartLevel(typeRenderlet, startLevel)); }
@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); }
@Override public void render(GraphNode res, GraphNode context, Map<String, Object> sharedRenderingValues, CallbackRenderer callbackRenderer, URI renderingSpecification, String mode, MediaType mediaType, RequestProperties requestProperties, OutputStream os) throws IOException { try { logger.debug("ScalaServerPagesRenderlet rendering"); final char[] scriptBytes = getScriptChars(renderingSpecification); final Renderlet cs = getCompiledRenderlet(scriptBytes); cs.render(res, context, sharedRenderingValues, callbackRenderer, renderingSpecification, mode, mediaType, requestProperties, os); //os.flush(); //logger.debug("flushed"); } catch (MalformedURLException ex) { throw new WebApplicationException(ex); } catch (CompileErrorsException ex) { //logger.debug("ScriptException rendering ScalaServerPage: ", ex); logger.error("Error compiling "+renderingSpecification+": "+ex.getMessage()); Exception cause = (Exception) ex.getCause(); if (cause != null) { if (cause instanceof TypeRenderingException) { throw (TypeRenderingException) cause; } throw new RenderingException(cause, renderingSpecification, res, context); } throw new RenderingspecificationException(ex.getMessage(), renderingSpecification, 0,0, res, context); } }
@Override public void render(GraphNode node, GraphNode context, Map<String, Object> sharedRenderingValues, CallbackRenderer callbackRenderer, RequestProperties requestProperties, OutputStream os) throws IOException { TypeRenderlet compiledSsp = getCompiledSsp(); compiledSsp.render(node, context, sharedRenderingValues, callbackRenderer, requestProperties, os); }
@Override public void writeTo(OutputStream os) throws IOException { renderer.render(graphNode, null, null, null, null, null, new HashMap<String, Object>(), os); }
/** * Returns a message composed of the information about the occurred error. * @return */ public String getComposedMessage() { StringBuilder sb = new StringBuilder(); sb.append("Error occurred in " + renderingSpecification.toString() + " "); if (getLineNumber() != -1 || getColumnNumber() != -1) { sb.append("at line number " + getLineNumber() + " "); sb.append("at column number " + getColumnNumber() + ": "); } sb.append(getMessage() + "\n"); return sb.toString(); }
@Override public String getContentType() { return renderer.getMediaType().toString(); }
protected void activate(ComponentContext componentContext) { bundleContext = componentContext.getBundleContext(); for (ServiceReference r : pendingRenderletRegistrations) { registerTypeRenderlet(r); } }
private void registerRenderletsFromStore() { synchronized (renderletRefStore) { for (ServiceReference renderletRef : renderletRefStore) { registerRenderletService(renderletRef); } } renderletRefStore.clear(); }
@Override public void render(final IRI resource, GraphNode context, String mode, OutputStream os) throws IOException { final GraphNode resourceNode = AccessController.doPrivileged( new PrivilegedAction<GraphNode>() { @Override public GraphNode run() { return graphNodeProvider.get(resource); } }); render(resourceNode, context, mode, os); }
/** * Initialized a collector for the current thread */ static void init() { threadLocal.set(new ResultDocModifier()); }
/** * * @param id the of the element to shich the nodes are to be added * @param nodes an object of which the toSTring method returns a well * balanced xhtml snipped */ public void addNodes2Elem(String id, Object nodes) { addNodes2Elem(id, nodes.toString()); }
/** * The activate method is called when SCR activates the component * configuration * * @param componentContext */ protected void activate(ComponentContext componentContext) { bundleContext = componentContext.getBundleContext(); this.componentContext = componentContext; registerRenderletsFromStore(); }
protected void registerRenderletService(String servicePid, Renderlet renderlet) { configLock.writeLock().lock(); try { if (renderletMap.get(servicePid) == null) { renderletMap.put(servicePid, renderlet); } } finally { configLock.writeLock().unlock(); } handlePendingRegistrations(); }
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(); } } }
protected void bindTypeRenderlet(ServiceReference serviceReference) { if (bundleContext == null) { pendingRenderletRegistrations.add(serviceReference); } else { registerTypeRenderlet(serviceReference); } }
private void registerRenderletService(ServiceReference renderletRef) { String servicePid = (String) renderletRef.getProperty(Constants.SERVICE_PID); Renderlet renderlet = (Renderlet) componentContext.locateService("renderlet", renderletRef); registerRenderletService(servicePid, renderlet); }