Hi all,

I am currently trying to create my own action for
cocoon 2.  Moreover, I am trying to use the
AbstractMultiAction class so I can call methods on the
action via a http post form field.  Unfortunately I
have been able to compile it, but get a Class Not
Found Exception when I try access the URL that points
to the sitemap with the mounted action.  I am not
trying to use the action, I just have the action
mounted.  Below is my java action code and I have
attached my stack trace/sitemap as one text file.  Any
help would be appreciated.  I am using red hat 8.0,
j2sdk 1.4, and a cocoon 2.x build from about a month
ago.

Thanks in Advance


*****************ACTION JAVA CODE******************
/*
 * TaskAction.java
 *
 * Created on January 14, 2003, 12:16 PM
 */
package org.apache.cocoon.acting;
/**
 *
 * @author  Julian
 */ 

import org.apache.avalon.framework.context.Context;
import
org.apache.avalon.framework.context.ContextException;
import
org.apache.avalon.framework.context.Contextualizable;
import
org.apache.avalon.framework.parameters.ParameterException;
import
org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.thread.ThreadSafe;

import org.apache.cocoon.Constants;
import org.apache.cocoon.ProcessingException;
import org.apache.cocoon.acting.AbstractMultiAction;
import
org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Redirector;
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.environment.SourceResolver;

import java.util.Map;

import com.ethidium.wEMR.classes.Task;
import com.ethidium.wEMR.classes.TaskManager;
import com.ethidium.wEMR.classes.TaskGroup;

public class TaskAction extends AbstractMultiAction
implements ThreadSafe {
    
  public static final String TASK_ACTION =
"task-action";
  public static final String SUBJECT_NODE =
"task-subject-node";
  public static final String CATEGORY =
"task-category";
  public static final String DEST_CATEGORY =
"task-dest-category";
  public static final String DEST_SUBJECT_NODE =
"task-dest-subject-node";
  public static final String TASK_TITLE =
"task-title";
  public static final String TASK_DESCRIPTION =
"task-description";
  public static final String TASK_DUE_DATE =
"task-due-date";
  public static final String TASK_PRIORITY =
"task-priority";
  public static final String TASK_STATUS =
"task-status";
  public static final String TASK_URI = "task-uri";
  public static final String TASK_OWNER =
"task-owner";
  
  /*public Map act (Redirector redirector, 
                  SourceResolver resolver, 
                  Map objectModel, 
                  String source, 
                  Parameters params) {
    Map sitemapParams = new HashMap();
    sitemapParams.put("world", "hello");

    Request request =
ObjectModelHelper.getRequest(objectModel);

    action = request.getAttribute("action");
    
    return sitemapParams;
  }*/
      
  public Map doCreateTask(Redirector redirector,
                   SourceResolver resolver,
                   Map objectModel,
                   String src,
                   Parameters parameters) throws
Exception {
                       
        Request request =
ObjectModelHelper.getRequest(objectModel);
    
        //determine dest of task to be created
        String subjectNode =
parameters.getParameter(SUBJECT_NODE,
                             
request.getParameter(SUBJECT_NODE));
        String category =
parameters.getParameter(CATEGORY,
                             
request.getParameter(CATEGORY));
        //get task values
        String taskTitle =
parameters.getParameter(TASK_TITLE,
                             
request.getParameter(TASK_TITLE));
        String taskDescription =
parameters.getParameter(TASK_DESCRIPTION,
                             
request.getParameter(TASK_DESCRIPTION));
        String taskDueDate =
parameters.getParameter(TASK_DUE_DATE,
                             
request.getParameter(TASK_DUE_DATE));
        String taskPriority =
parameters.getParameter(TASK_PRIORITY,
                             
request.getParameter(TASK_PRIORITY));
        String taskStatus =
parameters.getParameter(TASK_STATUS,
                             
request.getParameter(TASK_STATUS));
        String taskURI =
parameters.getParameter(TASK_URI,
                             
request.getParameter(TASK_URI));
        String taskOwner =
parameters.getParameter(TASK_OWNER,
                             
request.getParameter(TASK_OWNER));
        
        getLogger().info("create task "+taskTitle+" at
"+subjectNode+"/"+category);
        
        TaskManager taskManager = new TaskManager();
        Task task = new Task(taskOwner, taskTitle,
taskDescription, taskURI, taskDueDate, taskPriority,
taskStatus);
        taskManager.storeTask(subjectNode, category,
task);
    
        return EMPTY_MAP;
  }
}

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com
************************STACKTRACE****************************

2003-01-20 15:37:06 StandardWrapperValve[Cocoon2]: Servlet.service() for servlet 
Cocoon2 threw exception
javax.servlet.ServletException: Servlet execution threw an exception
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
com.ethidium.java.servlet.filter.SessionFilter.doFilter(SessionFilter.java:144)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
com.ethidium.java.servlet.filter.RequestFilter.doFilter(RequestFilter.java:107)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:471)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at 
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
        at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
        at java.lang.Thread.run(Thread.java:536)
----- Root Cause -----
java.lang.NoClassDefFoundError: org/apache/cocoon/acting/AbstractMultiAction
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
        at 
org.apache.catalina.loader.StandardClassLoader.findClass(StandardClassLoader.java:621)
        at 
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:958)
        at 
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:857)
        at 
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:941)
        at 
org.apache.catalina.loader.StandardClassLoader.loadClass(StandardClassLoader.java:857)
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1414)
        at 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1274)
        at 
org.apache.cocoon.components.ExtendedComponentSelector.configure(ExtendedComponentSelector.java:264)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector.configure(ComponentsSelector.java:185)
        at 
org.apache.avalon.excalibur.component.DefaultComponentFactory.newInstance(DefaultComponentFactory.java:264)
        at 
org.apache.avalon.excalibur.component.ThreadSafeComponentHandler.initialize(ThreadSafeComponentHandler.java:98)
        at 
org.apache.avalon.excalibur.component.ExcaliburComponentManager.initialize(ExcaliburComponentManager.java:513)
        at 
org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:273)
        at 
org.apache.cocoon.components.LifecycleHelper.setupComponent(LifecycleHelper.java:188)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.SitemapLanguage.createComponentManager(SitemapLanguage.java:108)
        at 
org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:409)
        at 
org.apache.cocoon.components.treeprocessor.DefaultTreeBuilder.build(DefaultTreeBuilder.java:390)
        at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.setupRootNode(TreeProcessor.java:392)
        at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:311)
        at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:299)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:134)
        at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:164)
        at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:153)
        at 
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)
        at 
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:143)
        at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:317)
        at 
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:299)
        at org.apache.cocoon.Cocoon.process(Cocoon.java:596)
        at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1104)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
com.ethidium.java.servlet.filter.SessionFilter.doFilter(SessionFilter.java:144)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
com.ethidium.java.servlet.filter.RequestFilter.doFilter(RequestFilter.java:107)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:471)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at 
org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at 
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1040)
        at 
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1151)
        at java.lang.Thread.run(Thread.java:536)

***************************SITEMAP********************************************
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>

<!-- =========================== Components =================================== -->

 <map:components>
  <map:generators default="file"/>

  <map:transformers default="xslt"/>

  <map:readers default="resource"/>
  <map:serializers default="html">
   <map:serializer logger="sitemap.serializer.xml" mime-type="text/xml" name="xml"
                   src="org.apache.cocoon.serialization.XMLSerializer"/>

   <map:serializer logger="sitemap.serializer.html" mime-type="text/html" name="html" 
                   pool-grow="4" pool-max="32" pool-min="4" 
                   src="org.apache.cocoon.serialization.HTMLSerializer">
    <buffer-size>1024</buffer-size>
   </map:serializer>
  </map:serializers>


  <map:matchers default="wildcard"/>
  <map:selectors default="browser"/>

  <map:actions>
   <map:action name="eTask" src="com.ethidium.cocoon.action.TaskAction"/>

   <!--map:action name="auth-protect" logger="sitemap.action.auth-protect" 
               src="org.apache.cocoon.webapps.authentication.acting.AuthAction"/>

   <map:action name="auth-login" logger="sitemap.action.auth-login"
               src="org.apache.cocoon.webapps.authentication.acting.LoginAction"/>
   <map:action name="auth-logout" logger="sitemap.action.auth-logout"
               src="org.apache.cocoon.webapps.authentication.acting.LogoutAction"/>
   <map:action name="auth-loggedIn" logger="sitemap.action.auth-loggedIn"
               src="org.apache.cocoon.webapps.authentication.acting.LoggedInAction"/-->
  </map:actions>

 </map:components>


<!-- =========================== Pipelines ================================= -->

 <map:pipelines>
  <!--map:component-configurations>
   <authentication-manager>
    <handlers>
     <handler name="slidehandler" xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
      <redirect-to    uri="cocoon://samples/slide/login.html"/>
      <authentication uri="cocoon:raw:/authenticate"/>
     </handler>
    </handlers>
   </authentication-manager>
  </map:component-configurations-->

  <map:pipeline>

   
        <map:match pattern="**">
                <map:match type="request-parameter" pattern="xpath">
                        <map:generate 
src="xmldb:xindice://localhost:4080/db/{../1}#{1}"/>
                        <map:transform src="task.xsl"/>
                        <map:serialize type="html"/>
                </map:match>
        <map:generate src="xmldb:xindice://localhost:4080/db/{1}"/>
        <map:transform src="task.xsl"/>
        <map:serialize type="html"/>
        </map:match>

 </map:pipeline>
 </map:pipelines>
</map:sitemap>

---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to