ok..about WebDav servlet..you are right. It was a misunderstanding of
mine.. Then if I use only jsp, and not a webDAV client, if I understand
wwll, the servlet is useless..I can use only taglib in jsp pages.
about the creaction of the a user with a customized role, the
SlideEditorImpl has the contructor you suggest me, even if it's not
called directly by me, after all when I create a user with an role
'user' evrything works fine, and the contructor I call is that one
without parameters.
Here is the stack trace of the exception:
18 Sep 2002 16:09:24 - org.apache.slide.common.Domain - WARNING -
Service slidestore.reference.JDBCDescriptorsStore@88df60 access error :
mypackage.acl.slide.roles.SlideEditorImpl
org.apache.slide.common.ServiceAccessException: Service
slidestore.reference.JDBCDescriptorsStore@88df60 access error :
mypackage.acl.slide.roles.SlideEditorImpl
org.apache.slide.common.ServiceAccessException: Service
slidestore.reference.JDBCDescriptorsStore@88df60 access error :
mypackage.acl.slide.roles.SlideEditorImpl at
slidestore.reference.JDBCDescriptorsStore.retrieveObject(JDBCDescriptorsStore.java:683)
at
org.apache.slide.store.StandardStore.retrieveObject(StandardStore.java:171)
at
org.apache.slide.structure.StructureImpl.create(StructureImpl.java:321)
at
mypackage.acl.slide.SlideUsersGroupsManager.createUser(SlideUsersGroupsManager.java:131)
at
mypackage.acl.jsp.AddUserAction.perform(AddUserAction.java:80)
at
org.apache.struts.action.ActionServlet.processActionPerform(ActionServlet.java:1786)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1585)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:527)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2397)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:536)
18 Sep 2002 16:09:25 -
org.apache.slide.transaction.SlideTransactionManager - WARNING -
Rollback Transaction 7 xid Thread-4-1032358164427-7- in thread
Thread-4
Christopher Lenz wrote:
> Luca Zago wrote:
>
>> Thank you very much for the suggesstons, Christopher . But my
>> doubts remain:, following my observations:
>>
>> Christopher Lenz wrote:
>>
>>> Luca Zago wrote:
>>>
>>>>
>>>> Hi, - has somebody ever created a template to associate to
>>>> webDav servlet? In my opinion it's a tricky..because it does
>>>> only a forward....then the only solution for the template is
>>>> building another servlet..with different html format..inside.
>>>
>>>
>>>
>>>
>>> I don't understand. Could you try to explain why it's a problem
>>> that the webdav-servlet forwards to the template? You can forward
>>> to a JSP-page that uses the Slide taglib as a template, for
>>> example.
>>
>>
>> ---> Sure I can do it, but I wonder in that case what is the
>> utility of the webDav servlet. In the sense that all the
>> permissions checking must be done by taglib in the page. Instead
>> using the standard servlet these cheking is done by the servlet
>> itself..and the result are the files you really can access. I am
>> evaluating the possibility to rewrite this servlet to templatize
>> the static HTML code hard coded inside.
>
>
> To be honest, I have no idea what your problem is. :-P
>
> The WebdavServlet does processing of the WebDAV and HTTP requests.
> The *only* thing it delegates to the template is GET requests to
> collection nodes. Using the Slide taglib in the template you can
> effectively generate the same kind of listing the WebDAV servlet
> generates, but you can customize it.
>
> The permission checking is done in the Slide kernel layer. Both the
> taglib andd the WebDAV servlet get the permission checking for free.
>
> Of course, you can also just extend the WebdavServlet and override
> doGet(). But that's for people who like HTML in servlets, or who
> don't want to use JSP.
>
>>>> - And what about creating new roles? when I create a user with
>>>> a new role I got the error:
>>>>
>>>> Sep 2002 19:34:25 - org.apache.slide.common.Domain - WARNING -
>>>> Service slidestore.reference.JDBCDescriptorsStore@88df60
>>>> access error : mypackage.acl.slide.roles.SlideEditorImpl
>>>> org.apache.slide.common.ServiceAccessException: Service
>>>> slidestore.reference.JDBCDescriptorsStore@88df60 access error :
>>>> mypackage.acl.slide.roles. SlideEditorImpl
>>>
>>>
>>>
>>>
>>> Make sure that class (SlideEditorImpl) is public and not
>>> abstract, i.e. it must be instantiatable from outside the
>>> mypackage.acl.slide.riles package.
>>>
>>> In addition, it needs to extend ObjectNode, and have a
>>> constructor that matches the one in ObjectNode. I.e. it should
>>> look like:
>>>
>>> public class SlideEditorImpl extends SubjectNode {
>>>
>>> public SlideEditorImpl(String uri, Vector children, Vector links)
>>> { super(uri, children, links); }
>>>
>>> [...]
>>>
>>> }
>>
>>
>>
>> My class is exactly as you wrote :) then in the Domain.xml I added:
>>
>>
>> <role name="editor">mypackage.acl.slide.roles.SlideEditorImpl
>> </role>
>>
>> the code to create the user is:
>>
>> ObjectNode object = (ObjectNode)(Class.forName(ROLE_PACKAGE +
>> info.getRole())).newInstance();
>
>
> Here you're using the default constructor. The class must also have a
> constructor with the parameters are outlined above, so that it can
> be instantiated by the store.
>
>> structure.create(slideToken, object, strUri);
>> NodeRevisionDescriptor revision = new NodeRevisionDescriptor(0);
>> revision.setProperty(new NodeProperty("resourcetype",
>> "<collection/>",true)); revision.setCreationDate(new Date());
>> revision.setLastModified(new Date()); revision.setProperty( new
>> NodeProperty("getcontentlength", "0", true)); revision.setProperty(
>> new NodeProperty("source", "", true)); revision.setProperty( new
>> NodeProperty("password",info.getPassword(),
>> NodeProperty.SLIDE_NAMESPACE));
>>
>> content.create(getSlideToken(), strUri, revision,null);
>>
>>
>> The Errror is thrown by the last method call..at the content
>> creation.
>
>
> Weird. Can you send the full stack trace?
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>