TestData.java :  » Content-Management-System » TransferCM » com » methodhead » Java Open Source

Java Open Source » Content Management System » TransferCM 
TransferCM » com » methodhead » TestData.java
/* 
 * Copyright (C) 2006 Methodhead Software LLC.  All rights reserved.
 * 
 * This file is part of TransferCM.
 * 
 * TransferCM is free software; you can redistribute it and/or modify it under the
 * terms of the GNU General Public License as published by the Free Software
 * Foundation; either version 2 of the License, or (at your option) any later
 * version.
 * 
 * TransferCM is distributed in the hope that it will be useful, but WITHOUT ANY
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * TransferCM; if not, write to the Free Software Foundation, Inc., 51 Franklin St,
 * Fifth Floor, Boston, MA  02110-1301  USA
 */

package com.methodhead;

import org.apache.commons.beanutils.*;
import com.methodhead.persistable.*;
import com.methodhead.sitecontext.*;
import com.methodhead.property.*;
import com.methodhead.reg.*;
import com.methodhead.transfer.*;
import com.methodhead.shim.*;
import java.sql.*;
import org.apache.commons.io.*;
import java.io.*;
import java.util.*;
import org.apache.commons.io.filefilter.*;

public class TestData {

  // constructors /////////////////////////////////////////////////////////////

  // constants ////////////////////////////////////////////////////////////////

  // classes //////////////////////////////////////////////////////////////////

  // methods //////////////////////////////////////////////////////////////////

  public static void createSiteContexts() {
    siteContext1 = new SiteContext();
    siteContext1.getDomains().add( "site1.com" );
    siteContext1.saveNew();

    siteContext2 = new SiteContext();
    siteContext2.getDomains().add( "site2.com" );
    siteContext2.getDomains().add( "www.site2.com" );
    siteContext2.saveNew();

    siteContext3 = new SiteContext();
    siteContext3.getDomains().add( "site3.com" );
    siteContext3.setString( "path", "path" );
    siteContext3.saveNew();
  }

  public static void createProperties() {
    Property.setProperty( SiteContext.getDefaultContext(), SiteExtension.PROPERTY_EXTENSIONS, "com.methodhead.transfer.MockExtension,com.methodhead.transfer.MockExtension2", "", new Boolean( true ) );
  }

  public static void createSiteExtensions() {
    createUsers();
    createProperties();

    siteExtension1 = new SiteExtension();
    siteExtension1.setInt( "sitecontext_id", siteContext1.getInt( "id" ) );
    siteExtension1.setString( "class_name", "com.methodhead.transfer.MockExtension" );
    siteExtension1.setBoolean( "enabled", true );
    siteExtension1.saveNew();
  }

  public static void createSiteContextAikps()
  throws
    SQLException {
    createDynaClassAndTable();

    siteContextAikp1 = new SiteContextAikp( dynaClass );
    siteContextAikp1.setSiteContext( siteContext1 );
    siteContextAikp1.setString( "field", "siteContextAikp1" );
    siteContextAikp1.saveNew();

    siteContextAikp2 = new SiteContextAikp( dynaClass );
    siteContextAikp2.setSiteContext( siteContext1 );
    siteContextAikp2.setString( "field", "siteContextAikp2" );
    siteContextAikp2.saveNew();

    siteContextAikp3 = new SiteContextAikp( dynaClass );
    siteContextAikp3.setSiteContext( siteContext2 );
    siteContextAikp3.setString( "field", "siteContextAikp3" );
    siteContextAikp3.saveNew();
  }

  public static void createDynaClassAndTable()
  throws
    SQLException {
    createSiteContexts();

    try {
      ConnectionSingleton.runUpdate( "DROP TABLE sitecontextaikp" );
    }
    catch ( SQLException e ) {
    }
    ConnectionSingleton.runUpdate( "CREATE TABLE sitecontextaikp (id INT NOT NULL, sitecontext_id INT NOT NULL, field VARCHAR(64) NOT NULL)" );

    DynaProperty[] dynaProperties =
      new DynaProperty[] {
        new DynaProperty( "id", Integer.class ),
        new DynaProperty( "sitecontext_id", Integer.class ),
        new DynaProperty( "field", String.class )
      };

    dynaClass =
      new BasicDynaClass(
        "sitecontextaikp", SiteContextAikp.class, dynaProperties );
  }

  public static void createRoles() {
    createSiteContexts();

    role1 = new Role();
    role1.setSiteContext( siteContext1 );
    role1.setName( DefaultTransferPolicy.ROLE_SYSADMIN );

    role2 = new Role();
    role2.setSiteContext( siteContext1 );
    role2.setName( DefaultTransferPolicy.ROLE_SITEADMIN );

    role3 = new Role();
    role3.setSiteContext( siteContext2 );
    role3.setName( DefaultTransferPolicy.ROLE_WEBMASTER );

    role4 = new Role();
    role4.setSiteContext( SiteContext.getDefaultContext() );
    role4.setName( DefaultTransferPolicy.ROLE_SYSADMIN );

    role5 = new Role();
    role5.setSiteContext( siteContext3 );
    role5.setName( DefaultTransferPolicy.ROLE_WEBMASTER );
  }

  public static void createUsers() {
    createRoles();

    user1 = new User();
    user1.setString( "password", "password" );
    user1.getRoles().add( role1 );
    user1.getRoles().add( role4 ); // need this for a lot of tests
    user1.getContact().setString( "firstname", "User1" );
    user1.getContact().setString( "lastname", "BBB" );
    user1.getContact().setString( "email", "test1@methodhead.com" );
    user1.saveNew();

    user2 = new User();
    user2.setString( "password", "password" );
    user2.getRoles().add( role2 );
    user2.getContact().setString( "firstname", "User2" );
    user2.getContact().setString( "lastname", "CCC" );
    user2.getContact().setString( "email", "test2@methodhead.com" );
    user2.saveNew();

    user3 = new User();
    user3.setString( "password", "password" );
    user3.getRoles().add( role3 );
    user3.getRoles().add( role5 );
    user3.getContact().setString( "firstname", "User3" );
    user3.getContact().setString( "lastname", "AAA" );
    user3.getContact().setString( "email", "test3@methodhead.com" );
    user3.saveNew();
  }

  public static void createPages() {
    createSiteContexts();

    Panel panel = null;

    panel = new Panel();
    panel.setName( "body" );
    panel.setModuleClass( "com.methodhead.shim.MockModule" );

    page1 = new Page();
    page1.setSiteContext( SiteContext.getDefaultContext() );
    page1.set( "title", "Page1" );
    page1.set( "alttitle", "altPage1" );
    page1.set( "aliasname", "page1" );
    page1.setBoolean( "hidden", false );
    page1.setString( "template", "template.jsp" );
    page1.set( "metadescription", "metadescription" );
    page1.set( "metakeywords", "metakeywords" );
    page1.addPanel( panel );
    page1.saveNew();

    page2 = new Page();
    page2.setSiteContext( SiteContext.getDefaultContext() );
    page2.saveNew();

    page3 = new Page();
    page3.setSiteContext( SiteContext.getDefaultContext() );
    page3.saveNew();

    page4 = new Page();
    page4.setSiteContext( SiteContext.getDefaultContext() );
    page4.saveNew();

    page5 = new Page();
    page5.setSiteContext( SiteContext.getDefaultContext() );
    page5.saveNew();
  }

  public static void createLinks() {
    createPages();

    // Link1
    //   Link2
    //     Link3
    //   Link4
    //   Link5
    link1 = new Link();
    link1.setTitle( "Link1" );
    link1.setPageId( page1.getInt( "id" ) );

    link2 = new Link();
    link2.setTitle( "Link2" );
    link2.setPageId( page2.getInt( "id" ) );

    link3 = new Link();
    link3.setTitle( "Link3" );
    link3.setPageId( page3.getInt( "id" ) );

    link4 = new Link();
    link4.setTitle( "Link4" );
    link4.setPageId( page4.getInt( "id" ) );

    link5 = new Link();
    link5.setTitle( "Link5" );
    link5.setPageId( page5.getInt( "id" ) );

    link1.add( link2 );
    link2.add( link3 );
    link1.add( link4 );
    link1.add( link5 );
  }

  public static void createSiteMap() {
    createLinks();

    siteMap1 = new SiteMap();
    siteMap1.setSiteContext( SiteContext.getDefaultContext() );
    siteMap1.setRoot( link1 );
    siteMap1.save();
  }

  public static void createPageNotFoundPage() {
    createSiteMap();

    pageNotFoundPage = new Page();
    pageNotFoundPage.setSiteContext( SiteContext.getDefaultContext() );
    pageNotFoundPage.set( "title", "Page Not Found Page" );
    pageNotFoundPage.set( "aliasname", "pagenotfound" );
    pageNotFoundPage.setBoolean( "hidden", false );
    pageNotFoundPage.setString( "template", "template3.jsp" ); // we'll use this to distinguish this page in tests
    pageNotFoundPage.saveNew();

    pageNotFoundLink = new Link();
    pageNotFoundLink.setTitle( "Page Not Found Page" );
    pageNotFoundLink.setPageId( pageNotFoundPage.getInt( "id" ) );

    link1.add( pageNotFoundLink );

    siteMap1.save();
  }

  public static void createWebappFiles(
    File webappDir )
  throws
    IOException {

    //
    // delete test files if they exist
    //
    FileUtils.deleteDirectory( new File( webappDir, "0" ) );
    FileUtils.deleteDirectory( new File( webappDir, "1" ) );
    FileUtils.deleteDirectory( new File( webappDir, "2" ) );
    FileUtils.deleteDirectory( new File( webappDir, "3" ) );
    FileUtils.deleteDirectory( new File( webappDir, "WEB-INF/resources" ) );

    //
    // copy files; we have to skip svn directories because cactus doesn't seem
    // to delete them when starting tests and this hangs up the process
    //
    for ( Iterator iter = FileUtils.iterateFiles( new File( "support/webapp", "" ), TrueFileFilter.INSTANCE, FileFilterUtils.makeSVNAware( TrueFileFilter.INSTANCE ) ); iter.hasNext(); ) {
      File file = ( File )iter.next();
      FileUtils.copyFile( file, new File( webappDir, file.getPath().substring( "support/webapp/".length() ) ) );
    }
  }

  // properties ///////////////////////////////////////////////////////////////

  // attributes ///////////////////////////////////////////////////////////////

  public static SiteContext siteContext1 = null;
  public static SiteContext siteContext2 = null;
  public static SiteContext siteContext3 = null;

  public static SiteExtension siteExtension1 = null;

  public static SiteContextAikp siteContextAikp1 = null;
  public static SiteContextAikp siteContextAikp2 = null;
  public static SiteContextAikp siteContextAikp3 = null;

  public static DynaClass dynaClass = null;

  public static Role role1 = null;
  public static Role role2 = null;
  public static Role role3 = null;
  public static Role role4 = null;
  public static Role role5 = null;

  public static User user1 = null;
  public static User user2 = null;
  public static User user3 = null;

  public static Page page1 = null;
  public static Page page2 = null;
  public static Page page3 = null;
  public static Page page4 = null;
  public static Page page5 = null;
  public static Page pageNotFoundPage = null;

  public static Link link1 = null;
  public static Link link2 = null;
  public static Link link3 = null;
  public static Link link4 = null;
  public static Link link5 = null;
  public static Link pageNotFoundLink = null;

  public static SiteMap siteMap1 = null;
}
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.