Coverage report

  %line %branch
org.apache.jetspeed.om.page.ContentFragmentImpl$ContentFragmentList
0% 
0% 

 1  
 /* 
 2  
  * Licensed to the Apache Software Foundation (ASF) under one or more
 3  
  * contributor license agreements.  See the NOTICE file distributed with
 4  
  * this work for additional information regarding copyright ownership.
 5  
  * The ASF licenses this file to You under the Apache License, Version 2.0
 6  
  * (the "License"); you may not use this file except in compliance with
 7  
  * the License.  You may obtain a copy of the License at
 8  
 *
 9  
 *     http://www.apache.org/licenses/LICENSE-2.0
 10  
 *
 11  
 * Unless required by applicable law or agreed to in writing, software
 12  
 * distributed under the License is distributed on an "AS IS" BASIS,
 13  
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 14  
 * See the License for the specific language governing permissions and
 15  
 * limitations under the License.
 16  
 */
 17  
 package org.apache.jetspeed.om.page;
 18  
 
 19  
 import java.io.Serializable;
 20  
 import java.util.Collection;
 21  
 import java.util.Iterator;
 22  
 import java.util.List;
 23  
 import java.util.ListIterator;
 24  
 import java.util.Map;
 25  
 
 26  
 import org.apache.commons.logging.Log;
 27  
 import org.apache.commons.logging.LogFactory;
 28  
 import org.apache.jetspeed.aggregator.PortletContent;
 29  
 import org.apache.jetspeed.decoration.Decoration;
 30  
 import org.apache.jetspeed.om.common.SecurityConstraint;
 31  
 import org.apache.jetspeed.om.common.SecurityConstraints;
 32  
 import org.apache.jetspeed.page.impl.DatabasePageManagerUtils;
 33  
 
 34  
 public class ContentFragmentImpl implements ContentFragment
 35  
 {
 36  
     
 37  
 
 38  
     private final Fragment fragment;
 39  
     private StringBuffer overridenContent;
 40  
     private PortletContent portletContent;
 41  
     private List contentFragments;
 42  
     private static final Log log = LogFactory.getLog(ContentFragmentImpl.class);
 43  
     private final Map cachedFragments;
 44  
     private Decoration decoration;
 45  
     private boolean instantlyRendered;
 46  
     
 47  
 
 48  
     public ContentFragmentImpl(Fragment fragment, Map cachedFagments)
 49  
     {
 50  
         this(fragment, cachedFagments, false);
 51  
     }
 52  
 
 53  
     public ContentFragmentImpl(Fragment fragment, Map cachedFagments, boolean instantlyRendered)
 54  
     {
 55  
         this.fragment = fragment;
 56  
         this.cachedFragments = cachedFagments;
 57  
         this.instantlyRendered = instantlyRendered;
 58  
     }
 59  
 
 60  
     /* (non-Javadoc)
 61  
      * @see org.apache.jetspeed.om.page.ContentFragment#getContentFragments()
 62  
      */
 63  
     public List getContentFragments()
 64  
     {   
 65  
         if(contentFragments == null)
 66  
         {
 67  
            contentFragments = new ContentFragmentList();
 68  
         }
 69  
         return contentFragments;
 70  
     }
 71  
 
 72  
     /* (non-Javadoc)
 73  
      * @see org.apache.jetspeed.om.page.ContentFragment#getFragments()
 74  
      */
 75  
     public List getFragments()
 76  
     {
 77  
         return getContentFragments();
 78  
     }
 79  
     
 80  
     /* (non-Javadoc)
 81  
      * @see org.apache.jetspeed.om.page.ContentFragment#getOverriddenContent()
 82  
      */
 83  
     public String getOverriddenContent()
 84  
     {
 85  
         return overridenContent != null ? overridenContent.toString() : class="keyword">null;
 86  
     }
 87  
 
 88  
     /* (non-Javadoc)
 89  
      * @see org.apache.jetspeed.om.page.ContentFragment#getRenderedContent()
 90  
      */
 91  
     public String getRenderedContent() throws IllegalStateException
 92  
     {       
 93  
         if(overridenContent != null)
 94  
         {
 95  
             return overridenContent.toString();
 96  
         }
 97  
         
 98  
         
 99  
         if (portletContent != null)
 100  
         {
 101  
             //TODO are you sure? Intellij warns, synchronization on a non-final field is
 102  
             //unlikely to have useful semantics.
 103  
             synchronized (portletContent)
 104  
             {
 105  
                 if (portletContent.isComplete())
 106  
                 {
 107  
                     return portletContent.getContent();
 108  
                 }
 109  
                 else
 110  
                 {
 111  
                     try
 112  
                     {
 113  
                         log.debug("Waiting on content for Fragment " + getId());
 114  
                         portletContent.wait();
 115  
                         return portletContent.getContent();
 116  
                     }
 117  
                     catch (InterruptedException e)
 118  
                     {
 119  
                         return e.getMessage();
 120  
                     }
 121  
                     finally
 122  
                     {
 123  
                         log.debug("Been notified that Faragment " + getId() + " is complete");
 124  
                     }
 125  
                 }
 126  
             }
 127  
         }
 128  
         else
 129  
         {
 130  
             throw new IllegalStateException("You cannot invoke getRenderedContent() until the content has been set.");
 131  
         }
 132  
     }
 133  
 
 134  
     /* (non-Javadoc)
 135  
      * @see org.apache.jetspeed.om.page.ContentFragment#overrideRenderedContent(java.lang.String)
 136  
      */
 137  
     public void overrideRenderedContent(String contnent)
 138  
     {
 139  
         if ( contnent != null )
 140  
         {
 141  
             if(overridenContent == null)
 142  
             {
 143  
                 overridenContent = new StringBuffer();
 144  
             }
 145  
             // prevent repeated storing of the same error message
 146  
             if (!contnent.equals(overridenContent.toString()))
 147  
             {
 148  
                 overridenContent.append(contnent);
 149  
             }
 150  
         }
 151  
         
 152  
     }
 153  
 
 154  
     /* (non-Javadoc)
 155  
      * @see org.apache.jetspeed.om.page.ContentFragment#setPortletContent(org.apache.jetspeed.aggregator.PortletContent)
 156  
      */
 157  
     public void setPortletContent(PortletContent portletContent)
 158  
     {
 159  
         this.portletContent = portletContent;        
 160  
     }
 161  
 
 162  
     /* (non-Javadoc)
 163  
      * @see org.apache.jetspeed.om.page.Fragment#getDecorator()
 164  
      */
 165  
     public String getDecorator()
 166  
     {
 167  
         
 168  
         return fragment.getDecorator();
 169  
     }
 170  
 
 171  
     /* (non-Javadoc)
 172  
      * @see org.apache.jetspeed.om.page.Fragment#getName()
 173  
      */
 174  
     public String getName()
 175  
     {
 176  
         
 177  
         return fragment.getName();
 178  
     }
 179  
 
 180  
     /* (non-Javadoc)
 181  
      * @see org.apache.jetspeed.om.page.Fragment#getProperties()
 182  
      */
 183  
     public Map getProperties()
 184  
     {
 185  
         
 186  
         return fragment.getProperties();
 187  
     }
 188  
 
 189  
     /* (non-Javadoc)
 190  
      * @see org.apache.jetspeed.om.page.Fragment#getProperty(java.lang.String)
 191  
      */
 192  
     public String getProperty(String propName)
 193  
     {
 194  
         
 195  
         return fragment.getProperty(propName);
 196  
     }
 197  
 
 198  
     /* (non-Javadoc)
 199  
      * @see org.apache.jetspeed.om.page.Fragment#getIntProperty(java.lang.String)
 200  
      */
 201  
     public int getIntProperty(String propName)
 202  
     {
 203  
         
 204  
         return fragment.getIntProperty(propName);
 205  
     }
 206  
 
 207  
     /* (non-Javadoc)
 208  
      * @see org.apache.jetspeed.om.page.Fragment#getFloatProperty(java.lang.String)
 209  
      */
 210  
     public float getFloatProperty(String propName)
 211  
     {
 212  
         
 213  
         return fragment.getFloatProperty(propName);
 214  
     }
 215  
 
 216  
     /* (non-Javadoc)
 217  
      * @see org.apache.jetspeed.om.page.Fragment#getSkin()
 218  
      */
 219  
     public String getSkin()
 220  
     {
 221  
         
 222  
         return fragment.getSkin();
 223  
     }
 224  
 
 225  
     /* (non-Javadoc)
 226  
      * @see org.apache.jetspeed.om.page.Fragment#getState()
 227  
      */
 228  
     public String getState()
 229  
     {
 230  
         
 231  
         return fragment.getState();
 232  
     }
 233  
 
 234  
     /* (non-Javadoc)
 235  
      * @see org.apache.jetspeed.om.page.Fragment#getMode()
 236  
      */
 237  
     public String getMode()
 238  
     {
 239  
         
 240  
         return fragment.getMode();
 241  
     }
 242  
 
 243  
     /* (non-Javadoc)
 244  
      * @see org.apache.jetspeed.om.page.Fragment#getType()
 245  
      */
 246  
     public String getType()
 247  
     {
 248  
         
 249  
         return fragment.getType();
 250  
     }
 251  
 
 252  
     /* (non-Javadoc)
 253  
      * @see org.apache.jetspeed.om.page.Fragment#isReference()
 254  
      */
 255  
     public boolean isReference()
 256  
     {
 257  
         
 258  
         return fragment.isReference();
 259  
     }
 260  
 
 261  
     /* (non-Javadoc)
 262  
      * @see org.apache.jetspeed.om.page.Fragment#setDecorator(java.lang.String)
 263  
      */
 264  
     public void setDecorator(String decoratorName)
 265  
     {
 266  
         
 267  
         fragment.setDecorator(decoratorName);
 268  
     }
 269  
 
 270  
     /* (non-Javadoc)
 271  
      * @see org.apache.jetspeed.om.page.Fragment#setName(java.lang.String)
 272  
      */
 273  
     public void setName(String name)
 274  
     {
 275  
         
 276  
         fragment.setName(name);
 277  
     }
 278  
 
 279  
     /* (non-Javadoc)
 280  
      * @see org.apache.jetspeed.om.page.Fragment#getLayoutRow()
 281  
      */
 282  
     public int getLayoutRow()
 283  
     {
 284  
         return fragment.getLayoutRow();
 285  
     }
 286  
     
 287  
     /* (non-Javadoc)
 288  
      * @see org.apache.jetspeed.om.page.Fragment#getLayoutColumn()
 289  
      */
 290  
     public int getLayoutColumn()
 291  
     {
 292  
         return fragment.getLayoutColumn();
 293  
     }
 294  
 
 295  
     /* (non-Javadoc)
 296  
      * @see org.apache.jetspeed.om.page.Fragment#getLayoutSizes()
 297  
      */
 298  
     public String getLayoutSizes()
 299  
     {
 300  
         return fragment.getLayoutSizes();
 301  
     }
 302  
 
 303  
     /* (non-Javadoc)
 304  
      * @see org.apache.jetspeed.om.page.Fragment#getLayoutX()
 305  
      */
 306  
     public float getLayoutX()
 307  
     {
 308  
         return fragment.getLayoutX();
 309  
     }
 310  
 
 311  
     /* (non-Javadoc)
 312  
      * @see org.apache.jetspeed.om.page.Fragment#getLayoutY()
 313  
      */
 314  
     public float getLayoutY()
 315  
     {
 316  
         return fragment.getLayoutY();
 317  
     }
 318  
 
 319  
     /* (non-Javadoc)
 320  
      * @see org.apache.jetspeed.om.page.Fragment#getLayoutZ()
 321  
      */
 322  
     public float getLayoutZ()
 323  
     {
 324  
         return fragment.getLayoutZ();
 325  
     }
 326  
 
 327  
     /* (non-Javadoc)
 328  
      * @see org.apache.jetspeed.om.page.Fragment#getLayoutWidth()
 329  
      */
 330  
     public float getLayoutWidth()
 331  
     {
 332  
         return fragment.getLayoutWidth();
 333  
     }
 334  
 
 335  
     /* (non-Javadoc)
 336  
      * @see org.apache.jetspeed.om.page.Fragment#getLayoutHeight()
 337  
      */
 338  
     public float getLayoutHeight()
 339  
     {
 340  
         return fragment.getLayoutHeight();
 341  
     }
 342  
 
 343  
     /* (non-Javadoc)
 344  
      * @see org.apache.jetspeed.om.page.Fragment#setLayoutRow(int)
 345  
      */
 346  
     public void setLayoutRow(int row)
 347  
     {
 348  
         fragment.setLayoutRow(row);
 349  
     }
 350  
     
 351  
     /* (non-Javadoc)
 352  
      * @see org.apache.jetspeed.om.page.Fragment#setLayoutColumn(int)
 353  
      */
 354  
     public void setLayoutColumn(int column)
 355  
     {
 356  
         fragment.setLayoutColumn(column);
 357  
     }
 358  
     
 359  
     /* (non-Javadoc)
 360  
      * @see org.apache.jetspeed.om.page.Fragment#setLayoutSizes(java.lang.String)
 361  
      */
 362  
     public void setLayoutSizes(String sizes)
 363  
     {
 364  
         fragment.setLayoutSizes(sizes);
 365  
     }
 366  
     
 367  
     /* (non-Javadoc)
 368  
      * @see org.apache.jetspeed.om.page.Fragment#setLayoutX(float)
 369  
      */
 370  
     public void setLayoutX(float x)
 371  
     {
 372  
         fragment.setLayoutX(x);
 373  
     }
 374  
     
 375  
     /* (non-Javadoc)
 376  
      * @see org.apache.jetspeed.om.page.Fragment#setLayoutY(float)
 377  
      */
 378  
     public void setLayoutY(float y)
 379  
     {
 380  
         fragment.setLayoutY(y);
 381  
     }
 382  
 
 383  
     /* (non-Javadoc)
 384  
      * @see org.apache.jetspeed.om.page.Fragment#setLayoutZ(float)
 385  
      */
 386  
     public void setLayoutZ(float z)
 387  
     {
 388  
         fragment.setLayoutZ(z);
 389  
     }
 390  
 
 391  
     /* (non-Javadoc)
 392  
      * @see org.apache.jetspeed.om.page.Fragment#setLayoutWidth(float)
 393  
      */
 394  
     public void setLayoutWidth(float width)
 395  
     {
 396  
         fragment.setLayoutWidth(width);
 397  
     }
 398  
 
 399  
     /* (non-Javadoc)
 400  
      * @see org.apache.jetspeed.om.page.Fragment#setLayoutHeight(float)
 401  
      */
 402  
     public void setLayoutHeight(float height)
 403  
     {
 404  
         fragment.setLayoutHeight(height);
 405  
     }
 406  
 
 407  
     /* (non-Javadoc)
 408  
      * @see org.apache.jetspeed.om.page.Fragment#setSkin(java.lang.String)
 409  
      */
 410  
     public void setSkin(String skinName)
 411  
     {
 412  
         
 413  
         fragment.setSkin(skinName);
 414  
     }
 415  
 
 416  
     /* (non-Javadoc)
 417  
      * @see org.apache.jetspeed.om.page.Fragment#setState(java.lang.String)
 418  
      */
 419  
     public void setState(String state)
 420  
     {
 421  
         
 422  
         fragment.setState(state);
 423  
     }
 424  
 
 425  
     /* (non-Javadoc)
 426  
      * @see org.apache.jetspeed.om.page.Fragment#setMode(java.lang.String)
 427  
      */
 428  
     public void setMode(String mode)
 429  
     {
 430  
         
 431  
         fragment.setMode(mode);
 432  
     }
 433  
 
 434  
     /* (non-Javadoc)
 435  
      * @see org.apache.jetspeed.om.page.Fragment#setType(java.lang.String)
 436  
      */
 437  
     public void setType(String type)
 438  
     {
 439  
         
 440  
         fragment.setType(type);
 441  
     }
 442  
 
 443  
     /* (non-Javadoc)
 444  
      * @see org.apache.jetspeed.om.page.BaseElement#getId()
 445  
      */
 446  
     public String getId()
 447  
     {
 448  
         
 449  
         return fragment.getId();
 450  
     }
 451  
 
 452  
     /* (non-Javadoc)
 453  
      * @see org.apache.jetspeed.om.page.BaseElement#getShortTitle()
 454  
      */
 455  
     public String getShortTitle()
 456  
     {
 457  
         
 458  
         return fragment.getShortTitle();
 459  
     }
 460  
 
 461  
     /* (non-Javadoc)
 462  
      * @see org.apache.jetspeed.om.page.BaseElement#getTitle()
 463  
      */
 464  
     public String getTitle()
 465  
     {
 466  
         
 467  
         return fragment.getTitle();
 468  
     }
 469  
 
 470  
     /* (non-Javadoc)
 471  
      * @see org.apache.jetspeed.om.page.BaseElement#setShortTitle(java.lang.String)
 472  
      */
 473  
     public void setShortTitle(String title)
 474  
     {
 475  
         
 476  
         fragment.setShortTitle(title);
 477  
     }
 478  
 
 479  
     /* (non-Javadoc)
 480  
      * @see org.apache.jetspeed.om.page.BaseElement#setTitle(java.lang.String)
 481  
      */
 482  
     public void setTitle(String title)
 483  
     {
 484  
         
 485  
         fragment.setTitle(title);
 486  
     }
 487  
 
 488  
     /* (non-Javadoc)
 489  
      * @see org.apache.jetspeed.om.common.SecuredResource#checkAccess(java.lang.String)
 490  
      */
 491  
     public void checkAccess(String actions) throws SecurityException
 492  
     {
 493  
         
 494  
         fragment.checkAccess(actions);
 495  
     }
 496  
 
 497  
     /* (non-Javadoc)
 498  
      * @see org.apache.jetspeed.om.common.SecuredResource#checkConstraints(java.lang.String)
 499  
      */
 500  
     public void checkConstraints(String actions) throws SecurityException
 501  
     {
 502  
         
 503  
         fragment.checkConstraints(actions);
 504  
     }
 505  
 
 506  
     /* (non-Javadoc)
 507  
      * @see org.apache.jetspeed.om.common.SecuredResource#checkPermissions(int)
 508  
      */
 509  
     public void checkPermissions(int mask) throws SecurityException
 510  
     {
 511  
         
 512  
         fragment.checkPermissions(mask);
 513  
     }
 514  
 
 515  
     /* (non-Javadoc)
 516  
      * @see org.apache.jetspeed.om.common.SecuredResource#getConstraintsEnabled()
 517  
      */
 518  
     public boolean getConstraintsEnabled()
 519  
     {
 520  
         
 521  
         return fragment.getConstraintsEnabled();
 522  
     }
 523  
 
 524  
     /* (non-Javadoc)
 525  
      * @see org.apache.jetspeed.om.common.SecuredResource#getPermissionsEnabled()
 526  
      */
 527  
     public boolean getPermissionsEnabled()
 528  
     {
 529  
         
 530  
         return fragment.getPermissionsEnabled();
 531  
     }
 532  
 
 533  
     /* (non-Javadoc)
 534  
      * @see org.apache.jetspeed.om.common.SecuredResource#getSecurityConstraints()
 535  
      */
 536  
     public SecurityConstraints getSecurityConstraints()
 537  
     {
 538  
         
 539  
         return fragment.getSecurityConstraints();
 540  
     }
 541  
 
 542  
     /* (non-Javadoc)
 543  
      * @see org.apache.jetspeed.om.common.SecuredResource#newSecurityConstraints()
 544  
      */
 545  
     public SecurityConstraints newSecurityConstraints()
 546  
     {
 547  
         
 548  
         return fragment.newSecurityConstraints();
 549  
     }
 550  
 
 551  
     /* (non-Javadoc)
 552  
      * @see org.apache.jetspeed.om.common.SecuredResource#newSecurityConstraint()
 553  
      */
 554  
     public SecurityConstraint newSecurityConstraint()
 555  
     {
 556  
         
 557  
         return fragment.newSecurityConstraint();
 558  
     }
 559  
 
 560  
     /* (non-Javadoc)
 561  
      * @see org.apache.jetspeed.om.common.SecuredResource#setSecurityConstraints(org.apache.jetspeed.om.common.SecurityConstraints)
 562  
      */
 563  
     public void setSecurityConstraints(SecurityConstraints constraints)
 564  
     {
 565  
         fragment.setSecurityConstraints(constraints);
 566  
     }
 567  
     
 568  
     
 569  
     /**
 570  
      * Checks the ContentFragment cache for a ContentFragment
 571  
      * that matches the <code>Id</code> of this fragment.  If
 572  
      * one is found, it returned.  If no matches are found, a new
 573  
      * <code>ContentFragment</code> represnentive of the {@link Fragment}
 574  
      * argument is subsequently created, stored into the cahce and returned. 
 575  
      * 
 576  
      * @param f
 577  
      * @return ContentFrament
 578  
      */
 579  
     protected ContentFragment getContentFragment(Fragment f)
 580  
     {
 581  
         ContentFragment cf;
 582  
         if(cachedFragments.containsKey(f.getId()))
 583  
         {
 584  
             cf = (ContentFragment) cachedFragments.get(f.getId());
 585  
         }
 586  
         else
 587  
         {
 588  
             cf = new ContentFragmentImpl(f, cachedFragments);
 589  
             cachedFragments.put(f.getId(), cf);
 590  
         }
 591  
         return cf;
 592  
     }
 593  
     
 594  
     
 595  0
     protected final class ContentFragmentList implements List, Serializable
 596  
     {
 597  0
         private List baseList = fragment.getFragments();
 598  
 
 599  
         /* (non-Javadoc)
 600  
          * @see java.util.List#add(int, java.lang.Object)
 601  
          */
 602  
         public void add(int index, Object element)
 603  
         {
 604  0
             if (element instanceof ContentFragmentImpl)
 605  0
                 element = ((ContentFragmentImpl)element).fragment;
 606  0
             baseList.add(index, element);
 607  0
         }
 608  
 
 609  
         /* (non-Javadoc)
 610  
          * @see java.util.List#add(java.lang.Object)
 611  
          */
 612  
         public boolean add(Object o)
 613  
         {
 614  0
             if (o instanceof ContentFragmentImpl)
 615  0
                 o = ((ContentFragmentImpl)o).fragment;            
 616  0
             return baseList.add(o);
 617  
         }
 618  
 
 619  
         /* (non-Javadoc)
 620  
          * @see java.util.List#addAll(int, java.util.Collection)
 621  
          */
 622  
         public boolean addAll(int index, Collection c)
 623  
         {
 624  
             
 625  0
             return baseList.addAll(index, c);
 626  
         }
 627  
 
 628  
         /* (non-Javadoc)
 629  
          * @see java.util.List#addAll(java.util.Collection)
 630  
          */
 631  
         public boolean addAll(Collection c)
 632  
         {
 633  
             
 634  0
             return baseList.addAll(c);
 635  
         }
 636  
 
 637  
         /* (non-Javadoc)
 638  
          * @see java.util.List#clear()
 639  
          */
 640  
         public void clear()
 641  
         {
 642  
             
 643  0
             baseList.clear();
 644  0
         }
 645  
 
 646  
         /* (non-Javadoc)
 647  
          * @see java.util.List#contains(java.lang.Object)
 648  
          */
 649  
         public boolean contains(Object o)
 650  
         {
 651  
             
 652  0
             return baseList.contains(o);
 653  
         }
 654  
 
 655  
         /* (non-Javadoc)
 656  
          * @see java.util.List#containsAll(java.util.Collection)
 657  
          */
 658  
         public boolean containsAll(Collection c)
 659  
         {
 660  
             
 661  0
             return baseList.containsAll(c);
 662  
         }
 663  
 
 664  
         /* (non-Javadoc)
 665  
          * @see java.util.List#equals(java.lang.Object)
 666  
          */
 667  
         public boolean equals(Object o)
 668  
         {
 669  
             
 670  0
             return baseList.equals(o);
 671  
         }
 672  
 
 673  
         /* (non-Javadoc)
 674  
          * @see java.util.List#get(int)
 675  
          */
 676  
         public Object get(int index)
 677  
         {
 678  0
             Fragment f= (Fragment) baseList.get(index);
 679  0
             return getContentFragment(f);            
 680  
         }
 681  
 
 682  
         /* (non-Javadoc)
 683  
          * @see java.util.List#hashCode()
 684  
          */
 685  
         public int hashCode()
 686  
         {
 687  
             
 688  0
             return baseList.hashCode();
 689  
         }
 690  
 
 691  
         /* (non-Javadoc)
 692  
          * @see java.util.List#indexOf(java.lang.Object)
 693  
          */
 694  
         public int indexOf(Object o)
 695  
         {
 696  
             
 697  0
             return baseList.indexOf(o);
 698  
         }
 699  
 
 700  
         /* (non-Javadoc)
 701  
          * @see java.util.List#isEmpty()
 702  
          */
 703  
         public boolean isEmpty()
 704  
         {
 705  
             
 706  0
             return baseList.isEmpty();
 707  
         }
 708  
 
 709  
         /* (non-Javadoc)
 710  
          * @see java.util.List#iterator()
 711  
          */
 712  
         public Iterator iterator()
 713  
         {
 714  0
             return duplicateList().iterator();
 715  
         }
 716  
 
 717  
         /* (non-Javadoc)
 718  
          * @see java.util.List#lastIndexOf(java.lang.Object)
 719  
          */
 720  
         public int lastIndexOf(Object o)
 721  
         {
 722  
             
 723  0
             return baseList.lastIndexOf(o);
 724  
         }
 725  
 
 726  
         /* (non-Javadoc)
 727  
          * @see java.util.List#listIterator()
 728  
          */
 729  
         public ListIterator listIterator()
 730  
         {
 731  0
             return duplicateList().listIterator();
 732  
         }
 733  
 
 734  
         /* (non-Javadoc)
 735  
          * @see java.util.List#listIterator(int)
 736  
          */
 737  
         public ListIterator listIterator(int index)
 738  
         {
 739  0
             return duplicateList().listIterator(index);
 740  
         }
 741  
 
 742  
         /* (non-Javadoc)
 743  
          * @see java.util.List#remove(int)
 744  
          */
 745  
         public Object remove(int index)
 746  
         {
 747  
             
 748  0
             return baseList.remove(index);
 749  
         }
 750  
 
 751  
         /* (non-Javadoc)
 752  
          * @see java.util.List#remove(java.lang.Object)
 753  
          */
 754  
         public boolean remove(Object o)
 755  
         {
 756  
             
 757  0
             return baseList.remove(o);
 758  
         }
 759  
 
 760  
         /* (non-Javadoc)
 761  
          * @see java.util.List#removeAll(java.util.Collection)
 762  
          */
 763  
         public boolean removeAll(Collection c)
 764  
         {
 765  
             
 766  0
             return baseList.removeAll(c);
 767  
         }
 768  
 
 769  
         /* (non-Javadoc)
 770  
          * @see java.util.List#retainAll(java.util.Collection)
 771  
          */
 772  
         public boolean retainAll(Collection c)
 773  
         {
 774  
             
 775  0
             return baseList.retainAll(c);
 776  
         }
 777  
 
 778  
         /* (non-Javadoc)
 779  
          * @see java.util.List#set(int, java.lang.Object)
 780  
          */
 781  
         public Object set(int index, Object element)
 782  
         {
 783  
             
 784  0
             return baseList.set(index, element);
 785  
         }
 786  
 
 787  
         /* (non-Javadoc)
 788  
          * @see java.util.List#size()
 789  
          */
 790  
         public int size()
 791  
         {
 792  
             
 793  0
             return baseList.size();
 794  
         }
 795  
 
 796  
         /* (non-Javadoc)
 797  
          * @see java.util.List#subList(int, int)
 798  
          */
 799  
         public List subList(int fromIndex, class="keyword">int toIndex)
 800  
         {
 801  0
             return duplicateList().subList(fromIndex, toIndex);
 802  
         }
 803  
 
 804  
 
 805  
 
 806  
         /* (non-Javadoc)
 807  
          * @see java.util.List#toArray()
 808  
          */
 809  
         public Object[] toArray()
 810  
         {
 811  0
             return duplicateList().toArray();
 812  
         }
 813  
 
 814  
         /* (non-Javadoc)
 815  
          * @see java.util.List#toArray(java.lang.Object[])
 816  
          */
 817  
         public Object[] toArray(Object[] a)
 818  
         {
 819  0
               return duplicateList().toArray(a);
 820  
         }
 821  
         
 822  
         private List duplicateList()
 823  
         {            
 824  0
             List rFragList = DatabasePageManagerUtils.createList();
 825  0
             for(int i=0; i < baseList.size(); i++)
 826  
             {                
 827  0
                 Fragment f = (Fragment)baseList.get(i);
 828  0
                 ContentFragment cf = getContentFragment(f);
 829  0
                 rFragList.add(cf);
 830  
             }
 831  0
             return rFragList;
 832  
         }
 833  
         
 834  
         
 835  
 
 836  
     }
 837  
 
 838  
     /* (non-Javadoc)
 839  
      * @see org.apache.jetspeed.om.page.Fragment#getPreferences()
 840  
      */
 841  
     public List getPreferences()
 842  
     {
 843  
         return fragment.getPreferences();
 844  
     }
 845  
 
 846  
     public Decoration getDecoration()
 847  
     {
 848  
         return decoration;
 849  
     }
 850  
     
 851  
     /* (non-Javadoc)
 852  
      * @see org.apache.jetspeed.om.page.Fragment#setPreferences(java.util.List)
 853  
      */
 854  
     public void setPreferences(List preferences)
 855  
     {
 856  
         fragment.setPreferences(preferences);
 857  
     }
 858  
 
 859  
 
 860  
     public void setDecoration(Decoration decoration)
 861  
     {
 862  
         this.decoration = decoration;
 863  
         
 864  
     }
 865  
     
 866  
     /* (non-Javadoc)
 867  
      * @see org.apache.jetspeed.om.page.ContentFragment#isInstantlyRendered()
 868  
      */
 869  
     public boolean isInstantlyRendered()
 870  
     {
 871  
         return this.instantlyRendered;
 872  
     }
 873  
     
 874  
 }

This report is generated by jcoverage, Maven and Maven JCoverage Plugin.