1 package de.webman.generator; 2 3 import com.teamkonzept.lib.*; 4 import java.util.*; 5 6 10 public class ContentCallsIterator implements TKListIterator 11 { 12 13 private TKListIterator oldIterator; 14 private String listName; 15 private TKVector list; 16 private Enumeration loop; 17 18 public ContentCallsIterator( TKVector list, TKListIterator oldIterator, String listName) 19 { 20 this.oldIterator = oldIterator; 21 this.listName = listName; 22 this.list = list; 23 this.loop = list.elements(); 24 } 25 26 public boolean apply( TKTemplate template, int i, String currListName ) 27 { 28 if( currListName.equalsIgnoreCase( listName ) ) 29 { 30 ContentCall cc = null; 31 while ((cc == null) && loop.hasMoreElements()) 32 cc = (ContentCall) loop.nextElement(); 33 34 if (cc == null) { loop = list.elements(); return false; } 35 36 SiteDocument sd = cc.getDocument(); 37 if (sd == null) { loop = list.elements(); return false; } 38 39 SiteNode sn = sd.getAnchor(); 40 if (sn == null) { loop = list.elements(); return false; } 41 42 String info = cc.getInfo(); 43 44 try 45 { 46 template.set( "INFO", info != null ? info : "" ); 47 template.set( "DOC_TEMPL", sd.getTemplateName() ); 48 template.set( "SITE_NODE_ID", new Integer (sn.getId()) ); 49 template.set( "PRIMARY_ID", new Integer (cc.getPrimaryId()) ); 50 template.set( "DOC_NAME", sd.getName() ); 51 template.set( "DOC_ID", sd.getShortName() ); 52 template.set( "DOC_PATH", cc.docName() ); 53 } 54 catch ( Throwable th ) 55 { 56 throw new Error ( th.getMessage() ); 57 } 58 return true; 59 } 60 else if( oldIterator != null ) 61 { 62 return oldIterator.apply( template, i, currListName ); 63 } 64 else { 65 return false; 66 } 67 } 68 } 69 | Popular Tags |