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]