/** * Attempts to render the requested gadget. * * @return The results of the rendering attempt. * * TODO: Localize error messages. */ public RenderingResults Render(GadgetContext context) { if (!ValidateParent(context)) { return RenderingResults.error("Unsupported parent parameter. Check your container code."); } try { Gadget gadget = processor.Process(context); if (gadget.getCurrentView() == null) { return RenderingResults.error("Unable to locate an appropriate view in this gadget. " + "Requested: '" + gadget.getContext().getView() + "' Available: " + String.Join(",",gadget.getSpec().getViews().Keys.ToArray())); } if (gadget.getCurrentView().getType() == View.ContentType.URL) { return RenderingResults.mustRedirect(getRedirect(gadget)); } GadgetSpec spec = gadget.getSpec(); if (!lockedDomainService.gadgetCanRender(context.getHost(), spec, context.getContainer())) { return RenderingResults.mustRedirect(getRedirect(gadget)); } return RenderingResults.ok(renderer.render(gadget)); } catch (RenderingException e) { return LogError(context.getUrl(), e); } catch (ProcessingException e) { return LogError(context.getUrl(), e); } catch (Exception e) { if (e.GetBaseException() is GadgetException) { return LogError(context.getUrl(), e.GetBaseException()); } throw; } }
/** * Attempts to render the requested gadget. * * @return The results of the rendering attempt. * * TODO: Localize error messages. */ public RenderingResults Render(GadgetContext context) { if (!ValidateParent(context)) { return(RenderingResults.error("Unsupported parent parameter. Check your container code.")); } try { Gadget gadget = processor.Process(context); if (gadget.getCurrentView() == null) { return(RenderingResults.error("Unable to locate an appropriate view in this gadget. " + "Requested: '" + gadget.getContext().getView() + "' Available: " + String.Join(",", gadget.getSpec().getViews().Keys.ToArray()))); } if (gadget.getCurrentView().getType() == View.ContentType.URL) { return(RenderingResults.mustRedirect(getRedirect(gadget))); } GadgetSpec spec = gadget.getSpec(); if (!lockedDomainService.gadgetCanRender(context.getHost(), spec, context.getContainer())) { return(RenderingResults.mustRedirect(getRedirect(gadget))); } return(RenderingResults.ok(renderer.render(gadget))); } catch (RenderingException e) { return(LogError(context.getUrl(), e)); } catch (ProcessingException e) { return(LogError(context.getUrl(), e)); } catch (Exception e) { if (e.GetBaseException() is GadgetException) { return(LogError(context.getUrl(), e.GetBaseException())); } throw; } }