Hi Mauro, hi Christiano, so I did the right thing by extending the AnnotatedPathRunner. I took your idea with the anonymous class for the AnnotationBuilder and deleted my own implementation. Till now I was using the @UsingPaths annotation, but I think its nicer to have a new Annotation like
@Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.TYPE }) public @interface UsingStories { String[] storyies() default {}; } Thank you Cristiano for your hint! This is a nice idea and I tested it. These conversations are very useful. Best regards, Olmo On 22 December 2011 01:44, Cristiano Gavião <cvgav...@gmail.com> wrote: > Hi Olmo, > > As Mauro have said you can extend and findPaths() and you will be fine. > > Now that you found Annotated stuffs, one cool thing to be aware is about > the embedder annotations inheritance... all multi-value annotations > attributes can be merged... > > with that, you could group stories in one embeder hierarchy and reference > the leaf in the maven plugin. > > cheers > > Cristiano > > > > > > On 21/12/11 19:56, Mauro Talevi wrote: > > Right, I now see what you mean. I hadn't quite got the right end of the > stick before. > > So, yes, in other to reuse the logic of the @UsingPaths you'll need to > override the AnnotationBuilder.findPaths() method. > > Something of this sort would work: > > public class AnnotatedJiraRunner extends AnnotatedPathRunner { > > public AnnotationBuilder annotationBuilder() { > return new AnnotationBuilder(testClass()){ > public List<String> findPaths(){ > // implement your own, bearing in mind that > annotationFinder() is accessible by sub-classes > } > }; > } > } > > I would make sense to have this impl added to the jira module. > > On 21/12/2011 19:21, Olmo Rigolo wrote: > > Mauro, > > I do so. But since I tried to use the AnnotatedPathRunner, the storyPaths > are always null. Because the AnnotatedPathRunner uses the AnnotationBuilder > which has a findPaths() method that is not doing the right thing for me. In > my case it returns null. > This is only the case if I use the AnnotatedPathRunner. > > On 21 December 2011 19:16, Mauro Talevi <mauro.tal...@aquilonia.org>wrote: > >> You already have an loader that interprets these paths appropriately, so >> I would argue that introducing a new annotation is a bit redundant. >> >> Given that paths are just strings, you could re-interpret them as generic >> story ids (a "path" to a story). >> >> >> On Wed Dec 21 19:05:57 2011, Olmo Rigolo wrote: >> >>> Hi! >>> >>> I already use a my own LoadFromJIRA story loader that takes jira story >>> ids instead of paths as input to search for stories. >>> I also use the AnnotatedPathRunner to run my tests. There is a >>> @UsingPaths annotation which is read by the findPaths() method from the >>> AnnotationBuilder. >>> Since I dont need paths, but just Ids, the impementation of findPaths() >>> is not applicable in my case. >>> >>> >>> The idea is to implement my own ExtendedAnnotatedPathRunner with its own >>> annotation @UseStories for the story ids from JIRA. >>> @UseStories(stories={"story-1074", "story-2347"}) >>> >>> The ExtendedAnnotatedPathRunner uses a new ExtendedAnnotatedBuilder >>> that handles the new Annotation @UseStories. >>> >>> The appropriate findPath() implementation in the >>> ExtendedAnnotatedBuilder would be: >>> >>> public List<String> findPaths() { >>> if (!finder.isAnnotationPresent(UseStories.class)) { >>> return new ArrayList<String>(); >>> } >>> List<String> includes = >>> finder.getAnnotatedValues(UseStories.class, String.class, "stories"); >>> return includes; >>> } >>> >>> >>> Is there a easier way to do this? SInce I just could use >>> @UsingPaths.includes to set my story ids, but with my own findPaths() >>> implementation. >>> >>> Thanks in advance. >>> >>> Olmo >>> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> >> > > >