@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); }
private ServiceRegistration getAlreadyRegisteredServiceReg(IRI rdfType, MediaType mediaType, String modePattern) { for (ServiceRegistration serviceRegistration : registeredTypeRenderlets) { TypeRenderlet registeredRenderlet = (TypeRenderlet) bundleContext.getService(serviceRegistration.getReference()); if (registeredRenderlet != null && registeredRenderlet.getRdfType().equals(rdfType) && registeredRenderlet.getMediaType().equals(mediaType)) { if(modePattern == null && registeredRenderlet.getModePattern() == null) { return serviceRegistration; } else if(modePattern != null && registeredRenderlet.getModePattern() != null) { if(registeredRenderlet.getModePattern().equals(modePattern)) { return serviceRegistration; } } } } return null; } }
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, 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); }