Java 类net.sf.jasperreports.engine.export.JRHtmlExporterContext 实例源码

项目:jasperreports-wms-component    文件:WmsMapElementHtmlHandlerTest.java   
@Ignore("Moved test from generic element")
@Test
public void testGetHtmlFragment() {
  JRGenericPrintElement element = mock(JRGenericPrintElement.class);
  when(element.getParameterNames()).thenReturn(parameters.keySet());
  when(element.getParameterValue(WmsRequestParameter.WMS_URL.name()))
      .thenReturn(BASE_URL);
  when(element.getParameterValue(WmsRequestParameter.LAYERS.name()))
      .thenReturn("Hintergrund");
  when(element.getParameterValue(WmsRequestParameter.BBOX.name()))
      .thenReturn("1,1,1,1");
  when(element.getParameterValue(WmsRequestParameter.SRS_CRS.name()))
      .thenReturn("EPSG:21781");
  when(element.getWidth()).thenReturn(100);
  when(element.getHeight()).thenReturn(100);
  String htmlFragment = handler.getHtmlFragment(
      mock(JRHtmlExporterContext.class), element);
  assertThat(htmlFragment, startsWith("<img "));
  assertThat(htmlFragment, containsString(BASE_URL));
  assertThat(htmlFragment, containsString("WIDTH=100"));
  assertThat(htmlFragment, containsString("HEIGHT=100"));
}
项目:jasperreports    文件:OhlohWidgetHtmlHandler.java   
@Override
public String getHtmlFragment(JRHtmlExporterContext context, JRGenericPrintElement element)
{
    StringBuilder script = new StringBuilder(128);
    script.append("<script type='text/javascript' src='https://www.openhub.net/p/");
    script.append(getProjectID(element));
    script.append("/widgets/");
    script.append(getWidgetName());
    script.append("?format=js'></script>");
    return script.toString();
}
项目:dynamicreports-jasper    文件:CustomHtmlHandler.java   
@Override
public String getHtmlFragment(JRHtmlExporterContext context, JRGenericPrintElement element) {
    String id = (String) element.getParameterValue("id");
    String data = (String) element.getParameterValue("data");   
    StringBuffer script = new StringBuffer();
    script.append("<div id=\"" + id + "\">" + data + "</div>");
    return script.toString();
}
项目:dynamicreports-jasper    文件:OpenFlashChartXhtmlHandler.java   
@Override
public String getHtmlFragment(JRHtmlExporterContext exporterContext, JRGenericPrintElement element) {
    StringBuilder result = new StringBuilder();
    result.append("<div style=\"position: absolute; left: ");
    result.append(element.getX() + "px; top: ");
    result.append(element.getY() + "px; width: ");
    result.append(element.getWidth() + "px; height: ");
    result.append(element.getHeight() + "px;\">");
    result.append(super.getHtmlFragment(exporterContext, element));
    result.append("</div>");
    return result.toString();
}
项目:dynamicreports-jasper    文件:OpenFlashChartHtmlHandler.java   
@Override
public String getHtmlFragment(JRHtmlExporterContext exporterContext, JRGenericPrintElement element) {
    String divID = "ofc" + System.identityHashCode(element);
    int width = element.getWidth();
    int height = element.getHeight();
    Color backcolor = element.getBackcolor();
    String chartData = ((ChartGenerator) element.getParameterValue(ChartGenerator.PARAMETER_CHART_GENERATOR)).generateChart();
    String chartEncodedData = JRStringUtil.htmlEncode(chartData);

    StringBuffer result = new StringBuffer();
    result.append("<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" ");
    result.append("width=\"" + width + "\" ");
    result.append("height=\"" + height + "\" ");
    result.append("id=\"" + divID + "\" ");
    result.append("align=\"middle\">");
    result.append("<param name=\"allowScriptAccess\" value=\"sameDomain\" /> ");
    result.append("<param name=\"movie\" value=\"");
    result.append(getSwfLocation());
    result.append("?width=" + width);
    result.append("&height=" + height);
    result.append("&inline_data=" + chartEncodedData);
    result.append("\" /> ");
    result.append("<param name=\"quality\" value=\"high\" />");
    result.append("<param name=\"bgcolor\" value=\"#" + JRColorUtil.getColorHexa(backcolor) + "\" /> ");
    result.append("<embed src=\"");
    result.append(getSwfLocation());
    result.append("?width=" + width);
    result.append("&height=" + height);
    result.append("&inline_data=" + chartEncodedData);
    result.append("\" quality=\"high\" ");
    result.append("bgcolor=\"#" + JRColorUtil.getColorHexa(backcolor) + "\" ");
    result.append("width=\"" + width + "\" ");
    result.append("height=\"" + height + "\" ");
    result.append("name=\"open-flash-chart\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /> </object> ");

    return result.toString();
}
项目:jasperreports-wms-component    文件:WmsMapElementHtmlHandler.java   
@Override
public String getHtmlFragment(JRHtmlExporterContext context,
    JRGenericPrintElement element) {

  Map<String, Object> contextMap = new HashMap<String, Object>();
  contextMap.put("mapCanvasId", "map_canvas_" + element.hashCode());

  if (context.getExporter() instanceof JRXhtmlExporter) {
    contextMap.put("xhtml", "xhtml");
    JRXhtmlExporter xhtmlExporter = (JRXhtmlExporter) context.getExporter();
    contextMap.put("elementX", xhtmlExporter.toSizeUnit(element.getX()));
    contextMap.put("elementY", xhtmlExporter.toSizeUnit(element.getY()));
  } else {
    JRHtmlExporter htmlExporter = (JRHtmlExporter) context.getExporter();
    contextMap.put("elementX", htmlExporter.toSizeUnit(element.getX()));
    contextMap.put("elementY", htmlExporter.toSizeUnit(element.getY()));
  }
  contextMap.put("elementId", element.getKey());
  contextMap.put("elementWidth", element.getWidth());
  contextMap.put("elementHeight", element.getHeight());

  if (element.getModeValue() == ModeEnum.OPAQUE) {
    contextMap.put("backgroundColor",
        JRColorUtil.getColorHexa(element.getBackcolor()));
  }
  WmsRequestBuilder requestBuilder =
      WmsMapElementImageProvider.mapRequestBuilder(element);
  try {
    contextMap.put("wmsMapUrl", requestBuilder.toMapUrl());
  } catch (MalformedURLException e) {
    throw new RuntimeException("Unable to build WMS map service url", e);
  }

  return VelocityUtil.processTemplate(MAP_ELEMENT_HTML_TEMPLATE, contextMap);
}
项目:jasperreports    文件:ChartHtmlHandler.java   
public String getHtmlFragment(JRHtmlExporterContext exporterContext, JRGenericPrintElement element)
{
    String divID = "ofc" + System.identityHashCode(element);
    int width = element.getWidth();
    int height = element.getHeight();
    Color backcolor = element.getBackcolor();
    String swfLocation = "openflashchart/open-flash-chart.swf";
    String chartData = (String) element.getParameterValue(PARAMETER_CHART_DATA);
    String chartEncodedData = JRStringUtil.htmlEncode(chartData);

    return 
        "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0\" width=\"" +
            width +
            "\" height=\"" +
            height +
            "\" id=\"" +
            divID +
            "\" align=\"middle\"><param name=\"allowScriptAccess\" value=\"sameDomain\" /> <param name=\"movie\" value=\"" +
            swfLocation +
            "?width=" +
            width +
            "&height=" +
            height +
            "&inline_data=" +
            chartEncodedData +
            "\" /> <param name=\"quality\" value=\"high\" /><param name=\"bgcolor\" value=\"" +
            "#" + JRColorUtil.getColorHexa(backcolor) +
            "\" /> <embed src=\"" +
            swfLocation +
            "?width=" +
            width +
            "&height=" +
            height +
            "&inline_data=" +
            chartEncodedData +
            "\" quality=\"high\" bgcolor=\"" +
            "#" + JRColorUtil.getColorHexa(backcolor) +
            "\" width=\"" +
            width +
            "\" height=\"" +
            height +
            "\" name=\"open-flash-chart\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" /> </object> ";
}
项目:jasperreports    文件:MapElementHtmlHandler.java   
@Override
public String getHtmlFragment(JRHtmlExporterContext context, JRGenericPrintElement element)
{
       ReportContext reportContext = context.getExporterRef().getReportContext();
    Map<String, Object> contextMap = new HashMap<String, Object>();

       contextMap.put("mapCanvasId", "map_canvas_" + element.hashCode());

       HtmlExporter htmlExporter = (HtmlExporter)context.getExporterRef();

       contextMap.put("elementX", htmlExporter.toSizeUnit((float)element.getX()));
       contextMap.put("elementY", htmlExporter.toSizeUnit((float)element.getY()));
       contextMap.put("elementWidth", element.getWidth());
       contextMap.put("elementHeight", element.getHeight());

       if (element.getModeValue() == ModeEnum.OPAQUE)
       {
           contextMap.put("backgroundColor", JRColorUtil.getColorHexa(element.getBackcolor()));
       }

       contextMap.put("gotReportContext", reportContext != null);

       if (reportContext == null)
       {
           Float latitude = (Float)element.getParameterValue(MapComponent.ITEM_PROPERTY_latitude);
           latitude = latitude == null ? MapComponent.DEFAULT_LATITUDE : latitude;

           Float longitude = (Float)element.getParameterValue(MapComponent.ITEM_PROPERTY_longitude);
           longitude = longitude == null ? MapComponent.DEFAULT_LONGITUDE : longitude;

           Integer zoom = (Integer)element.getParameterValue(MapComponent.PARAMETER_ZOOM);
           zoom = zoom == null ? MapComponent.DEFAULT_ZOOM : zoom;

           String mapType = (String)element.getParameterValue(MapComponent.ATTRIBUTE_MAP_TYPE);
           mapType = (mapType == null ? MapComponent.DEFAULT_MAP_TYPE.getName() : mapType).toUpperCase();

           contextMap.put("latitude", latitude);
           contextMap.put("longitude", longitude);
           contextMap.put("zoom", zoom);
           contextMap.put("mapType", mapType);

           List<Map<String,Object>> markerList = (List<Map<String,Object>>)element.getParameterValue(MapComponent.PARAMETER_MARKERS);
           String markers = markerList == null || markerList.isEmpty() ? "[]" : JacksonUtil.getInstance(context.getJasperReportsContext()).getJsonString(markerList);
           contextMap.put("markerList", markers);

           List<Map<String,Object>> pathList = (List<Map<String,Object>>)element.getParameterValue(MapComponent.PARAMETER_PATHS);
           String paths = pathList == null || pathList.isEmpty() ? "[]" : JacksonUtil.getInstance(context.getJasperReportsContext()).getJsonString(pathList);
           contextMap.put("pathsList", paths);

           String reqParams = (String)element.getParameterValue(MapComponent.PARAMETER_REQ_PARAMS);
           if(reqParams != null)
           {
               contextMap.put(MapComponent.PARAMETER_REQ_PARAMS, reqParams);
           }

           if (context.getValue(FIRST_ATTEMPT_PARAM) == null)
           {
               context.setValue(FIRST_ATTEMPT_PARAM, true);

               //FIXME: support for parametrized http://maps.google.com/maps/api/js script (see MapElementHtmlTemplate.vm)
               contextMap.put("exporterFirstAttempt", true);
           }
       }

    return VelocityUtil.processTemplate(MAP_ELEMENT_HTML_TEMPLATE, contextMap);
}
项目:jasperreports    文件:IconLabelElementHtmlHandler.java   
@Override
public String getHtmlFragment(JRHtmlExporterContext context, JRGenericPrintElement element)
{
    JRPrintText labelPrintText = (JRPrintText)element.getParameterValue(IconLabelElement.PARAMETER_LABEL_TEXT_ELEMENT);
    if (labelPrintText == null)
    {
        return null;
    }

    JRBasePrintFrame frame = new JRBasePrintFrame(element.getDefaultStyleProvider());
    frame.setX(element.getX());
    frame.setY(element.getY());
    frame.setWidth(element.getWidth());
    frame.setHeight(element.getHeight());
    frame.setStyle(element.getStyle());
    frame.setBackcolor(element.getBackcolor());
    frame.setForecolor(element.getForecolor());
    frame.setMode(element.getModeValue());
    JRLineBox lineBox = (JRLineBox)element.getParameterValue(IconLabelElement.PARAMETER_LINE_BOX);
    if (lineBox != null)
    {
        frame.copyBox(lineBox);
    }

    frame.addElement(labelPrintText);

    JRPrintText iconPrintText = (JRPrintText)element.getParameterValue(IconLabelElement.PARAMETER_ICON_TEXT_ELEMENT);
    if (iconPrintText != null)
    {
        frame.addElement(iconPrintText);
    }

    HtmlExporter htmlExporter = (HtmlExporter)context.getExporterRef();
    List<JRPrintElement> elements = new ArrayList<JRPrintElement>();
    elements.add(frame);

    try
    {
        htmlExporter.exportElements(elements);
    }
    catch (IOException e)
    {
        throw new JRRuntimeException(e);
    }

    return "";
}
项目:dynamicreports-jasper    文件:GeoMapElementHtmlHandler.java   
@Override
public String getHtmlFragment(JRHtmlExporterContext context, JRGenericPrintElement element) {
    Boolean showLegend = (Boolean) element.getParameterValue(GeoMapPrintElement.PARAMETER_SHOW_LEGEND);
    GeoMapDataMode dataMode = (GeoMapDataMode) element.getParameterValue(GeoMapPrintElement.PARAMETER_DATA_MODE);
    String region = (String) element.getParameterValue(GeoMapPrintElement.PARAMETER_REGION);
    String valueLabel = (String) element.getParameterValue(GeoMapPrintElement.PARAMETER_VALUE_LABEL);
    if (valueLabel == null) {
        valueLabel = "";
    }
    @SuppressWarnings("unchecked")
    List<Color> colors = (List<Color>) element.getParameterValue(GeoMapPrintElement.PARAMETER_COLORS);
    String stringColors = null;
    if (colors != null && !colors.isEmpty()) {
        stringColors = "";
        for (Color color : colors) {
            stringColors += "," + getColorString(color);
        }
        stringColors = StringUtils.removeStart(stringColors, ",");
    }
    @SuppressWarnings("unchecked")
    Set<GeoMapData> dataset = (Set<GeoMapData>) element.getParameterValue(GeoMapPrintElement.PARAMETER_DATASET);

    VelocityContext velocityContext = new VelocityContext();
    velocityContext.put("showLegend", showLegend);
    if (dataMode != null) {
        switch (dataMode) {
        case REGIONS:
            velocityContext.put("dataMode", "regions");
            break;
        case MARKERS:
            velocityContext.put("dataMode", "markers");
            break;
        default:
            break;
        }
    }
    velocityContext.put("id", "map_" + element.hashCode());
    velocityContext.put("region", region);
    velocityContext.put("valueLabel", valueLabel);
    velocityContext.put("colors", stringColors);
    velocityContext.put("dataset", dataset);
   @SuppressWarnings("unchecked")
    Exporter<ExporterInput, ? extends HtmlReportConfiguration, ? extends HtmlExporterConfiguration, HtmlExporterOutput> exporter = context.getExporterRef();
   HtmlExporter htmlExporter2 = exporter instanceof HtmlExporter ? (HtmlExporter)exporter : null;
    if(htmlExporter2 == null) {
        velocityContext.put("xhtml", "xhtml");
        velocityContext.put("elementX", ((HtmlExporter)context.getExporterRef()).toSizeUnit((float) element.getX()));
        velocityContext.put("elementY", ((HtmlExporter)context.getExporterRef()).toSizeUnit((float) element.getY()));
    }
    else {
        velocityContext.put("elementX", ((HtmlExporter)context.getExporterRef()).toSizeUnit((float) element.getX()));
        velocityContext.put("elementY", ((HtmlExporter)context.getExporterRef()).toSizeUnit((float) element.getY()));
    }
    velocityContext.put("elementWidth", element.getWidth());
    velocityContext.put("elementHeight", element.getHeight());

    if (element.getModeValue() == ModeEnum.OPAQUE) {
        velocityContext.put("backgroundColor", JRColorUtil.getColorHexa(element.getBackcolor()));
    }
    return VelocityUtil.processTemplate(GEOMAP_ELEMENT_HTML_TEMPLATE, velocityContext);
}