CEEventDistributor.java :  » Content-Management-System » webman » de » webman » content » Java Open Source

Java Open Source » Content Management System » webman 
webman » de » webman » content » CEEventDistributor.java
package de.webman.content;

import java.util.*;
import java.sql.*;
import java.io.*;
import com.teamkonzept.web.*;
import com.teamkonzept.lib.*;
import com.teamkonzept.field.*;
import com.teamkonzept.field.db.*;
import com.teamkonzept.db.*;
import com.teamkonzept.webman.mainint.*;
import com.teamkonzept.publishing.markups.*;
import com.teamkonzept.webman.mainint.events.*;
import com.teamkonzept.webman.*;
import com.teamkonzept.webman.db.*;
import com.teamkonzept.webman.mainint.db.*;
import com.teamkonzept.webman.mainint.db.queries.*;
import de.webman.content.eventhandler.*;
import de.webman.generator.*;

/**
 * The distributor for all content tree related events.
 *
 * @author $Author: uli $
 * @version $Revision: 1.41
 */
public class CEEventDistributor
  extends CachedEventDistributor
  implements ParameterTypes,
         DatabaseDefaults,
         FrameConstants
{

  /**
   * Constructs a new event distributor.
   */
    public CEEventDistributor ()
    {
    addEventHandler(CESwitchMutipleContentHandler.getInstance());
      addEventHandler(CEArrangeMoveHandler.getInstance());
      addEventHandler(CEArrangeOpenDirHandler.getInstance());
      addEventHandler(CEArrangeShowHandler.getInstance());
      addEventHandler(CEArrangeStartHandler.getInstance());
      addEventHandler(CEBrowseHandler.getInstance());
      addEventHandler(CECheckHandler.getInstance());
      addEventHandler(CECompactHandler.getInstance());
      addEventHandler(CEContentAttributesHandler.getInstance());
      addEventHandler(CEContentInfoHandler.getInstance());
      addEventHandler(CEContentVersionsHandler.getInstance());
      addEventHandler(CEDefaultHandler.getInstance());
      addEventHandler(CEEditHandler.getInstance());
      addEventHandler(CEEditNodeHandler.getInstance());
      addEventHandler(CEExportHandler.getInstance());
      addEventHandler(CEExtModifyDoneHandler.getInstance());
      addEventHandler(CEExtModifyHandler.getInstance());
      addEventHandler(CEForwardHandler.getInstance());
      addEventHandler(CEFrameHandler.getInstance());
      addEventHandler(CEImportHandler.getInstance());
      addEventHandler(CEIntershopHandler.getInstance());
      addEventHandler(CEMediaGetHandler.getInstance());
      addEventHandler(CEModifyHandler.getInstance());
      addEventHandler(CENewNodeHandler.getInstance());
      addEventHandler(CENodeDeleteHandler.getInstance());
      addEventHandler(CENodeListMultHandler.getInstance());
      addEventHandler(CEOnlineHandler.getInstance());
      addEventHandler(CEOpenMultDirHandler.getInstance());
      addEventHandler(CESaveHandler.getInstance());
      addEventHandler(CESaveNewNodeHandler.getInstance());
      addEventHandler(CESwitchGroupContentHandler.getInstance());
      addEventHandler(CEUpdateGroupContentHandler.getInstance());
      addEventHandler(CEUpdateNodeHandler.getInstance());
    }

  /**
   * Handles the specified event.
   *
   * @param event the event to be handled.
   * @throws TKException if any error occurred during event handling.
   */
    public void handleEvent (TKEvent event)
      throws TKException
    {
      try
      {
        super.handleEvent(event);
      }
      catch (TKException tke)
      {
        // hier die Exception Klasse abfragen !!!
        if (tke.getErrorCode() == INVALID_EVENT)
        {
          try
          {
            String name = event.getName();

          if (name.equalsIgnoreCase("CE_PREV_INDEX"))
          {
            Preview preview = new Preview(event);
            preview.doPreviewIndexPerContent();
            return;
          }

          if (name.equalsIgnoreCase("CE_PREVIEW"))
          {
            Preview preview = new Preview(event);
            preview.doPreview();
            return;
          }

          if (name.equalsIgnoreCase("CE_DISPLAY_TEXT_ATTRIBUTES"))
          {
            TKWMAttrEdit attrEdit = new TKWMAttrEdit(event);
            attrEdit.displayLinks();
            return;
          }

          if (name.equalsIgnoreCase("CE_EMPTY"))
          {
            event.doEmptyPage();
            return;
          }

          throw tke;
        }
        catch (FileNotFoundException fnfe)
        {
            throw new TKUserException("Template not Found",
                          UserCodes.TEMPLATE_NOT_FOUND,
                          ErrorCodes.USER_SEVERITY,
                          false,
                          new Object[]{fnfe.getMessage()},
                          fnfe);
        }
        catch (TKTemplateSyntaxException tktse)
        {
            throw new TKUserException("Template Syntax Error",
                          UserCodes.WRONG_TEMPLATE_SYNTAX,
                          ErrorCodes.USER_SEVERITY,
                          false,
                          new Object[]{tktse.getMessage()},
                          tktse);
        }
        catch (Throwable t)
        {
          throw WebmanExceptionHandler.getException(t);
        }
      }
      else
      {
        throw tke;
      }
    }
    }

  /**
   * Checks wether this handler is capable to handle the specified event.
   *
   * @param event the event to be handled.
   * @return <CODE>true</CODE> if this handler is capable to handle the
   * specified event, otherwise <CODE>false</CODE>.
   */
    public boolean isHandler (TKEvent event)
    {
        return event.getName().startsWith("CE");
    }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.