Is the following in your hivemodule.xml ?
<contribution
configuration-id="tapestry.services.ApplicationServices">
<service name="ImageService"
object="service:ImageService"/>
</contribution>
Shing
--- Deon Visagie <[EMAIL PROTECTED]> wrote:
> Hi
>
> I am trying to inject a service so that I preview
> images stored in a blob in
> the database. I have the following code but it gives
> me an error that the
> service can't be found when I view that particular
> page.
>
>
> hivemodule.xml
> --------------
> <contribution
> configuration-id="tapestry.url.ServiceEncoders">
> <page-service-encoder id="page" extension="html"
> service="page"/>
> <direct-service-encoder id="direct"
> stateless-extension="direct"
> stateful-extension="sdirect"/>
> </contribution>
>
> <contribution
>
configuration-id="tapestry.services.FactoryServices">
> <service name="ImageService"
> object="service:ImageService"/>
> </contribution>
>
> <service-point id="ImageService"
>
interface="org.apache.tapestry.engine.IEngineService">
> <invoke-factory>
> <construct
> class="mypackagename.ImageService">
> <set-object property="linkFactory"
> value="infrastructure:linkFactory"/>
> </construct>
> </invoke-factory>
> </service-point>
>
>
> ImageService.java
> -----------------
>
> public class ImageService
> implements IEngineService
> {
> private LinkFactory linkFactory;
>
> public ILink getLink(boolean isPost, Object
> parameters)
> {
> Object[] parameterArray = (Object[]) parameters;
> Object reportId = parameterArray[0];
>
> Map serviceParameters = new HashMap();
> serviceParameters.put(ServiceConstants.SERVICE,
> getName());
> serviceParameters.put(ServiceConstants.PARAMETER,
> new
> Object[] {reportId});
>
> return linkFactory.constructLink(this, isPost,
> serviceParameters, true);
> }
>
> public String getName()
> {
> return "ImageService";
> }
>
> public void service(IRequestCycle cycle)
> throws IOException
> {
> // ...
> }
>
> /**
> * @return Returns the linkFactory.
> */
> public LinkFactory getLinkFactory()
> {
> return linkFactory;
> }
>
> /**
> * @param linkFactory The linkFactory to set.
> */
> public void setLinkFactory(LinkFactory linkFactory)
> {
> this.linkFactory = linkFactory;
> }
> }
>
> And my java class for the page
> ------------------------------
>
> @InjectObject("service:ImageService")
> public abstract IEngineService getImageService();
>
>
> The @InjectObject line throws the following error:
> Service point
> tapestry.ImageService does not exist
>
> What am I missing? I know my hivemodule.xml file is
> being read as the
> friendly urls work fine.
>
> I am including my stack trace:
>
>
---------------------------------------------------------
> Service point tapestry.ImageService does not exist.
> Stack Trace:
>
org.apache.hivemind.impl.RegistryInfrastructureImpl.getServicePoint(Registry
> InfrastructureImpl.java:179)
>
org.apache.hivemind.impl.RegistryInfrastructureImpl.getService(RegistryInfra
> structureImpl.java:205)
>
org.apache.hivemind.impl.ModuleImpl.getService(ModuleImpl.java:105)
>
>
org.apache.hivemind.service.impl.ServiceObjectProvider.provideObject(Service
> ObjectProvider.java:40)
>
$ObjectProvider_10bd7c9a69b.provideObject($ObjectProvider_10bd7c9a69b.java)
>
>
org.apache.hivemind.service.impl.ObjectTranslator.translate(ObjectTranslator
> .java:75)
>
$Translator_10bd7c9a6c5.translate($Translator_10bd7c9a6c5.java)
>
>
org.apache.tapestry.services.impl.InjectedValueProviderImpl.obtainValue(Inje
> ctedValueProviderImpl.java:38)
>
$InjectedValueProvider_10bd7c9a7b9.obtainValue($InjectedValueProvider_10bd7c
> 9a7b9.java)
>
org.apache.tapestry.enhance.InjectObjectWorker.injectObject(InjectObjectWork
> er.java:59)
>
org.apache.tapestry.annotations.InjectObjectAnnotationWorker.performEnhancem
> ent(InjectObjectAnnotationWorker.java:58)
>
$MethodAnnotationEnhancementWorker_10bd7c9a7fc.performEnhancement($MethodAnn
> otationEnhancementWorker_10bd7c9a7fc.java)
>
org.apache.tapestry.annotations.AnnotationEnhancementWorker.performMethodEnh
> ancement(AnnotationEnhancementWorker.java:142)
>
org.apache.tapestry.annotations.AnnotationEnhancementWorker.performMethodEnh
> ancement(AnnotationEnhancementWorker.java:110)
>
org.apache.tapestry.annotations.AnnotationEnhancementWorker.performEnhanceme
> nt(AnnotationEnhancementWorker.java:70)
>
$EnhancementWorker_10bd7c9a7a2.performEnhancement($EnhancementWorker_10bd7c9
> a7a2.java)
>
$EnhancementWorker_10bd7c9a7a4.performEnhancement($EnhancementWorker_10bd7c9
> a7a4.java)
>
$EnhancementWorker_10bd7c9a784.performEnhancement($EnhancementWorker_10bd7c9
> a784.java)
>
org.apache.tapestry.services.impl.ComponentConstructorFactoryImpl.getCompone
>
ntConstructor(ComponentConstructorFactoryImpl.java:97)
>
>
$ComponentConstructorFactory_10bd7c9a771.getComponentConstructor($ComponentC
> onstructorFactory_10bd7c9a771.java)
>
org.apache.tapestry.pageload.PageLoader.instantiatePage(PageLoader.java:578)
>
>
org.apache.tapestry.pageload.PageLoader.loadPage(PageLoader.java:606)
>
>
$IPageLoader_10bd7c9a76b.loadPage($IPageLoader_10bd7c9a76b.java)
>
>
$IPageLoader_10bd7c9a76c.loadPage($IPageLoader_10bd7c9a76c.java)
>
>
org.apache.tapestry.pageload.PageSource.getPage(PageSource.java:120)
>
>
$IPageSource_10bd7c9a6d1.getPage($IPageSource_10bd7c9a6d1.java)
>
>
org.apache.tapestry.engine.RequestCycle.loadPage(RequestCycle.java:268)
>
>
org.apache.tapestry.engine.RequestCycle.getPage(RequestCycle.java:251)
>
>
com.sebrio.raptor.sac.pages.ListReports.reportNewAction(ListReports.java:117
> )
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown
> Source)
>
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
> java.lang.reflect.Method.invoke(Unknown Source)
>
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(Li
> stenerMethodInvokerImpl.java:214)
>
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(
> ListenerMethodInvokerImpl.java:155)
>
org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(Liste
> nerMethodInvokerImpl.java:124)
>
org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod(
> ListenerMethodInvokerImpl.java:69)
>
org.apache.tapestry.listener.SyntheticListener.actionTriggered(SyntheticList
> ener.java:51)
>
org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(Listen
> erInvokerTerminator.java:51)
>
$ListenerInvoker_10bd7c9a702.invokeListener($ListenerInvoker_10bd7c9a702.jav
> a)
>
$ListenerInvoker_10bd7c9a701.invokeListener($ListenerInvoker_10bd7c9a701.jav
> a)
>
org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:105)
>
>
org.apache.tapestry.engine.DirectService.triggerComponent(DirectService.java
> :146)
>
org.apache.tapestry.engine.DirectService.service(DirectService.java:132)
>
>
$IEngineService_10bd7c9a759.service($IEngineService_10bd7c9a759.java)
>
>
=== message truncated ===
Home page :
http://uk.geocities.com/matmsh/index.html
Send instant messages to your online friends http://uk.messenger.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]