Yes, it has been removed as there is no more requirement for application code to lookup for dependencies from either PlexusFactory or SpringFactory. All the spring-support related code has move to plexus-spring project (at branch root).
plexus-spring will inject components/beans created in a spring context in both plexus-components / spring-beans according to spring applicationContext xml files AND plexus componnents.xml descriptors. Nico. 2008/2/29, Rahul Thakur <[EMAIL PROTECTED]>: > > Hi Nicolas, > > I just did an SVN update. It seems this is missing from sources: > org.apache.maven.archiva.common.spring.PlexusFactory > > Cheers, > Rahul > > > > nicolas de loof wrote: > > That beeing said, with xwork xml files converted I can start archiva > > and register my admin account RUNNING ON SPRING ! > > > > Hey Rahul, seems you can start using plexus-spring on Continuum ! > > > > Nicolas > > > > > > 2008/2/28, nicolas de loof <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>>: > > > > Support for plexus <property> to Properties added in plexus-spring, > > > > Now have the following error when first access to /archiva webapp : > > > > Caused by: java.lang.ClassNotFoundException: > > redbackEnvironmentCheckInterceptor > > at > > org.apache.catalina.loader.WebappClassLoader.loadClass( > WebappClassLoader.java:1352) > > at > > org.apache.catalina.loader.WebappClassLoader.loadClass( > WebappClassLoader.java:1198) > > at > > com.opensymphony.util.ClassLoaderUtil.loadClass(ClassLoaderUtil.java > :104) > > at > > com.opensymphony.xwork.ObjectFactory.getClassInstance( > ObjectFactory.java:88) > > at > > com.opensymphony.xwork.spring.SpringObjectFactory.getClassInstance( > SpringObjectFactory.java:175) > > at > > com.opensymphony.xwork.spring.SpringObjectFactory.buildBean( > SpringObjectFactory.java:116) > > > > > > The expected component is declared in > > redback-xwork-integration-1.0-alpha-4.jar : > > > > <component> > > <role>com.opensymphony.xwork.interceptor.Interceptor</role> > > <role-hint>redbackForceAdminUserInterceptor</role-hint> > > ... > > > > Using the convention used to convert plexus rold+hint to spring > > IDs, this result in a spring bean > > id="interceptor#redbackForceAdminUserInterceptor". > > > > Editing xwork-security to use the expected IDs is not a valid > > solution as this file comes from the war overlay. > > > > Any suggestion ? > > > > Nicolas. > > > > > > > > 2008/2/28, nicolas de loof <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>>: > > > > PlexusConfiguration support is now fixed. > > > > archiva-configuration tests pass with no change required, > > except : > > > > PlexusTestCase --> PlexusInSpringTestCase > > add getSpringConfigLocation() to return path to the new > > spring-context.xml test resource > > > > [INFO] > > > ------------------------------------------------------------------------ > > [INFO] BUILD SUCCESSFUL > > [INFO] > > > ------------------------------------------------------------------------ > > > > I've also created a PlexusWebApplicationContext and tried to > > start archiva webapp with spring... but this is not so easy : > > > > change webwork.properties for : webwork.objectFactory = spring > > change web.xml to remove PlexusLifecycleListener > > use spring applicationContext to expose the > > PlexusContainerAdapter as "webwork.plexus.container" > > > > The web application starts and initialize many beans, but > > fails during security framework setup : > > > > "The JdoFactory property 'org.jpox.rdbms.dateTimezone' MUST BE > > Set to 'JDK_DEFAULT_TIMEZONE' in order for jpox and > > JdoKeyManager to operate correctly." > > > > The AbstractConfigurableJdoFactory requires conversion from > > plexus <configuration> elements to Properties... > > > > > > Nicolas. > > > > > > > > > > 2008/2/27, nicolas de loof <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>>: > > > > I just committed partial support for PlexusConfiguration : > > > > - as XML validation is disabled the XML configuration > > doesn't require to be in a CDATA section > > - the namespaceHandler detects structured configuration > > and creates a DomPlexusConfiguration for it. > > - Still have to implement DomPlexusConfiguration as > > XmlPlexusConfiguration requires Xpp3Dom. > > > > Still some work on this feature and I expect to pass > > archiva-configuration tests. > > > > Nico. > > > > > > 2008/2/27, nicolas de loof <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>>: > > > > I've solved the main issues, added some tiny doc and > > unit tests. > > > > Still early alpha code but now stable and ready for > > review if you want to test it on Continuum. > > > > Some tests (like DefaultPathParserTest) migrate > > succesfully to spring context execution using the > > PlexusInSpringTestCase without any change. > > > > Many other archiva tests fails as the XSLT translation > > cannot convert XML formated "configuration" to be > > injected in CommonsConfigurationRegistry as a > > PlexusConfiguration : > > > > <component> > > <role>org.codehaus.plexus.registry.Registry</role> > > <role-hint>configured</role-hint> > > <implementation> > org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry > </implementation> > > <configuration> > > <properties> > > <system/> > > <xml > > fileName="${basedir}/src/test/conf/repository- > manager.xml" > > config-name="org.apache.maven.archiva" > > config-at="org.apache.maven.archiva"/> > > </properties> > > </configuration> > > </component> > > > > The current stylesheet converts such <configuration> > > to a blank value. > > > > To support such configuration, we need > > > > 1. a String2PlexusConfiguration PropertyEditor (maybe > > not trivial, but should be possible) > > 2. a XSL way to store the configuration child nodes > > as XML attributes. > > > > I'm a XSL newbee so have no idea how to output the > > current node and all it's children as a text content. > > I've tested <xsl:copy-of slect="."> but without the > > expected result. > > > > I also tried to set the configuration value as a > > nested CDATA content, but cannot find how to create > > the plexus:configuration content as as CDATA element. > > <xsl:output > > cdata-section-elements="plexus:configuration"> didn't > > fix this. > > > > > > > > > > > > > > > > > > 2008/2/26, nicolas de loof <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>>: > > > > For your information, plexus-spring no handle > > plexus requirement without filed-name set. > > > > The -Dplexus-spring.debug=true option can be used > > to dump the translated spring XML (using dom4j) > > > > PlexusInSpringTestCase as been used as replacement > > for PlexusTestCase in archiva-policies with no > > other change required in the test class (only a > > new spring context file required to declare the > > LoggerManager) > > > > Some debugging logs have been added to trace the > > filed-injection and dependencies resolution. > > > > > > .. but still not ready as > > > CacheFailuresTransferTest.testGetWithCacheFailuresOff > > pass run alone, but not if ran after > > testGetWithCacheFailuresOn! > > Seems there is some incomplete support on context > > cleanup / dispose > > > > Please be patient, Rahul ;-) > > > > Nico. > > > > > > > > 2008/2/26, Joakim Erdfelt <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>>: > > > > nicolas, > > > > This is way cool! > > A very slick way of helping the transition. > > I'm looking forward to some free time to dive > > into it. > > > > > > - Joakim > > > > > > > > nicolas de loof wrote: > > > Hi Rahul, > > > > > > Thanks for yout interest for this > > plexus-to-spring migration helper. > > > The code is still early experimental and > > requires some more testing : it > > > only has been tested on 2 archiva testcases > > and requires many fixes and > > > testcases to get stable. > > > > > > Please give me one week to test it more, add > > debugging logs and better error > > > handling / reporting : The current code is > > not really easy to debug when > > > some unexpected IoC occur... I also may > > improve support for plexus lifecycle > > > and specificities, as long as I discover > > requirements from archiva codebase. > > > > > > It is allready isolated from archiva for > > reuse, and can move to plexus when > > > ready (I've no access to plexus svn). > > > > > > I promise to inform you about progress ;-) > > > > > > Nicolas. > > > > > > 2008/2/25, Rahul Thakur > > <[EMAIL PROTECTED] > > <mailto:[EMAIL PROTECTED]>>: > > > > > >> Hi Nicolas, > > >> > > >> Sorry, I have looked at the recent updates > > to the code, hence my > > >> question. Is this 'ready' enough to be used > > outside Archiva? I'd like to > > >> integrate this into Continuum. > > >> > > >> I think it might make sense to have this > > module in Plexus SVN repo - wdyt? > > >> > > >> Good stuff! > > >> > > >> Cheers, > > >> Rahul > > >> > > >> nicolas de loof wrote: > > >> > > >>> Hello, > > >>> > > >>> I've repackaged and improved the spring > > support for plexus components in > > >>> > > >> a > > >> > > >>> dedicated poject > > >>> --> > > >>> > > >>> > > >> > > > https://svn.apache.org/repos/asf/maven/archiva/branches/springy/plexus-spring/ > > >> > > >>> This new module provides runtime > > translation from plexus component > > >>> descriptors to a Spring XML context, using > > a simple XSL file and a > > >>> > > >> custom > > >> > > >>> ApplicationContext. Any existing plexus > > jars can then be used in a > > >>> > > >> spring > > >> > > >>> context. > > >>> > > >>> It defines a custom <plexus:> > > spring-namespace. Under the hood a custom > > >>> FactoryBean handles plexus components > > field-injection and (some) > > >>> > > >> lifecycle > > >> > > >>> interfaces. As I discover plexus features > > by testing on archiva, I'd be > > >>> pleased to get more infos on plexus IoC > > specificities. > > >>> > > >>> It also provides a PlexusInSpringTestCase > > that is a replacement class > > >>> > > >> for > > >> > > >>> PlexusTestCase, providing equivalent > > methods and behavior. > > >>> > > >>> I've applied this (in springy branch) on > > archiva-policies and > > >>> > > >> archiva-proxy > > >> > > >>> (with some test failures in latest I have > > to investigate) > > >>> > > >>> On this basis and with the required > > improvements, I thing this is a nice > > >>> > > >> way > > >> > > >>> to move archiva (or other plexus-based app) > > to spring and then gradually > > >>> refactor plexus components, either using > > Spring annotation or XML > > >>> > > >> context > > >> > > >>> files (my +1 for context files). > > >>> > > >>> Nicolas. > > >>> > > >>> > > >>> > > > > > > > > > > > > > > > > > > > > >
