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) 
org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(EngineServ
iceOuterProxy.java:66) 
org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:248) 
org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngin
eTerminator.java:60) 
$WebRequestServicer_10bd7c9a735.service($WebRequestServicer_10bd7c9a735.java
) 
$WebRequestServicer_10bd7c9a731.service($WebRequestServicer_10bd7c9a731.java
) 
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(W
ebRequestServicerPipelineBridge.java:56) 
$ServletRequestServicer_10bd7c9a717.service($ServletRequestServicer_10bd7c9a
717.java) 
org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInj
ector.java:55) 
$ServletRequestServicerFilter_10bd7c9a713.service($ServletRequestServicerFil
ter_10bd7c9a713.java) 
$ServletRequestServicer_10bd7c9a719.service($ServletRequestServicer_10bd7c9a
719.java) 
org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecode
rFilter.java:52) 
$ServletRequestServicerFilter_10bd7c9a711.service($ServletRequestServicerFil
ter_10bd7c9a711.java) 
$ServletRequestServicer_10bd7c9a719.service($ServletRequestServicer_10bd7c9a
719.java) 
org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestE
ncoding.java:53) 
$ServletRequestServicerFilter_10bd7c9a715.service($ServletRequestServicerFil
ter_10bd7c9a715.java) 
$ServletRequestServicer_10bd7c9a719.service($ServletRequestServicer_10bd7c9a
719.java) 
$ServletRequestServicer_10bd7c9a70b.service($ServletRequestServicer_10bd7c9a
70b.java) 
org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123
) 
org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:79) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:689) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252) 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173) 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:213) 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:178) 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126
) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105
) 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:107) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processC
onnection(Http11BaseProtocol.java:664) 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.jav
a:527) 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWo
rkerThread.java:80) 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:684) 
java.lang.Thread.run(Unknown Source) 
---------------------------------------------------------


Any help is appreciated!

Thnaks,
Deon


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

Reply via email to