Hi Asiri,
You shouldn't have plexus.xml and plexus.properties files in your svn
tree.
If what you want to do is create a WAR you should do as it's done in
enterprise/ or workspaces/ or watch/, etc and do an overlay of the
platform war.
That said we need to discuss the webdav integration into xwiki (see my
several emails on the topic but I think we had a problem to understand
each other...). I learnt today from Ludovic that the webdav feature
has a servlet so we need to think about how we can integrate that. The
first question is why do you need a servlet from the main one?
Thanks
-Vincent
On Aug 1, 2008, at 9:08 PM, asiri (SVN) wrote:
> Author: asiri
> Date: 2008-08-01 21:08:36 +0200 (Fri, 01 Aug 2008)
> New Revision: 11629
>
> Added:
> sandbox/xwiki-webdav/src/main/webapp/WEB-INF/plexus.properties
> sandbox/xwiki-webdav/src/main/webapp/WEB-INF/plexus.xml
> Removed:
> sandbox/xwiki-webdav/src/main/resources/plexus.xml
> Modified:
> sandbox/xwiki-webdav/database/xwiki_db.properties
> sandbox/xwiki-webdav/src/main/java/com/xpn/xwiki/plugin/webdav/
> XWikiDavServlet.java
> sandbox/xwiki-webdav/src/main/java/com/xpn/xwiki/plugin/webdav/
> resources/domain/XWikiDavPage.java
> sandbox/xwiki-webdav/src/main/webapp/WEB-INF/
> sandbox/xwiki-webdav/src/main/webapp/WEB-INF/web.xml
> Log:
> Removed plexus init code from XWikiDavServlet. Changed rename page
> code (not fully complete yet).
>
> Modified: sandbox/xwiki-webdav/database/xwiki_db.properties
> ===================================================================
> --- sandbox/xwiki-webdav/database/xwiki_db.properties 2008-08-01
> 18:09:23 UTC (rev 11628)
> +++ sandbox/xwiki-webdav/database/xwiki_db.properties 2008-08-01
> 19:08:36 UTC (rev 11629)
> @@ -1,5 +1,5 @@
> #HSQL Database Engine 1.8.0.5
> -#Sun Jun 29 23:14:58 LKT 2008
> +#Sat Aug 02 00:18:58 LKT 2008
> hsqldb.script_format=0
> runtime.gc_interval=0
> sql.enforce_strict_size=false
>
> Modified: sandbox/xwiki-webdav/src/main/java/com/xpn/xwiki/plugin/
> webdav/XWikiDavServlet.java
> ===================================================================
> --- sandbox/xwiki-webdav/src/main/java/com/xpn/xwiki/plugin/webdav/
> XWikiDavServlet.java 2008-08-01 18:09:23 UTC (rev 11628)
> +++ sandbox/xwiki-webdav/src/main/java/com/xpn/xwiki/plugin/webdav/
> XWikiDavServlet.java 2008-08-01 19:08:36 UTC (rev 11629)
> @@ -20,31 +20,25 @@
> import org.apache.jackrabbit.webdav.WebdavRequest;
> import org.apache.jackrabbit.webdav.WebdavRequestImpl;
> import org.apache.jackrabbit.webdav.WebdavResponse;
> -import org.apache.jackrabbit.webdav.WebdavResponseImpl;
> import org.apache.jackrabbit.webdav.lock.LockManager;
> import org.apache.jackrabbit.webdav.lock.SimpleLockManager;
> import org.apache.jackrabbit.webdav.server.AbstractWebdavServlet;
> import org.apache.jackrabbit.webdav.simple.DavSessionProviderImpl;
> import org.apache.jackrabbit.webdav.simple.LocatorFactoryImplEx;
> -import org.codehaus.plexus.DefaultContainerConfiguration;
> -import org.codehaus.plexus.DefaultPlexusContainer;
> -import org.codehaus.plexus.PlexusContainerException;
> -import
> org
> .codehaus
> .plexus.personality.plexus.lifecycle.phase.PlexusContainerLocator;
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> import org.xwiki.component.manager.ComponentManager;
> -import org.xwiki.plexus.manager.PlexusComponentManager;
> import org.xwiki.container.Container;
> -import org.xwiki.container.servlet.ServletContainerInitializer;
> import org.xwiki.container.servlet.ServletContainerException;
> +import org.xwiki.container.servlet.ServletContainerInitializer;
> import org.xwiki.context.Execution;
>
> +import com.xpn.xwiki.XWikiContext;
> import com.xpn.xwiki.plugin.webdav.resources.XWikiDavResource;
> import com.xpn.xwiki.plugin.webdav.utils.XWikiDavSessionProvider;
> import com.xpn.xwiki.plugin.webdav.utils.XWikiResourceConfig;
> import com.xpn.xwiki.plugin.webdav.utils.XWikiResourceFactory;
> import com.xpn.xwiki.web.Utils;
> -import com.xpn.xwiki.XWikiContext;
>
> /**
> * [EMAIL PROTECTED] XWikiDavServlet} implements DAV functionalities into
> XWiki.
> @@ -276,26 +270,6 @@
> this.resourceConfig = resourceConfig;
> }
>
> - /**
> - * Initializes and returns the [EMAIL PROTECTED] ComponentManager}.
> - *
> - * @return a configured Component Manager (which uses the
> plexus.xml file in the resources
> - * directory) which can then be put in the XWiki
> Context for testing.
> - */
> - /*
> - private ComponentManager getComponentManager() throws
> PlexusContainerException
> - {
> - if (this.componentManager == null) {
> - DefaultContainerConfiguration configuration = new
> DefaultContainerConfiguration();
> - configuration.setContainerConfiguration("/plexus.xml");
> - DefaultPlexusContainer container = new
> DefaultPlexusContainer(configuration);
> - PlexusContainerLocator locator = new
> PlexusContainerLocator(container);
> - this.componentManager = new
> PlexusComponentManager(locator);
> - }
> - return this.componentManager;
> - }
> - */
> -
> protected void initializeContainerComponent(XWikiContext context)
> throws ServletException
> {
> @@ -336,17 +310,7 @@
> */
> public void init() throws ServletException
> {
> - super.init();
> -
> - // Initialize the componentManager (Required by XWiki).
> - /* try {
> -
> getServletContext().setAttribute(ComponentManager.class.getName(),
> - getComponentManager());
> - } catch (PlexusContainerException e) {
> - throw new ServletException(e);
> - }
> - */
> -
> + super.init();
> resourcePathPrefix =
> getInitParameter(INIT_PARAM_RESOURCE_PATH_PREFIX);
> if (resourcePathPrefix == null) {
> this.resourcePathPrefix = "";
>
> Modified: sandbox/xwiki-webdav/src/main/java/com/xpn/xwiki/plugin/
> webdav/resources/domain/XWikiDavPage.java
> ===================================================================
> --- sandbox/xwiki-webdav/src/main/java/com/xpn/xwiki/plugin/webdav/
> resources/domain/XWikiDavPage.java 2008-08-01 18:09:23 UTC (rev 11628)
> +++ sandbox/xwiki-webdav/src/main/java/com/xpn/xwiki/plugin/webdav/
> resources/domain/XWikiDavPage.java 2008-08-01 19:08:36 UTC (rev 11629)
> @@ -316,7 +316,20 @@
> List<String> childDocNames =
>
> xwikiContext.getWiki().getStore().searchDocumentsNames(sql, 0, 0,
> xwikiContext);
> - doc.rename(newDocName, xwikiContext);
> + // TODO : XWikiDocument.rename() seems to be
> broken. This code will be soon replaced
> + // to use XWiki.renameDocument() JIRA :
> http://jira.xwiki.org/jira/browse/XWIKI-2600
> + // following is a (partial) hack.
> + // 1. Extract the original content.
> + String content = doc.getContent();
> + // 2. Rename the document.
> + doc.rename(newDocName, xwikiContext);
> + // Change this instances name (not required).
> + this.name = newDocName;
> + // 3. Reload the renamed page
> + doc = xwikiContext.getWiki().getDocument(this.name,
> xwikiContext);
> + // 4. Set the old content.
> + doc.setContent(content);
> + // 5. Save the new document back.
> xwikiContext.getWiki().saveDocument(doc,
> xwikiContext);
> for (String childDocName : childDocNames) {
> XWikiDocument childDoc =
>
> Deleted: sandbox/xwiki-webdav/src/main/resources/plexus.xml
> ===================================================================
> --- sandbox/xwiki-webdav/src/main/resources/plexus.xml 2008-08-01
> 18:09:23 UTC (rev 11628)
> +++ sandbox/xwiki-webdav/src/main/resources/plexus.xml 2008-08-01
> 19:08:36 UTC (rev 11629)
> @@ -1,54 +0,0 @@
> -<!-- Plexus configuration for our Unit/Integation tests. This needs
> to be kept in sync
> - with the plexus.xml file in the Web Standard module. -->
> -<plexus>
> -
> - <!-- Configure Plexus to use XWiki's lifecycle and XWiki's own
> phases -->
> - <lifecycle-handler-manager
> implementation
> ="org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager">
> - <lifecycle-handlers>
> - <lifecycle-handler
> implementation="org.xwiki.plexus.lifecycle.XWikiLifecycleHandler">
> - <id>xwiki</id>
> - <name>XWiki Lifecycle Handler</name>
> - <begin-segment>
> - <!-- Let Plexus do the component injection -->
> - <phase
> implementation="org.xwiki.plexus.lifecycle.phase.LogEnablePhase"/>
> - <phase
> implementation
> =
> "org
> .codehaus
> .plexus.personality.plexus.lifecycle.phase.CompositionPhase"/>
> - <phase
> implementation
> =
> "org
> .codehaus
> .plexus.personality.plexus.lifecycle.phase.AutoConfigurePhase"/>
> - <!-- See the comment below to understand why this is
> commented out -->
> - <!--phase
> implementation
> ="org.codehaus.plexus.registry.RegistryConfigurePhase"/-->
> - <phase
> implementation="org.xwiki.plexus.lifecycle.phase.ComposePhase"/>
> - <phase
> implementation="org.xwiki.plexus.lifecycle.phase.InitializePhase"/>
> - </begin-segment>
> - <suspend-segment/>
> - <resume-segment/>
> - <end-segment/>
> - </lifecycle-handler>
> - </lifecycle-handlers>
> - <default-lifecycle-handler-id>xwiki</default-lifecycle-handler-
> id>
> - </lifecycle-handler-manager>
> -
> - <components>
> - <!-- The registry component allows using Jakarta Commons
> Configuration to store configuration
> - data for XWiki components, in addition to using
> components.xml files. This allows storing
> - configurations files in various formats (properties file,
> xml files, in a database, etc).
> - See Jakarta Commons Configuration for all options.
> - -->
> - <!-- Note: We're not using it yet. We need to ensure it works
> fine before we do so. We
> - haven't tested it yet. We also need to decide if we need
> to implement our own solution.
> - For example the current Registry implementation will not
> let component access to general
> - configuration data, only those configured for the
> component in question.
> - <component>
> - <role>org.codehaus.plexus.registry.Registry</role>
> -
> <
> implementation
> >org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</
> implementation>
> - <role-hint>commons-configuration</role-hint>
> - <configuration>
> - <properties>
> - Q: How can we put this file in WEB-INF/
> - <properties fileName="xwiki.properties" config-
> at="org.xwiki"/>
> - </properties>
> - </configuration>
> - </component-->
> - </components>
> -
> -</plexus>
> -
> -
>
>
> Property changes on: sandbox/xwiki-webdav/src/main/webapp/WEB-INF
> ___________________________________________________________________
> Name: svn:ignore
> + lib
>
>
> Added: sandbox/xwiki-webdav/src/main/webapp/WEB-INF/plexus.properties
> ===================================================================
> --- sandbox/xwiki-webdav/src/main/webapp/WEB-INF/
> plexus.properties (rev 0)
> +++ sandbox/xwiki-webdav/src/main/webapp/WEB-INF/plexus.properties
> 2008-08-01 19:08:36 UTC (rev 11629)
> @@ -0,0 +1,4 @@
> +# Plexus configuration file. It's required by some part of Plexus
> +# that we don't use. It's a bug that Plexus makes it mandatory.
> +# In the future, remove it once Plexus doesn't give a warning
> +# when this file isn't present.
>
> Added: sandbox/xwiki-webdav/src/main/webapp/WEB-INF/plexus.xml
> ===================================================================
> --- sandbox/xwiki-webdav/src/main/webapp/WEB-INF/
> plexus.xml (rev 0)
> +++ sandbox/xwiki-webdav/src/main/webapp/WEB-INF/plexus.xml
> 2008-08-01 19:08:36 UTC (rev 11629)
> @@ -0,0 +1,54 @@
> +<!-- Plexus configuration for our Unit/Integation tests. This needs
> to be kept in sync
> + with the plexus.xml file in the Web Standard module. -->
> +<plexus>
> +
> + <!-- Configure Plexus to use XWiki's lifecycle and XWiki's own
> phases -->
> + <lifecycle-handler-manager
> implementation
> ="org.codehaus.plexus.lifecycle.DefaultLifecycleHandlerManager">
> + <lifecycle-handlers>
> + <lifecycle-handler
> implementation="org.xwiki.plexus.lifecycle.XWikiLifecycleHandler">
> + <id>xwiki</id>
> + <name>XWiki Lifecycle Handler</name>
> + <begin-segment>
> + <!-- Let Plexus do the component injection -->
> + <phase
> implementation="org.xwiki.plexus.lifecycle.phase.LogEnablePhase"/>
> + <phase
> implementation
> =
> "org
> .codehaus
> .plexus.personality.plexus.lifecycle.phase.CompositionPhase"/>
> + <phase
> implementation
> =
> "org
> .codehaus
> .plexus.personality.plexus.lifecycle.phase.AutoConfigurePhase"/>
> + <!-- See the comment below to understand why this is
> commented out -->
> + <!--phase
> implementation
> ="org.codehaus.plexus.registry.RegistryConfigurePhase"/-->
> + <phase
> implementation="org.xwiki.plexus.lifecycle.phase.ComposePhase"/>
> + <phase
> implementation="org.xwiki.plexus.lifecycle.phase.InitializePhase"/>
> + </begin-segment>
> + <suspend-segment/>
> + <resume-segment/>
> + <end-segment/>
> + </lifecycle-handler>
> + </lifecycle-handlers>
> + <default-lifecycle-handler-id>xwiki</default-lifecycle-handler-
> id>
> + </lifecycle-handler-manager>
> +
> + <components>
> + <!-- The registry component allows using Jakarta Commons
> Configuration to store configuration
> + data for XWiki components, in addition to using
> components.xml files. This allows storing
> + configurations files in various formats (properties file,
> xml files, in a database, etc).
> + See Jakarta Commons Configuration for all options.
> + -->
> + <!-- Note: We're not using it yet. We need to ensure it works
> fine before we do so. We
> + haven't tested it yet. We also need to decide if we need
> to implement our own solution.
> + For example the current Registry implementation will not
> let component access to general
> + configuration data, only those configured for the
> component in question.
> + <component>
> + <role>org.codehaus.plexus.registry.Registry</role>
> +
> <
> implementation
> >org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry</
> implementation>
> + <role-hint>commons-configuration</role-hint>
> + <configuration>
> + <properties>
> + Q: How can we put this file in WEB-INF/
> + <properties fileName="xwiki.properties" config-
> at="org.xwiki"/>
> + </properties>
> + </configuration>
> + </component-->
> + </components>
> +
> +</plexus>
> +
> +
>
> Modified: sandbox/xwiki-webdav/src/main/webapp/WEB-INF/web.xml
> ===================================================================
> --- sandbox/xwiki-webdav/src/main/webapp/WEB-INF/web.xml 2008-08-01
> 18:09:23 UTC (rev 11628)
> +++ sandbox/xwiki-webdav/src/main/webapp/WEB-INF/web.xml 2008-08-01
> 19:08:36 UTC (rev 11629)
> @@ -1,17 +1,20 @@
> <?xml version="1.0" encoding="UTF-8"?>
> -<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee
> " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
> ">
> - <display-name>
> - xwiki-webdav-servlet
> - </display-name>
> +<web-app id="WebApp_ID" version="2.4"
> + xmlns="http://java.sun.com/xml/ns/j2ee"
> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
> http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
> ">
> + <display-name>xwiki-webdav-servlet</display-name>
> + <!-- Initializes Plexus and puts a reference to the Plexus
> Component Manager in the Servlet
> + Context. Also initializes the Container Manager component with
> the Servlet Context. -->
> + <listener>
> + <listener-class>
> + org.xwiki.plexus.XWikiPlexusServletContextListener
> + </listener-class>
> + </listener>
> <servlet>
> - <description>
> - </description>
> - <display-name>
> - DAVServlet
> - </display-name>
> - <servlet-name>
> - DAVServlet
> - </servlet-name>
> + <description></description>
> + <display-name>DAVServlet</display-name>
> + <servlet-name>DAVServlet</servlet-name>
> <servlet-class>
> com.xpn.xwiki.plugin.webdav.XWikiDavServlet
> </servlet-class>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs