Hmm - I'm not sure about this. According to the component template docs the template should live beside the component class (same package). I'm using the quickstart archetype, so my source files (template and java) physically exist in different directories, but when compiled end up in the same package. I'm also developing my test component as a separate project in eclipse and installing to my local maven repo, to get a real-world drop-and-run example. I'll try what you've suggested, but I think the issue has more to do w/ the component class. I'm sure you've noticed that the fck component class (Editor.java) extends an existing component. I don't know what exactly, but I suspect this has something to to with it...

At any rate, I'll post any findings. Thanks for your input and happy hacking!

chris

Kolesnikov, Alexander GNI wrote:
Hi Chris,

The only idea I have so far is that the problem is in HTML template that
goes into the same package as the page class. I would try creating a
component without template to test this. Do not have time at the moment
though, will try later.
I suspect that T5 with its pro-Maven orientation expects to see HTML
stuff in some other place, like resources.

I wonder if Ted could give us a hint on how he managed to package his
components...

Cheers,

Alexander

-----Original Message-----
From: Chris Lewis [mailto:[EMAIL PROTECTED] Sent: 19 September 2007 14:59
To: Tapestry users
Subject: Re: [T5] Can't make custom library work


Hi Alexander,

I too am curious about this - I'm in the same situation. I've started poking into ComponentClassResolverImpl but haven't caught anything yet. Do tell if you discover anything.

sincerely,
chris

Kolesnikov, Alexander GNI wrote:
Finally, logging shows that contributeComponentClassResolver() method in the library's module actually runs. Does Tapestry expect the components not to be POJOs? Questions, questions... Will go look into the source.

-----Original Message-----
From: Kolesnikov, Alexander GNI
Sent: 19 September 2007 13:45
To: Tapestry users
Subject: RE: [T5] Can't make custom library work


The additional detail is that if I change the reference in the manifest misspelling the module name, the application doesn't start, throwing ClassNotFoundException. Which proves that Tapestry does read the manifest and tries to load the library's module. Why it doesn't see the components then?

-----Original Message-----
From: Kolesnikov, Alexander GNI
Sent: 19 September 2007 11:45
To: Tapestry users
Subject: [T5] Can't make custom library work


I am trying to create and use a trivial custom library.

Here is the component:

TestComp.java:

package com.test.components;

public class TestComp {
        public String getMessage() {
                return "Test message";
        }
}

TestComp.html:

<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";>
        <p>${message}</p>
</html>

Here is its module:

package com.test;

import org.apache.tapestry.ioc.Configuration;
import org.apache.tapestry.services.LibraryMapping;

public class TestModule {
public static void contributeComponentClassResolver(Configuration<LibraryMapping>
configuration){
                configuration.add(new LibraryMapping("test",
"com.test"));
        }
}

Here is the manifest:

Manifest-Version: 1.0
Tapestry-Module-Classes: com.test.TestModule


The testlib.jar is packaged like so:

META-INF/MANIFEST.MF
com/test/TestModule.class
com/test/components/TestComp.class
com/test/components/TestComp.html

This JAR is placed into WEB-INF/lib of a T5 application and I am trying to display the test component like so:

<t:test.TestComp/>

The result is:

Unable to resolve component type 'test/TestComp' to a component class name. Available component types: core/ActionLink, core/BeanEditForm, core/Checkbox, core/ComponentMessages, core/Delegate, core/Errors, core/Form, core/FormSupportImpl, core/Grid, core/GridCell, core/GridColumns, core/GridPager, core/GridRows, core/If, core/Label, core/Loop, core/Output, core/OutputRaw, core/PageLink, core/Palette, core/PasswordField, core/Radio, core/RadioGroup, core/RenderObject, core/Select, core/Submit, core/TextArea, core/TextField, fckeditor/Editor, jscalendar/DatePicker.

Why Tapestry doesn't see my component I wonder?

----------------------------------------------------------------------
--
------
CONFIDENTIALITY NOTICE: If you have received this email in error,
please
immediately notify the sender by e-mail at the address shown.  This
email transmission may contain confidential information.  This
information is intended only for the use of the individual(s) or
entity
to whom it is intended even if addressed incorrectly.  Please delete
it
from your files if you are not the intended recipient.  Thank you for
your compliance.  Copyright 2007 CIGNA

========================================================================
======

----------------------------------------------------------------------
--
------
CONFIDENTIALITY NOTICE: If you have received this email in error,
please
immediately notify the sender by e-mail at the address shown.  This
email transmission may contain confidential information.  This
information is intended only for the use of the individual(s) or
entity
to whom it is intended even if addressed incorrectly.  Please delete
it
from your files if you are not the intended recipient.  Thank you for
your compliance.  Copyright 2007 CIGNA

========================================================================
======


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



----------------------------------------------------------------------
--------
CONFIDENTIALITY NOTICE: If you have received this email in error,
please immediately notify the sender by e-mail at the address shown.
This email transmission may contain confidential information.  This
information is intended only for the use of the individual(s) or entity
to whom it is intended even if addressed incorrectly.  Please delete it
from your files if you are not the intended recipient.  Thank you for
your compliance.  Copyright 2007 CIGNA
========================================================================
======
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




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



------------------------------------------------------------------------------
CONFIDENTIALITY NOTICE: If you have received this email in error, please 
immediately notify the sender by e-mail at the address shown.  This email 
transmission may contain confidential information.  This information is 
intended only for the use of the individual(s) or entity to whom it is intended 
even if addressed incorrectly.  Please delete it from your files if you are not 
the intended recipient.  Thank you for your compliance.  Copyright 2007 CIGNA
==============================================================================


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



Reply via email to