DUChooseStartHandler.java :  » Content-Management-System » webman » de » webman » duplication » eventhandler » Java Open Source

Java Open Source » Content Management System » webman 
webman » de » webman » duplication » eventhandler » DUChooseStartHandler.java
package de.webman.duplication.eventhandler;

import com.teamkonzept.web.*;
import com.teamkonzept.webman.*;
import com.teamkonzept.webman.db.TKWebmanDBManager;
import com.teamkonzept.webman.mainint.*;
import com.teamkonzept.webman.mainint.db.*;


import com.teamkonzept.webman.mainint.db.queries.*;
import com.teamkonzept.webman.mainint.events.*;
import com.teamkonzept.lib.*;
import com.teamkonzept.db.*;

import java.sql.*;
import java.io.*;

import com.teamkonzept.webman.mainint.*;


/**
 * Anzeigen der Maske zum Neuordnen des Contenttree
 *
 *
 * @author  $Author: mischa $
 * @version $Revision: 1.4 $
*/
public class DUChooseStartHandler extends DefaultEventHandler implements ParameterTypes, FrameConstants, DatabaseDefaults
{
  private DUChooseStartHandler()
  {}
  
  private static DUChooseStartHandler instance = new DUChooseStartHandler();
  
  public static DUChooseStartHandler getInstance()
  {
    return instance;
  }
  
    public void handleEvent(TKEvent evt) throws TKException
  {
      try{
    TKParams params = evt.getParams();
      
      
    TKHTMLTemplate t = evt.getPrepHTMLTemplate( "du_choose.tmpl" );
    if(params.getClass("PAR") != null){
      t.set(params.getClass("PAR"));
    }
    
    
    String siteTreeFlag = (params.get("PAR", "SITE_TREE_FLAG")) == null? "OFF":params.get("PAR", "SITE_TREE_FLAG") ;
      String contentTreeFlag = (params.get( "PAR", "CONTENT_FLAG" ))==null?"OFF":params.get( "PAR", "CONTENT_FLAG" );
    
    if(!contentTreeFlag.equals("ON") && !siteTreeFlag.equals("ON"))
    {
      Utils.doErrorSide(evt);
      return;
    }  
    
    t.set("SITE_TREE_FLAG", siteTreeFlag);
    t.set("CONTENT_FLAG", contentTreeFlag);
    
    TKVector openCTNodes = new TKVector();
    openCTNodes.put( 0, "-1" );  // initial bei Root den Baum oeffnen
    TKStandardIterator iteratorCT1 = new TKStandardIterator( openCTNodes, t.getListIterator(), "CT_OPEN_NODES", "CT_OPEN_NODES" );
    t.setListIterator( iteratorCT1 );
    
    TKStandardIterator iteratorSC1 = new TKStandardIterator( openCTNodes, t.getListIterator(), "SC_OPEN_NODES", "SC_OPEN_NODES" );
    t.setListIterator( iteratorSC1 );
    

    TKQuery qCT = TKDBManager.newQuery( TKDBContentTreeGetOpen.class );
    qCT.setQueryParams( "NODE_ID", TKNull.NULL );
    qCT.execute();
    TKDBResult CTtree = new TKDBResult( qCT.fetchResultSet() );
    
    int maxDepth = TreeUtils.getMaxDepth( CTtree, "CONTENT" );
    TKOpenContentTreeIterator iterator = new TKOpenContentTreeIterator( CTtree, t.getListIterator(), "CE_NODE_LIST", maxDepth );
    t.set( "CT_IS_TOP", "1" );
    t.setListIterator( iterator );
    
    //Site Tree aufbauen:
    
    doSTChooseStart(t);
    t.set( "CT_MAXDEPTH_PLUS_TWO", Integer.toString(maxDepth+2));
    
    //Optionsliste fuer Anzahl der Kopien
    Integer number;
    TKVector aVector = new TKVector(Utils.MAX_DUPLICATION);
    for (int i = 1; i<= Utils.MAX_DUPLICATION; i++){
      number = new Integer(i);
      aVector.addElement(number);
    }  
       
    TKStandardIterator iteratorNum = new TKStandardIterator( aVector, t.getListIterator(), "NUMBERS_LIST", "NUMBER" );
    t.setListIterator( iteratorNum );

        evt.finishTemplate(t);
      }
      catch (Throwable e)
    {
      // TO DO : Analyze Exception !
      throw WebmanExceptionHandler.getException(e);
    }
  }
  
  public boolean isHandler(TKEvent evt)
  {
    return evt.getName().equalsIgnoreCase("DU_SECOND");
  }

  
  /************************************************************************
  /**
   * Startevent: Anzeigen der Maske zum Neuordnen des Sitetree
   * 
   *    
   * @param
   */
  public void doSTChooseStart(TKHTMLTemplate t ) throws Throwable
  {
    
    TKVector openNodes = new TKVector();
    openNodes.put( 0, "-1" );  // initial bei Root den Baum oeffnen
    TKStandardIterator iterator1 = new TKStandardIterator( openNodes, t.getListIterator(), "ST_OPEN_NODES", "ST_OPEN_NODES" );
    t.setListIterator( iterator1 );
    
    TKVector openCSNodes = new TKVector();
    openCSNodes.put( 0, "-1" );  
    // die Liste der jetzt offenen SiteTree nodes kommt in die  ContentTree  links
    TKStandardIterator iteratorSC1 = new TKStandardIterator( openCSNodes, t.getListIterator(), "CS_OPEN_NODES", "CS_OPEN_NODES" );
    t.setListIterator( iteratorSC1 );

    TKQuery q = TKDBManager.newQuery( TKDBSiteTreeGetOpen.class );
    q.setQueryParams( "NODE_ID", TKNull.NULL );
    q.execute();
    TKDBResult tree = new TKDBResult( q.fetchResultSet() );
    
    int maxDepth = TreeUtils.getMaxDepth( tree, "SITE" );
    TKOpenSiteTreeIterator iterator = new TKOpenSiteTreeIterator( tree, t.getListIterator(), "ST_NODE_LIST", maxDepth );
    t.setListIterator( iterator );

    t.set( "ST_MAXDEPTH_PLUS_TWO", Integer.toString(maxDepth+2));
    
  }
  
    
}
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.