Package org.apache.beehive.netui.tags.rendering

Examples of org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender


        // prepare to render the tree
        HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
        HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
        InternalStringBuilder sb = new InternalStringBuilder(1024);
        StringBuilderRenderAppender writer = new StringBuilderRenderAppender(sb);

        // this is the treeId from the request.  If there was an tree expansion this will be
        // non-null and it identifies what tree had the expansion request.
        // we need to qualify the tree based upon the tagId
        assert(_trs.tagId != null);
View Full Code Here


        int gridRenderState = dgm.getRenderState();
        if(gridRenderState == DataGridTagModel.RENDER_STATE_HEADER) {

            InternalStringBuilder content = new InternalStringBuilder();
            AbstractRenderAppender appender = new StringBuilderRenderAppender(content);

            StyleModel styleModel = dgm.getStyleModel();
            assert styleModel != null;

            TableRenderer tableRenderer = dgm.getTableRenderer();
            assert tableRenderer != null;

            if(dgm.isRenderRowGroups()) {
                _theadTag.styleClass = (_theadTag.styleClass != null ? _theadTag.styleClass : styleModel.getTableHeadClass());
                tableRenderer.openTableHead(_theadTag, appender);
            }

            TrTag.State trState = null;
            if(_renderRow) {
                trState = new TrTag.State();
                trState.styleClass = styleModel.getHeaderRowClass();
                tableRenderer.openHeaderRow(trState, appender);
            }

            JspFragment fragment = getJspBody();
            if(fragment != null) {
                StringWriter sw = new StringWriter();
                fragment.invoke(sw);
                appender.append(sw.toString());
            }

            if(_renderRow)
                tableRenderer.closeHeaderRow(appender);

            if(dgm.isRenderRowGroups()) {
                tableRenderer.closeTableHead(appender);
                String tfootScript = null;
                if(_theadTag.id != null) {
                    HttpServletRequest request = JspUtil.getRequest(getJspContext());
                    tfootScript = renderNameAndId(request, _theadTag, null);
                }

                if(tfootScript != null)
                    appender.append(tfootScript);
            }

            jspContext.getOut().write(content.toString());
        }
    }
View Full Code Here

            try {
                DataGridUtil.putCellModel(getJspContext(), model);

                InternalStringBuilder content = new InternalStringBuilder();
                AbstractRenderAppender appender = new StringBuilderRenderAppender(content);

                renderCell(appender);

                if(content != null && content.length() > 0)
                    getJspContext().getOut().println(content.toString());
View Full Code Here

            }

            boolean addedDataAccessProvider = false;
            try {
                InternalStringBuilder builder = new InternalStringBuilder(2048);
                AbstractRenderAppender appender = new StringBuilderRenderAppender(builder);

                /* todo: perf -- this doesn't need to happen when the data set is empty */
                DataAccessProviderStack.addDataAccessProvider(this, getJspContext());
                DataGridUtil.putDataGridTagModel(getJspContext(), _dataGridTagModel);
                addedDataAccessProvider = true;

                StringWriter sw = new StringWriter();
                /*
                   allow sub-tags to do work during START before rendering
                   this makes it possible to have tags out of order and to
                   have rendering work correctly
                 */
                /* todo: perf -- should you be able to turn this off for perf? */
                fragment.invoke(sw);

                /* todo: this needs to move into the DataGridTagModel */
                PagerModel pm = _dataGridTagModel.getState().getPagerModel();
                _dataGridTagModel.getDataSet().createWindow(pm.getRow(), pm.getPageSize());

                /* now that the model objects have been initialized, it's time to start rendering */
                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_START);

                if(!_dataGridTagModel.isDisableDefaultPagerRendering())
                    _dataGridTagModel.renderPager(appender);

                _tableState.styleClass = styleModel.getTableClass();
                tableRenderer.openTable(_tableState, appender);

                /* render the caption */
                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_CAPTION);
                sw = new StringWriter();
                fragment.invoke(sw);
                String caption = sw.toString();
                if(caption != null)
                    appender.append(caption);

                /* render the header */
                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_HEADER);
                sw = new StringWriter();
                fragment.invoke(sw);
                String header = sw.toString();
                if(header != null)
                    appender.append(header);

                /* intermediate storage for the body and footer content
                   these are required by the HTML spec:
                       http://www.w3.org/TR/REC-html40/struct/tables.html#h-11.2.3
                   as when the row groups are used, they must be re-ordered so that
                   <tfoot> preceeds <tbody>
                 */

                String tbody = null;
                String tfoot = null;

                /* render the body */
                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_GRID);
                sw = new StringWriter();
                fragment.invoke(sw);
                tbody = sw.toString();

                /* render the footer */
                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_FOOTER);
                sw = new StringWriter();
                fragment.invoke(sw);
                String footer = sw.toString();
                String trimmed = footer.trim();
                if(footer != null && !trimmed.trim().equals(""))
                    tfoot = footer;

                if(_dataGridTagModel.isRenderRowGroups()) {
                    if(tfoot != null)
                        appender.append(tfoot);
                    appender.append(tbody);
                }
                else {
                    appender.append(tbody);
                    if(tfoot != null)
                        appender.append(tfoot);
                }

                tableRenderer.closeTable(appender);

                if(javascript != null)
                    appender.append(javascript);

                _dataGridTagModel.changeRenderState(DataGridTagModel.RENDER_STATE_END);

                write(builder.toString());
            }
View Full Code Here

            TableRenderer tableRenderer = dataGridModel.getTableRenderer();
            assert tableRenderer != null;

            InternalStringBuilder content = new InternalStringBuilder();
            AbstractRenderAppender appender = new StringBuilderRenderAppender(content);
            JspFragment fragment = getJspBody();

            if(dataGridModel.isRenderRowGroups())
                tableRenderer.openTableBody(_tbodyTag, appender);

            HttpServletRequest request = JspUtil.getRequest(getJspContext());
            while(dataGridModel.hasNextDataItem()) {

                StringWriter sw = new StringWriter();

                /* first things first -- advance to the next data item */
                dataGridModel.nextDataItem();

                fragment.invoke(sw);

                String trScript = null;
                if(_renderRow) {
                    TrTag.State trState = new TrTag.State();
                    int index = dataGridModel.getCurrentIndex();
                    if(index % 2 == 0)
                        trState.styleClass = styleModel.getRowClass();
                    else trState.styleClass = styleModel.getAltRowClass();

                    if(trState.id != null)
                        trScript = renderNameAndId(request, trState, null);

                    tableRenderer.openTableRow(trState, appender);
                }

                content.append(sw.toString());

                if(_renderRow) {
                    tableRenderer.closeTableRow(appender);

                    if(trScript != null)
                        appender.append(trScript);
                }
            }

            if(dataGridModel.isRenderRowGroups()) {
                tableRenderer.closeTableBody(appender);

                String tbodyScript = null;
                if(_tbodyTag.id != null) {
                    tbodyScript = renderNameAndId(request, _tbodyTag, null);
                }

                if(tbodyScript != null)
                    appender.append(tbodyScript);
            }

            jspContext.getOut().write(content.toString());
        }
    }
View Full Code Here

        TableRenderer tableRenderer = dataGridModel.getTableRenderer();
        assert tableRenderer != null;

        HttpServletRequest request = JspUtil.getRequest(getJspContext());
        InternalStringBuilder content = new InternalStringBuilder();
        AbstractRenderAppender appender = new StringBuilderRenderAppender(content);

        if(_trState.styleClass == null) {
            if(renderState == DataGridTagModel.RENDER_STATE_GRID) {
                int index = dataGridModel.getCurrentIndex();
                if(index % 2 == 0)
                    _trState.styleClass = styleModel.getRowClass();
                else _trState.styleClass = styleModel.getAltRowClass();
            }
            else if(renderState == DataGridTagModel.RENDER_STATE_HEADER)
                _trState.styleClass = styleModel.getHeaderRowClass();
            else if(renderState == DataGridTagModel.RENDER_STATE_FOOTER)
                _trState.styleClass = styleModel.getFooterRowClass();
            else assert false : "Attempting to apply style information during an invalid render state";
        }

        String trScript = null;
        if(_trState.id != null)
            trScript = renderNameAndId(request, _trState, null);

        tableRenderer.openTableRow(_trState, appender);

        StringWriter sw = new StringWriter();
        if(fragment != null)
            fragment.invoke(sw);
        appender.append(sw.toString());

        tableRenderer.closeTableRow(appender);

        if(trScript != null)
            appender.append(trScript);

        jspContext.getOut().write(content.toString());

        return;
    }
View Full Code Here

        _trRenderer = TagRenderingBase.Factory.getRendering(TagRenderingBase.TR_TAG, request);
        _tdRenderer = TagRenderingBase.Factory.getRendering(TagRenderingBase.TD_TAG, request);
        _htmlConstantRendering = TagRenderingBase.Factory.getConstantRendering(request);

        _sb = new InternalStringBuilder(1024);
        _appender = new StringBuilderRenderAppender(_sb);

        Object source = evaluateDataSource();

        if(hasErrors())
            return SKIP_BODY;
View Full Code Here

        // prepare to render the tree
        HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
        HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();
        InternalStringBuilder sb = new InternalStringBuilder(1024);
        StringBuilderRenderAppender writer = new StringBuilderRenderAppender(sb);

        // this is the treeId from the request.  If there was an tree expansion this will be
        // non-null and it identifies what tree had the expansion request.
        // we need to qualify the tree based upon the tagId
        assert(_trs.tagId != null);
View Full Code Here

        elem.onExpand(req, response);
        elem.setExpanded(expand);

        if (expandSvr != null) {
            InternalStringBuilder sb = new InternalStringBuilder(1024);
            StringBuilderRenderAppender writer = new StringBuilderRenderAppender(sb);
            // Start the document
            writeStartElement(writer, TREE_EXPAND_ELEM);

            // add a tree identifier
            writeElement(writer, "node", node);
View Full Code Here

            return null;
        }

        // without a scripRepoter we need to create the actual JavaScript that will be written out
        InternalStringBuilder sb = new InternalStringBuilder(128);
        StringBuilderRenderAppender writer = new StringBuilderRenderAppender(sb);
        getTagIdMapping(tagId, realId, realName, writer);
        return sb.toString();
    }
View Full Code Here

TOP

Related Classes of org.apache.beehive.netui.tags.rendering.StringBuilderRenderAppender

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.