Package org.apache.myfaces.view.facelets.pool

Examples of org.apache.myfaces.view.facelets.pool.ViewEntry


    public void pushStaticStructureView(FacesContext context, UIViewRoot root)
    {
        MetadataViewKey key = deriveViewKey(context, root);
        if (staticStructureViewMetadataMap.containsKey(key))
        {
            ViewEntry value = generateViewEntry(context, root);
            pushStaticStructureView(context, key, value);
        }
    }
View Full Code Here


    @Override
    public ViewEntry popStaticOrPartialStructureView(FacesContext context, UIViewRoot root)
    {
        MetadataViewKey key = deriveViewKey(context, root);
        ViewEntry entry = popStaticStructureView(context, key);
        if (entry != null)
        {
            entry.setResult(RestoreViewFromPoolResult.COMPLETE);
        }
        else
        {
            entry = popPartialStructureView(context, key);
            if (entry != null)
            {
                entry.setResult(RestoreViewFromPoolResult.REFRESH_REQUIRED);
            }
            else
            {
                Map<DynamicViewKey, ViewPoolEntryHolder> map = dynamicStructureViewPool.get(key);
                if (map != null)
                {
                    try
                    {
                        ViewPoolEntryHolder maxEntry = null;
                        long max = -1;
                        for (Iterator<ViewPoolEntryHolder> it = map.values().iterator(); it.hasNext();)
                        {
                            ViewPoolEntryHolder e = it.next();
                            long count = e.getCount();
                            if (count > max && count > dynamicPartialLimit)
                            {
                                maxEntry = e;
                                max = count;
                            }
                        }
                        if (maxEntry != null)
                        {
                            entry = maxEntry.poll();
                            if (entry != null)
                            {
                                do
                                {
                                    if (entry.activate())
                                    {
                                        break;
                                    }
                                    entry = maxEntry.poll();
                                }
                                while (entry != null);
                                if (entry != null)
                                {
                                    entry.setResult(RestoreViewFromPoolResult.REFRESH_REQUIRED);
                                }
                            }
                        }
                    }
                    catch(ConcurrentModificationException ex)
View Full Code Here

        DynamicViewKey key = (DynamicViewKey) generateDynamicStructureViewKey(context, root, faceletDynamicState);
        MetadataViewKey ordinaryKey = deriveViewKey(context, root);
        Map<DynamicViewKey, ViewStructureMetadata> map = dynamicStructureViewMetadataMap.get(ordinaryKey);
        if (map != null)
        {
            ViewEntry value = generateViewEntry(context, root);
            pushDynamicStructureView(context, root, key, value);
        }       
    }
View Full Code Here

    @Override
    public ViewEntry popDynamicStructureView(FacesContext context, UIViewRoot root,
            FaceletState faceletDynamicState)
    {
        DynamicViewKey key = generateDynamicStructureViewKey(context, root, faceletDynamicState);
        ViewEntry entry = popDynamicStructureView(context, root, key);
        if (entry != null)
        {
            entry.setResult(RestoreViewFromPoolResult.COMPLETE);
        }
        return entry;
    }
View Full Code Here

    @Override
    public void pushPartialStructureView(FacesContext context, UIViewRoot root)
    {
        MetadataViewKey key = deriveViewKey(context, root);
        ViewEntry value = generateViewEntry(context, root);
        pushPartialStructureView(context, key, value);
    }
View Full Code Here

        return false;
    }
   
    public ViewEntry poll()
    {
        ViewEntry entry = queue.poll();
        count.decrementAndGet();
        return entry;
    }
View Full Code Here

                        {
                            ViewStructureMetadata viewMetadata = viewPool.retrieveDynamicViewStructureMetadata(
                                context, view, (FaceletState) faceletViewState);
                            if (viewMetadata != null)
                            {
                                ViewEntry entry = viewPool.popDynamicStructureView(context, view,
                                        (FaceletState) faceletViewState);
                                if (entry != null)
                                {
                                    skipBuildView = true;
                                    _viewPoolProcessor.cloneAndRestoreView(context, view, entry, viewMetadata);
View Full Code Here

            if (viewPool != null)
            {
                ViewStructureMetadata metadata = viewPool.retrieveStaticViewStructureMetadata(context, view);
                if (metadata != null)
                {
                    ViewEntry entry = viewPool.popStaticOrPartialStructureView(context, view);
                    if (entry != null)
                    {
                        _viewPoolProcessor.cloneAndRestoreView(context, view, entry, metadata);
                        return entry.getResult();
                    }
                }
            }
        }
        return null;
View Full Code Here

                        {
                            ViewStructureMetadata viewMetadata = viewPool.retrieveDynamicViewStructureMetadata(
                                context, view, (FaceletState) faceletViewState);
                            if (viewMetadata != null)
                            {
                                ViewEntry entry = viewPool.popDynamicStructureView(context, view,
                                        (FaceletState) faceletViewState);
                                if (entry != null)
                                {
                                    skipBuildView = true;
                                    _viewPoolProcessor.cloneAndRestoreView(context, view, entry, viewMetadata);
View Full Code Here

TOP

Related Classes of org.apache.myfaces.view.facelets.pool.ViewEntry

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.