Author: jdcasey Date: Fri Aug 19 18:58:10 2011 New Revision: 1159745 URL: http://svn.apache.org/viewvc?rev=1159745&view=rev Log: component selection still not working...at least, in tests. Needs more work
Added: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/NonSimplePart.java (with props) maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Part.java (with props) maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SimplePart.java (contents, props changed) - copied, changed from r1158995, maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Child.java Removed: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Child.java Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/ComponentSelectionModule.java maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/MAEApplicationTest.java maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/MapOwner.java maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonLiteralOwner.java maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonOwner.java Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java?rev=1159745&r1=1159744&r2=1159745&view=diff ============================================================================== --- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java (original) +++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentKey.java Fri Aug 19 18:58:10 2011 @@ -21,6 +21,14 @@ package org.apache.maven.mae.internal.co import static org.codehaus.plexus.util.StringUtils.isBlank; +import java.lang.reflect.Field; + +import org.codehaus.plexus.component.annotations.Component; +import org.codehaus.plexus.component.annotations.Requirement; +import org.sonatype.guice.plexus.config.Roles; + +import com.google.inject.Key; + public class ComponentKey<T> { @@ -44,6 +52,35 @@ public class ComponentKey<T> hint = DEFAULT_HINT; } + @SuppressWarnings( "unchecked" ) + public ComponentKey( final Component comp ) + { + roleClass = (Class<T>) comp.role(); + + String h = comp.hint(); + hint = ( isBlank( h ) || DEFAULT_HINT.equals( h ) ? DEFAULT_HINT : h ); + } + + @SuppressWarnings( { "unchecked", "rawtypes" } ) + public ComponentKey( final Requirement req, final Field field ) + { + if ( req.hints() != null && req.hints().length > 0 ) + { + throw new IllegalArgumentException( "Cannot construct ComponentKey for requirement listing multiple hints." ); + } + + Class role = req.role(); + if ( role == null || role.equals( Object.class ) ) + { + role = field.getType(); + } + + roleClass = role; + + String h = req.hint(); + hint = ( isBlank( h ) || DEFAULT_HINT.equals( h ) ? DEFAULT_HINT : h ); + } + public String getRole() { return roleClass.getName(); @@ -56,7 +93,22 @@ public class ComponentKey<T> public String key() { - return roleClass + ( DEFAULT_HINT.equals( hint ) ? "" : "#" + hint ); + return roleClass.getName() + ( DEFAULT_HINT.equals( hint ) ? "" : "#" + hint ); + } + + public Key<T> componentKey() + { + return Roles.componentKey( roleClass, hint ); + } + + public Key<T> literalComponentKey() + { + return isLiteral() ? componentKey() : Roles.componentKey( roleClass, hint + LITERAL_SUFFIX ); + } + + public Key<T> rawComponentKey() + { + return Roles.componentKey( roleClass, getLiteralHint( hint ) ); } @Override @@ -115,6 +167,11 @@ public class ComponentKey<T> return instance == null ? null : roleClass.cast( instance ); } + public boolean isLiteral() + { + return isLiteral( hint ); + } + public static boolean isLiteral( final String value ) { return value != null && value.length() > 1 && value.endsWith( LITERAL_SUFFIX ); Modified: maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java?rev=1159745&r1=1159744&r2=1159745&view=diff ============================================================================== --- maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java (original) +++ maven/sandbox/trunk/mae/mae-api/src/main/java/org/apache/maven/mae/internal/container/ComponentSelector.java Fri Aug 19 18:58:10 2011 @@ -60,6 +60,11 @@ public class ComponentSelector return remappedComponentHints.isEmpty(); } + public boolean hasOverride( final ComponentKey<?> key ) + { + return remappedComponentHints.containsKey( key ); + } + public <T> boolean hasOverride( final Class<T> role, final String hint ) { final ComponentKey<T> check = new ComponentKey<T>( role, hint ); @@ -121,4 +126,10 @@ public class ComponentSelector return (ComponentKey<T>) remappedComponentHints.get( new ComponentKey<T>( role, hint ) ); } + @SuppressWarnings( "unchecked" ) + public <T> ComponentKey<T> getOverride( final ComponentKey<T> key ) + { + return (ComponentKey<T>) remappedComponentHints.get( key ); + } + } Modified: maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/ComponentSelectionModule.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/ComponentSelectionModule.java?rev=1159745&r1=1159744&r2=1159745&view=diff ============================================================================== --- maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/ComponentSelectionModule.java (original) +++ maven/sandbox/trunk/mae/mae-booter/src/main/java/org/apache/maven/mae/boot/embed/ComponentSelectionModule.java Fri Aug 19 18:58:10 2011 @@ -1,23 +1,26 @@ package org.apache.maven.mae.boot.embed; import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.List; +import java.security.PrivilegedAction; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; import org.apache.maven.mae.internal.container.ComponentKey; import org.apache.maven.mae.internal.container.ComponentSelector; +import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.annotations.Requirement; -import org.sonatype.guice.plexus.config.Hints; -import org.sonatype.guice.plexus.config.Roles; import com.google.inject.Binder; -import com.google.inject.Inject; -import com.google.inject.Injector; import com.google.inject.Key; import com.google.inject.MembersInjector; import com.google.inject.Module; +import com.google.inject.Provider; import com.google.inject.TypeLiteral; import com.google.inject.matcher.Matchers; +import com.google.inject.spi.Dependency; +import com.google.inject.spi.InjectionListener; +import com.google.inject.spi.InjectionPoint; import com.google.inject.spi.TypeEncounter; import com.google.inject.spi.TypeListener; @@ -36,7 +39,43 @@ public class ComponentSelectionModule @Override public void configure( final Binder binder ) { - binder.bindListener( Matchers.any(), new ComponentSelectingListener( selector ) ); + // binder.bindListener( Matchers.any(), new SysoutTypeListener() ); + binder.bindListener( Matchers.any(), new ComponentSelectingListener( selector, binder ) ); + } + + @SuppressWarnings( "unused" ) + private static final class SysoutTypeListener + implements TypeListener + { + + @Override + public <I> void hear( final TypeLiteral<I> type, final TypeEncounter<I> encounter ) + { + Set<InjectionPoint> injectionPoints = InjectionPoint.forInstanceMethodsAndFields( type.getRawType() ); + if ( injectionPoints != null && !injectionPoints.isEmpty() ) + { + System.out.println( type.getRawType().getName() ); + + for ( InjectionPoint ip : injectionPoints ) + { + Dependency<?> dep = ip.getDependencies().get( 0 ); + System.out.printf( "%s --> %s", ip.getMember(), dep.getKey() ); + } + } + + Component comp = type.getRawType().getAnnotation( Component.class ); + if ( comp != null ) + { + ComponentKey<I> found = new ComponentKey<I>( comp ); + + System.out.printf( "%s [Provider: %s]\n", found, encounter.getProvider( found.componentKey() ) ); + } + else + { + System.out.printf( "RAW: %s\n", type.getRawType().getName() ); + } + } + } private static final class ComponentSelectingListener @@ -45,93 +84,155 @@ public class ComponentSelectionModule private final ComponentSelector selector; - public ComponentSelectingListener( final ComponentSelector selector ) + private final Binder binder; + + public ComponentSelectingListener( final ComponentSelector selector, final Binder binder ) { this.selector = selector; + this.binder = binder; } + @SuppressWarnings( { "unchecked", "rawtypes" } ) @Override public <I> void hear( final TypeLiteral<I> type, final TypeEncounter<I> encounter ) { - List<Field> requirementFields = new ArrayList<Field>(); + Map<Field, Provider<?>> requirementFields = new HashMap<Field, Provider<?>>(); + + // Component comp = type.getRawType().getAnnotation( Component.class ); + // Set<InjectionPoint> injectionPoints = InjectionPoint.forInstanceMethodsAndFields( type.getRawType() ); + // if ( comp != null || ( injectionPoints != null && !injectionPoints.isEmpty() ) ) + // { + // encounter.register( null ) + // } + for ( Field field : type.getRawType().getDeclaredFields() ) { - if ( field.getAnnotation( Requirement.class ) != null ) + Requirement req = field.getAnnotation( Requirement.class ); + if ( req != null ) { - requirementFields.add( field ); + // FIXME: Collections! + if ( !field.getType().equals( req.role() ) ) + { + // System.out.printf( "Found collection? %s\n", field ); + } + else + { + ComponentKey key = new ComponentKey( req, field ); + + Key componentKey = key.componentKey(); + if ( key.isLiteral() ) + { + componentKey = key.rawComponentKey(); + // System.out.printf( "%s ------> %s\n", field, componentKey ); + } + else if ( selector.hasOverride( key ) ) + { + binder.bind( key.literalComponentKey() ).toProvider( encounter.getProvider( key.componentKey() ) ); + componentKey = selector.getOverride( key ).componentKey(); + // System.out.printf( "%s ------> %s\n", field, componentKey ); + } + + requirementFields.put( field, encounter.getProvider( componentKey ) ); + } } } if ( !requirementFields.isEmpty() ) { - encounter.register( new ComponentSelectionInjector<I>( selector, requirementFields ) ); + final ComponentSelectionInjector<I> injector = new ComponentSelectionInjector<I>( requirementFields ); + encounter.register( new MembersInjector<I>() + { + @Override + public void injectMembers( final I instance ) + { + injector.inject( instance ); + } + } ); + + encounter.register( new InjectionListener<I>() + { + @Override + public void afterInjection( final I instance ) + { + injector.inject( instance ); + } + } ); } } } private static final class ComponentSelectionInjector<T> - implements MembersInjector<T> { - // FIXME: This is NOT being injected!! - @Inject - private Injector injector; - - private final ComponentSelector selector; - - private final List<Field> fields; + private final Map<Field, Provider<?>> fields; - public ComponentSelectionInjector( final ComponentSelector selector, final List<Field> fields ) + public ComponentSelectionInjector( final Map<Field, Provider<?>> fields ) { - this.selector = selector; this.fields = fields; } - @SuppressWarnings( { "rawtypes", "unchecked" } ) - @Override - public void injectMembers( final T instance ) + public void inject( final T instance ) { - for ( Field field : fields ) + for ( Map.Entry<Field, Provider<?>> entry : fields.entrySet() ) { - Requirement req = field.getAnnotation( Requirement.class ); - Class role = req.role(); - if ( role == null ) + Field field = entry.getKey(); + Provider<?> provider = entry.getValue(); + boolean acc = field.isAccessible(); + if ( !acc ) { - role = field.getType(); + field.setAccessible( true ); } - // FIXME: What about req.hints() ??? - String hint = req.hint(); - if ( hint == null ) + try { - hint = Hints.DEFAULT_HINT; + Object value = provider.get(); + System.out.printf( "Setting %s to: %s\n", field, value ); + field.set( instance, value ); } - - ComponentKey key; - if ( ComponentKey.isLiteral( hint ) ) + catch ( IllegalArgumentException e ) { - key = new ComponentKey( role, ComponentKey.getLiteralHint( hint ) ); + throw new RuntimeException( e ); } - else if ( selector.hasOverride( role, hint ) ) + catch ( IllegalAccessException e ) { - key = selector.getOverride( role, hint ); + throw new RuntimeException( e ); } - else + finally { - key = new ComponentKey( role, hint ); + field.setAccessible( acc ); } - set( field, instance, key ); + // FieldSetter setter = new FieldSetter( entry.getKey(), entry.getValue(), instance ); + // AccessController.doPrivileged( setter ); } } - @SuppressWarnings( { "rawtypes", "unchecked" } ) - private void set( final Field field, final Object instance, final ComponentKey key ) + } + + @SuppressWarnings( "unused" ) + private static final class FieldSetter<T> + implements PrivilegedAction<T> + { + + private final Field field; + + private final Provider<?> provider; + + private final T instance; + + FieldSetter( final Field field, final Provider<?> provider, final T instance ) + { + this.field = field; + this.provider = provider; + this.instance = instance; + + } + + @Override + public T run() { - Key componentKey = Roles.componentKey( key.getRoleClass(), key.getHint() ); - Object value = injector.getInstance( componentKey ); try { - field.set( instance, value ); + field.set( instance, provider.get() ); } catch ( IllegalArgumentException e ) { @@ -141,6 +242,8 @@ public class ComponentSelectionModule { throw new RuntimeException( e ); } + + return null; } } Modified: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/MAEApplicationTest.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/MAEApplicationTest.java?rev=1159745&r1=1159744&r2=1159745&view=diff ============================================================================== --- maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/MAEApplicationTest.java (original) +++ maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/MAEApplicationTest.java Fri Aug 19 18:58:10 2011 @@ -19,6 +19,7 @@ package org.apache.maven.mae.internal.container; +import static org.hamcrest.CoreMatchers.instanceOf; import static org.hamcrest.CoreMatchers.notNullValue; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; @@ -28,6 +29,9 @@ import org.apache.maven.mae.app.Abstract import org.apache.maven.mae.boot.embed.MAEEmbedderBuilder; import org.apache.maven.mae.internal.container.fixture.ContainerOwner; import org.apache.maven.mae.internal.container.fixture.DefaultSingletonOwner; +import org.apache.maven.mae.internal.container.fixture.NonSimplePart; +import org.apache.maven.mae.internal.container.fixture.Part; +import org.apache.maven.mae.internal.container.fixture.SimplePart; import org.apache.maven.mae.internal.container.fixture.SingletonLiteralOwner; import org.apache.maven.mae.internal.container.fixture.SingletonOwner; import org.junit.Test; @@ -91,7 +95,10 @@ public class MAEApplicationTest throws Throwable { ContainerOwner owner = new ContainerOwner(); - new TestApplication().load(); + new TestApplication().withInstance( owner ).load(); + + assertThat( owner.container, notNullValue() ); + final DefaultSingletonOwner single = owner.container.lookup( DefaultSingletonOwner.class ); assertThat( single.singleton(), notNullValue() ); @@ -102,10 +109,30 @@ public class MAEApplicationTest throws Throwable { ContainerOwner owner = new ContainerOwner(); - new TestApplication().load(); + new TestApplication().withInstance( owner ).load(); + + assertThat( owner.container, notNullValue() ); + + final SingletonOwner single = owner.container.lookup( SingletonOwner.class ); + + assertThat( single.singleton(), notNullValue() ); + } + + @Test + public void singletonSelectedRequirement() + throws Throwable + { + ContainerOwner owner = new ContainerOwner(); + new TestApplication().withInstance( owner ).withComponentSelection( new ComponentKey<Part>( Part.class, + "simple" ), + "non-simple" ).load(); + + assertThat( owner.container, notNullValue() ); + final SingletonOwner single = owner.container.lookup( SingletonOwner.class ); assertThat( single.singleton(), notNullValue() ); + assertThat( single.singleton(), instanceOf( NonSimplePart.class ) ); } @Test @@ -113,10 +140,16 @@ public class MAEApplicationTest throws Throwable { ContainerOwner owner = new ContainerOwner(); - new TestApplication().load(); + new TestApplication().withInstance( owner ).withComponentSelection( new ComponentKey<Part>( Part.class, + "simple" ), + "non-simple" ).load(); + + assertThat( owner.container, notNullValue() ); + final SingletonLiteralOwner single = owner.container.lookup( SingletonLiteralOwner.class ); assertThat( single.singletonLiteral(), notNullValue() ); + assertThat( single.singletonLiteral(), instanceOf( SimplePart.class ) ); } // @@ -136,11 +169,25 @@ public class MAEApplicationTest { private final String name; + private ComponentSelector selector; + TestApplication() { name = new Exception().getStackTrace()[1].getMethodName(); } + public synchronized AbstractMAEApplication withComponentSelection( final ComponentKey<?> intercept, + final String newHint ) + { + if ( selector == null ) + { + selector = new ComponentSelector(); + } + + selector.setSelection( intercept, newHint ); + return this; + } + public final TestApplication withInstance( final Object instance ) { withComponentInstance( instance ); @@ -167,6 +214,12 @@ public class MAEApplicationTest super.configureBuilder( builder ); } + @Override + public ComponentSelector getComponentSelector() + { + return selector; + } + } } Modified: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/MapOwner.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/MapOwner.java?rev=1159745&r1=1159744&r2=1159745&view=diff ============================================================================== --- maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/MapOwner.java (original) +++ maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/MapOwner.java Fri Aug 19 18:58:10 2011 @@ -28,10 +28,10 @@ import java.util.Map; public class MapOwner { - @Requirement( role = Child.class ) - private Map<String, Child> members; + @Requirement( role = SimplePart.class ) + private Map<String, SimplePart> members; - public Map<String, Child> members() + public Map<String, SimplePart> members() { return members; } Added: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/NonSimplePart.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/NonSimplePart.java?rev=1159745&view=auto ============================================================================== --- maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/NonSimplePart.java (added) +++ maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/NonSimplePart.java Fri Aug 19 18:58:10 2011 @@ -0,0 +1,35 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.maven.mae.internal.container.fixture; + +import org.codehaus.plexus.component.annotations.Component; + +@Component( role = Part.class, hint = "non-simple" ) +public class NonSimplePart + implements Part +{ + + @Override + public String getType() + { + return "simple"; + } + +} Propchange: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/NonSimplePart.java ------------------------------------------------------------------------------ svn:eol-style = native Added: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Part.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Part.java?rev=1159745&view=auto ============================================================================== --- maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Part.java (added) +++ maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Part.java Fri Aug 19 18:58:10 2011 @@ -0,0 +1,8 @@ +package org.apache.maven.mae.internal.container.fixture; + +public interface Part +{ + + String getType(); + +} \ No newline at end of file Propchange: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Part.java ------------------------------------------------------------------------------ svn:eol-style = native Copied: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SimplePart.java (from r1158995, maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Child.java) URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SimplePart.java?p2=maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SimplePart.java&p1=maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Child.java&r1=1158995&r2=1159745&rev=1159745&view=diff ============================================================================== --- maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/Child.java (original) +++ maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SimplePart.java Fri Aug 19 18:58:10 2011 @@ -21,8 +21,15 @@ package org.apache.maven.mae.internal.co import org.codehaus.plexus.component.annotations.Component; -@Component( role = Child.class, hint = "simple" ) -public class Child +@Component( role = Part.class, hint = "simple" ) +public class SimplePart + implements Part { + @Override + public String getType() + { + return "simple"; + } + } Propchange: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SimplePart.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonLiteralOwner.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonLiteralOwner.java?rev=1159745&r1=1159744&r2=1159745&view=diff ============================================================================== --- maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonLiteralOwner.java (original) +++ maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonLiteralOwner.java Fri Aug 19 18:58:10 2011 @@ -26,10 +26,10 @@ import org.codehaus.plexus.component.ann public class SingletonLiteralOwner { - @Requirement( role = Child.class, hint = "simple_" ) - private Child singletonLiteral; + @Requirement( role = Part.class, hint = "simple_" ) + private Part singletonLiteral; - public Child singletonLiteral() + public Part singletonLiteral() { return singletonLiteral; } Modified: maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonOwner.java URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonOwner.java?rev=1159745&r1=1159744&r2=1159745&view=diff ============================================================================== --- maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonOwner.java (original) +++ maven/sandbox/trunk/mae/mae-booter/src/test/java/org/apache/maven/mae/internal/container/fixture/SingletonOwner.java Fri Aug 19 18:58:10 2011 @@ -26,10 +26,10 @@ import org.codehaus.plexus.component.ann public class SingletonOwner { - @Requirement( role = Child.class, hint = "simple" ) - private Child singleton; + @Requirement( role = Part.class, hint = "simple" ) + private Part singleton; - public Child singleton() + public Part singleton() { return singleton; }