yes, thats it - BTW, you don't need an explicit set-service.
just exposte a setter in your implementation class, and hivemind will
autowire it:

public void setServletContext( ServletContext ctx) {...}

Cheers,
Ron


Cyrille37 wrote:
> Ron Piterman a écrit :
>> On which class do you need to access the resource?
>>   
> 
> I've resolved the case with Hivemind.
> I pass to the ObjectFactory the ServletContext to get a root path and
> the relative filename.
> 
>    <service-point id="hangmanFactoryService"
> interface="games.hangman.service.HangmanFactory">
>        <invoke-factory>
>            <construct class="games.hangman.service.HangmanFactory">
>                <set-service property="servletContext"
> service-id="tapestry.globals.ServletContext"/>
>                <set property="wordsListFilename" value="WordsList.txt"/>
>            </construct>
>        </invoke-factory>
>    </service-point>
>      <contribution configuration-id="tapestry.state.ApplicationObjects">
>        <state-object name="hangmanStateObject" scope="session" >
>            <!-- <create-instance class="games.hangman.service.Hangman"
> /> -->
>            <invoke-factory object="service:hangmanFactoryService" />
>        </state-object>
>    </contribution>
> 
> I would have liked only the Hivemind's contribution entry, but to pass
> parameters to the instance I've understood that we have to use a
> Factory. So two Hivemind's entries.
> 
> Perhaps it could be lighter with the Hivemind's "Lightweight Instance
> Initialization"
> http://hivemind.apache.org/instance-initialization.html
> But I do not understand how it works ...
> 
> I would have liked something simple as:
> 
>    <bean id="hangman" scope="session"
> class="games.hangman.service.Hangman" >
>               <property name="servletContext"
> ref="tapestry.globals.ServletContext" />
>               <property name="wordsListFilename" value="WordsList.txt" />
>    </bean>
> 
> Cyrille
> 
>> Cheers,
>> Ron
>>
>>
>>
>> Cyrille37 wrote:
>>  
>>> Hello,
>>> Sure it is a beginner question, but I'm a beginner :o)
>>>
>>> I would like to read a file which is located in the web root folder, and
>>> put it in a String.
>>> I had a look around the Internet and found some tricks :
>>>
>>> A la "Servlet" :
>>> ServletContext theApplicationsServletContext = (ServletContext)
>>> this.getExternalContext().getContext();
>>> String realPath =
>>> theApplicationsServletContext.getRealPath("/resources/images");
>>> File file = new File(realPath + File.separatorChar + justFileName);
>>>
>>> A la "Rife" :
>>> import com.uwyn.rife.tools.FileUtils;
>>> URL resource =
>>> getClass().getClassLoader().getResource("model/WordList.txt");
>>> final String wordlist = FileUtils.readString(resource);
>>>
>>> Please could you tell me what are methods and usages with Tapestry ?
>>>
>>> Thanks
>>> cyrille
>>>     
> 
> 
> 
> ---------------------------------------------------------------------
> 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]

Reply via email to