/**
 * $RCSfile$
 * Copyright 2002-2003 by Robert Simmons Jr., All Rights Reserved
 * 
 * Last Checked in by: $Author$
 * Last Checked in on: $Date$
 * Currently Locked By: $Locker$
 * Working Tag: $Name$
 * 
 * End: Mirror Standard Header.
***** DO NOT EDIT ABOVE THIS LINE *****/
package jconfer.client.generators;

import java.io.IOException;
import java.util.Collection;
import java.util.Date;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
import javax.servlet.http.HttpServletRequest;
import jconfer.data.Smiley;
import mirror.datafetch.DataFetch;
import mirror.datafetch.DataFetchHome;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.SourceResolver;
import org.apache.cocoon.generation.AbstractGenerator;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.AttributesImpl;

/** Handles a command for getting an admin screen for forum smileys.
 *
 * <p><b><small>Current CVS Tag:  $Name$</b></small></p>
 * @version $Revision$
 * @author $author$
 */
public class SmileyAdminView extends GeneratorBase {

  /** {@inheritDoc} */
  public void generateContent() throws Exception {
    DataFetchHome dfHome = (DataFetchHome)jndiLookup(DataFetchHome.class, 
                                                     "JConfer/DataFetch");
    DataFetch dataFetch = dfHome.create();
    // --
    Collection smileys = dataFetch.performQuery(Smiley.class, null, null, null, 
                                                null, "code ascending");
    // --
    AttributesImpl attributes = new AttributesImpl();
    Smiley tgtSmiley = null;
    // -- Start the content
    this.contentHandler.startElement("", "smiley-admin-view", "smiley-admin-view", EMPTY_ATTRS);
    // -- Do internal elements.
    Iterator iter = smileys.iterator();
    while (iter.hasNext()) {
      tgtSmiley = (Smiley)iter.next();
      attributes.clear();
      attributes.addAttribute("", "code", "code", "", tgtSmiley.getCode());
      attributes.addAttribute("", "description", "description", "", tgtSmiley.getDescription());
      this.contentHandler.startElement("", "smiley", "smiley", attributes);
      this.contentHandler.endElement("", "smiley", "smiley");
    }
    // -- End the document
    this.contentHandler.endElement("", "smiley-admin-view", "smiley-admin-view");
  }
}

