for example, you can not expect hivemind to inject IEngineService
automatically since there are many services implementing this interface
(PageService, ExternalService, DirectService and so on)


Otherwise it works fine.

Cheers,
Ron


Jiří Mareš wrote:
> Hi,
> 
> the rules are quite simple, there have to be only one service of the type ... 
> otherwise you have to specify what service
> do you want to ...
> 
> Jirka
> 
> Cyrille37 napsal(a):
>> Ron Piterman a écrit :
>>> 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) {...}
>>>   
>> heuu...
>> I do not really understand.
>> Do you mean Hivemind will do that automatically ?
>> What are rules ?
>> Do you know the documentation about that ?
>>
>> Thanks a lot
>> Cyrille
>>> 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