I have made a component using tacos comps, but when including a partial
link I get the error
Failed to compute checksum for resource {1}.
java.lang.NullPointerException Stack Trace:
*
org.apache.tapestry.asset.ResourceChecksumSourceImpl.computeChecksum(ResourceChecksumSourceImpl.java:97)
*
org.apache.tapestry.asset.ResourceChecksumSourceImpl.getChecksum(ResourceChecksumSourceImpl.java:66)
* org.apache.tapestry.asset.PrivateAsset.buildURL(PrivateAsset.java:77)
* org.apache.tapestry.html.Body.writeExternalScripts(Body.java:226)
* org.apache.tapestry.html.Body.writeScript(Body.java:
[snip]If I use partial link (inside a part component) I get this error. bundle the source of tacos inside my own code-tree. This tree is jarred, and templates/components are extracted from the classpath. I really don't see what I might be doing wrong, can it be that tacos:PartialLink doesn't work in a classpath environment and only when fetched from the context? If I remove the two partial links in my code, the comp works as expected. I am really at loss here, anybody who can help? Thanks. -- Olve Sæther Hansen <[EMAIL PROTECTED]> Intermedia - Aksis / Unifob AS
package no.imb.bite.framework.components;
/**
* Created by: olve
* date: 11.aug.2005, at time: 14:44:00
*
* @author $Author: olve $
* @version $Revision: 1.1 $
* @copyright InterMedia, Unifob AS
*/
import no.imb.bite.framework.web.BiteBaseComponent;
import no.imb.bite.model.FileRef;
import no.imb.bite.service.FileBankManager;
import org.apache.log4j.Logger;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.valid.IValidationDelegate;
/**
* TODO: Document class!
*
*/
public abstract class FileRefEditor extends BiteBaseComponent {
protected Logger log = Logger.getLogger(getClass());
public static final String FILE_RESOURCE="fileResource";
public FileRefEditor(){
}
public abstract FileRef getFileRef();
public abstract void setFileRef(FileRef fileRef);
public abstract FileBankManager getFileBankManager();
public abstract void setFileBankManager(FileBankManager manager);
public abstract void setReadMode(Boolean b);
public abstract Boolean getReadMode();
public void editMode(IRequestCycle cycle) {
if (log.isDebugEnabled()) {
log.debug("editMode, id: "+cycle.getServiceParameters()[0]);
}
setReadMode(false);
}
public void readMode(IRequestCycle cycle) {
if (log.isDebugEnabled()) {
log.debug("readMode, id: " + cycle.getServiceParameters()[0]);
}
setReadMode(true);
}
public void storeResource(IRequestCycle cycle) {
IValidationDelegate delegate = (IValidationDelegate) getBeans().getBean("delegate");
if (delegate.getHasErrors()) {
return;
}
//TODO: Store resource
}
}
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE component-specification PUBLIC "-//Apache Software Foundation//Tapestry Specification 3.0//EN" "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd"> <component-specification allow-body="no" allow-informal-parameters="yes" class="no.imb.bite.framework.components.FileRefEditor"> <description> A component for enabling editing and viewing of FileRefs and friends. </description> <parameter name="fileRef" direction="in" required="yes" type="no.imb.bite.model.FileRef"> <description> The file ref to be edited/viewed </description> </parameter> <parameter name="edit" direction="in" required="no" default-value="false" type="java.lang.Boolean"> <description> If this file ref should be edited or not. </description> </parameter> <property-specification name="fileBankManager" type="no.imb.bite.service.FileBankManager"/> <property-specification name="readMode" type="java.lang.Boolean" persistent="no" initial-value="true"/> <component id="fileResource" inherit-informal-parameters="no" type="Resource"> <binding name="icon" expression="true"/> <binding name="disableLink" expression="false"/> <binding name="mediaInfo" expression="fileRef"/> </component> <component id="formResource" type="tacos:PartialForm"> <binding name="delegate" expression="beans.delegate"/> <binding name="listener" expression="listeners.storeResource"/> </component> <component id="resourcePart" type="tacos:Part"> <binding name="id" expression="fileRef.id"/> <binding name="optimize" expression="false"/> </component> <component id="partialEdit" type="tacos:PartialLink"> <binding name="parameters" expression="fileRef.id"/> <binding name="listener" expression="listeners.editMode"/> </component> <component id="partialRead" type="tacos:PartialLink"> <binding name="parameters" expression="fileRef.id"/> <binding name="listener" expression="listeners.readMode"/> </component> <bean name="delegate" class="org.apache.tapestry.valid.ValidationDelegate"/> <bean name="textValidator" class="org.apache.tapestry.valid.StringValidator"> <set-property name="required" expression="true"/> </bean> </component-specification>
signature.asc
Description: This is a digitally signed message part
