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]

Reply via email to