@Transactional(readOnly = true) public Object doWork(Session session, ServiceFactory sf) { return sf.getPixelsService().loadRndSettings(rdefId); } });
/** * Loads and prepares a rendering settings for a Pixels ID and RenderingDef * ID. * @param pixelsId Pixels ID to load. * @param settingsId RenderingDef ID to load an prepare settings for. */ public void loadAndPrepareRenderingSettings(long pixelsId, long settingsId) { Pixels pixels = pixelsService.retrievePixDescription(pixelsId); RenderingDef settings = pixelsService.loadRndSettings(settingsId); if (settings == null) { throw new ValidationException( "No rendering definition exists with ID = " + settingsId); } if (!settingsService.sanityCheckPixels(pixels, settings.getPixels())) { throw new ValidationException( "The rendering definition " + settingsId + " is incompatible with pixels set " + pixels.getId()); } prepareRenderingSettings(settings, pixels); }
/** * Retrieves a deep copy of the pixels set and rendering settings as * required for a rendering event and creates a renderer. This method * should only be called if a rendering event is required. */ private void load() { if (renderer != null) { renderer.close(); } pixels = iPixels.retrievePixDescription(pixels.getId()); settings = iPixels.loadRndSettings(settings.getId()); List<Family> families = getFamilies(); List<RenderingModel> renderingModels = getRenderingModels(); QuantumFactory quantumFactory = new QuantumFactory(families); // Loading last to try to ensure that the buffer will get closed. PixelBuffer buffer = pixelDataService.getPixelBuffer(pixels, false); renderer = new Renderer(quantumFactory, renderingModels, pixels, settings, buffer, lutProvider); dirty = false; }