You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-user@portals.apache.org by Hugh Brien <hp...@home.com> on 2001/11/08 08:56:58 UTC

TestAction Class for Newbies

Since I am a newbie to Turbine and Jetspeed I thought I would contribute a
little test class I whipped up for testing my Action and Database Peer
classes.  When testing my action classes I got sick firing up Tomcat to test
functionality.  It also demonstrates creating service instances for calling.
Also this worked nicely with JBuilder. I hope some of you find this helpful.
Also to get this to work with Jetspeed you may have to modify your
JetspeedProperties file.
r,
Hugh
##########################################
# Remote Object Storage System           #
##########################################
#Specify the directory that Jetspeed should
#cache XML documents to.

#for Win32 systems specify your directory as:
cache.directory=/d:/temp/JetspeedDocumentCache
#Default: /tmp/JetspeedDocumentCache
cache.directory=G:/jakarta-tomcat-3.2.3/webapps/jetspeed/WEB-INF/cache
#cache.directory=${webapp.dir}/WEB-INF/cache


#########################################
# Registry Service                      #
#########################################
services.Registry.classname=org.apache.jetspeed.services.registry.CastorRegi
stryService
#services.Registry.directory=${webapp.dir}/WEB-INF/conf/services.Registry.di
rectory=G:/jakarta-tomcat-3.2.3/webapps/jetspeed/WEB-INF
/conf/
services.Registry.mapping=G:/jakarta-tomcat-3.2.3/webapps/jetspeed/WEB-INF/c
onf/registry.xml
#services.Registry.mapping=${webapp.dir}/WEB-INF/conf/registry.xml


###########################################################################3
3
package com.novuscg.modules.actions;

import org.apache.turbine.util.TurbineConfig;
import org.apache.turbine.util.RunData;
import org.apache.turbine.services.TurbineServices;

import org.apache.turbine.services.db.*;
import org.apache.turbine.services.rundata.*;
import org.apache.turbine.services.cache.*;
import org.apache.turbine.services.security.*;
import org.apache.turbine.services.servlet.*;
import org.apache.turbine.services.pool.*;
import org.apache.turbine.services.factory.*;
import org.apache.turbine.services.pool.*;
import org.apache.turbine.services.resources.*;
import org.apache.turbine.services.assemblerbroker.*;
import org.apache.turbine.services.intake.*;
import org.apache.turbine.services.jsp.*;
import org.apache.turbine.services.localization.*;
import org.apache.turbine.services.mimetype.*;
import org.apache.turbine.services.schedule.*;
import org.apache.turbine.services.template.*;
import org.apache.turbine.services.uniqueid.*;
import org.apache.turbine.services.velocity.*;
import org.apache.turbine.services.xmlrpc.*;
import org.apache.turbine.services.xslt.*;


import org.apache.turbine.om.security.TurbineUser;
import org.apache.turbine.om.security.User;


import org.apache.velocity.context.Context;
import org.apache.velocity.VelocityContext;

import org.apache.turbine.modules.actions.*;


public class TestAction extends VelocityAction
{
    SecurityService securityService;
    GlobalCacheService cacheService;
    RunDataService runDataService;
    ServletService servletService;
    PoolService poolService;
    FactoryService factoryService;
    ResourceService resourceService;

    public TestAction()
    {
        TurbineConfig config = new
TurbineConfig("G:/jakarta-tomcat-3.2.3/webapps/jetspeed",
"WEB-INF/conf/TurbineResources.properties");
        config.init();

        //We could use the Static Classes such as TurbineSecurity to invoke
these classes
        //however I am instatiating them explicit for demonstration
purposes. I don't believe
        //services have and associated static class for calling service
methods
        //securityService.getAllGroups();  is the same as
TurbineSecurity.getAllGroups();
        securityService =
(SecurityService)TurbineServices.getInstance().getService(SecurityService.SE
RVICE_NAME);
        cacheService =
(GlobalCacheService)TurbineServices.getInstance().getService(GlobalCacheServ
ice.SERVICE_NAME);
        poolService =
(PoolService)TurbineServices.getInstance().getService(PoolService.SERVICE_NA
ME);
        factoryService  =
(FactoryService)TurbineServices.getInstance().getService(FactoryService.SERV
ICE_NAME);
        resourceService =
(ResourceService)TurbineServices.getInstance().getService(ResourceService.SE
RVICE_NAME);

    }

    public void initRundata(RunData runData)
    {
        try
        {
            runData.setAction("TestAction");
            User user = securityService.getUser("hbrien");
            runData.setUser(user);
        }
        catch (org.apache.turbine.util.security.UnknownEntityException ex)
        {
            ex.printStackTrace();
        }
        catch (org.apache.turbine.util.security.DataBackendException dbe)
        {
            dbe.printStackTrace();
        }

    }

    public void initVelocityContext(Context context)
    {
            context.put("TEST", "TEST");
            context.put("TEST1", "TEST");
            context.put("TEST2", "TEST");
    }

    public void doPerform(RunData runData, Context context) throws
java.lang.Exception
    {
        System.out.println("Starting Action");
        User user = runData.getUser();
        String testStr = (String)context.get("TEST");
        System.out.println(user.getUserName());
        System.out.println(testStr);
        System.out.println("Ending Action");
    }
    public static void main(String[] args)
    {
        TestAction testAction = new TestAction();
        //Create a RunData object to pass to doPerform
        RunData rundata = new DefaultTurbineRunData();
        //Get a Context object to pass to doPerform
        Context context = new VelocityContext();
        //initialize RunData
        testAction.initRundata(rundata);
        //initialize Context
        testAction.initVelocityContext(context);
        try
        {
            //Run Action
            testAction.doPerform(rundata, context);
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
        System.exit(0);
    }
}


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>