Ejemplo n.º 1
0
  @Override
  public Component createComponent(final VisualizerInput vis, VisualizationToggle visToggle) {

    VaadinSession session = VaadinSession.getCurrent();
    if (session.getAttribute(IFrameResourceMap.class) == null) {
      session.setAttribute(IFrameResourceMap.class, new IFrameResourceMap());
    }

    ByteArrayOutputStream outStream = new ByteArrayOutputStream();
    writeOutput(vis, outStream);

    IFrameResource res = new IFrameResource();
    res.setData(outStream.toByteArray());
    res.setMimeType(getContentType());

    UUID uuid = UUID.randomUUID();
    session.getAttribute(IFrameResourceMap.class).put(uuid, res);

    URI base = UI.getCurrent().getPage().getLocation();
    AutoHeightIFrame iframe =
        new AutoHeightIFrame(base.resolve("vis-iframe-res/" + uuid.toString()));
    return iframe;
  }