Hello all,

this is my first post after being a few (6 or 7) years from the list, with
a new problem. ;-)

I am writing a web application for which I must be able to upload a text
file to the server; process this file (extract some data) en insert this
data into a database.

I am using Tomcat 6.0, Cocoon 2.1.10 and Java 1.6 on Win XP Professional
(dutch).

The way I want to work:
1) upload the file
2) process the file with a custom written action
3) do all the sql-stuff with an xsp page

Processing/Reading the transformed data in step 3 fails.

Uploading the file works.

Processing the file with the custom action also works. To this goal I have
written a few Java-classes:
Upload - the action used to handle the upload data
Frequentie - a container for my data - used in Upload
Diagram - a container for data used in the class Frequentie

I have not made a package for these classes (not needed for this app).

I have placed these classes in the directory
%TOMCAT_HOME%/webapps/cocoon/WEB-INF/classes

In my sitemap I have added this action
<map:action name="upload" src="Upload"/>

The pipeline where I am using this action is defined as follows:
<map:match pattern="add-upload.xml">

<map:act type="upload">
        <map:generate type="serverpages" src="add/add-upload.xsp">
                <map:parameter name="use-request-parameters" value="true"/>
        </map:generate>
</map:act>
<map:serialize type="xml"/>
</map:match>

The pipeline works.
I can process this data in my class Upload.

In this class Upload I generate a vector with instances of the class
'Frequentie' which I want to pass in the following way to my xsp-page:
(found this method on
http://www.theserverside.com/tt/articles/article.tss?l=Cocoon )

(in the act method)
<code_snippet>
Vector frequenties = new Vector();
Frequentie newF = extractData(datasheet);
frequenties.add(newF);
// there are in fact a series of 'Frequentie' instances that are added
request.setAttribute("frequenties", frequenties);
</code_snippet>

In my XSP-page I try to access this in the following way:

Vector frequenties = (Vector) <xsp-request:get-attribute
name="frequenties"/>;
Iterator it = frequenties.iterator();

// test
while (it.hasNext())
{
        Frequentie f = (Frequentie) it.next();
        <tr>
                <td><xsp:expr>f.getNaam()</xsp:expr></td>
        </tr>
}

But the strange thing (in my eyes) is that the class Frequentie is not
known in the context of the XSP-page. I don't know what to do to aid this.

I have already put (a copy of) my classes in the cocoon/WEB-INF/lib
directory; and in the %TOMCAT_HOME%/lib directory. Made a jar of my
classes and put them in those directories; added the jar to the general
classpath, but to no avail.

This is the error-message I got:

org.apache.cocoon.components.language.LanguageException: Error compiling
add_upload_xsp:
ERROR 1 (org\apache\cocoon\www\chirplus\add\add_upload_xsp.java):
...
}

while (it.hasNext())
{

// start error (lines 364-364) "Frequentie cannot be resolved or is not a
type"
Frequentie f = (Frequentie) it.next();

// end error


_startElem(
"",

...
ERROR 2 (org\apache\cocoon\www\chirplus\add\add_upload_xsp.java):
...
}

while (it.hasNext())
{

// start error (lines 364-364) "Frequentie cannot be resolved or is not a
type"
Frequentie f = (Frequentie) it.next();

// end error


_startElem(
"",

...
Line 364, column 0: Frequentie cannot be resolved or is not a type
Line 364, column 0: Frequentie cannot be resolved or is not a type

What am I doing wrong? What have I forgotten to configure?

I need this solved asap, but I am running out of ideas (and time).

Thanks in advance


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to