1   package org.apache.maven.jelly.tags.maven;
2   
3   /* ====================================================================
4    *   Licensed to the Apache Software Foundation (ASF) under one or more
5    *   contributor license agreements.  See the NOTICE file distributed with
6    *   this work for additional information regarding copyright ownership.
7    *   The ASF licenses this file to You under the Apache License, Version 2.0
8    *   (the "License"); you may not use this file except in compliance with
9    *   the License.  You may obtain a copy of the License at
10   *
11   *       http://www.apache.org/licenses/LICENSE-2.0
12   *
13   *   Unless required by applicable law or agreed to in writing, software
14   *   distributed under the License is distributed on an "AS IS" BASIS,
15   *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   *   See the License for the specific language governing permissions and
17   *   limitations under the License.
18   * ====================================================================
19   */
20  
21  import java.util.ArrayList;
22  import java.util.List;
23  import java.util.StringTokenizer;
24  
25  import org.apache.maven.project.Dependency;
26  import org.apache.maven.project.Project;
27  
28  /**
29   * @author  Ben Walding
30   * @version $Id: DependencyResolverTestData.java 517014 2007-03-11 21:15:50Z ltheussl $
31   */
32  public class DependencyResolverTestData
33  {
34  
35      public static List getTestSimple1()
36      {
37          List results = new ArrayList();
38          results.add( createProject( "j:j", "n:n" ) );
39          results.add( createProject( "n:n", "e:e" ) );
40          results.add( createProject( "e:e", "b:b" ) );
41          results.add( createProject( "b:b", "" ) );
42          return results;
43      }
44  
45      public static List getTestSimple2()
46      {
47          List results = new ArrayList();
48          results.add( createProject( "ox:ox", "nf:nf" ) );
49          results.add( createProject( "nf:nf", "ow:ow" ) );
50          results.add( createProject( "ow:ow", "br:br" ) );
51          results.add( createProject( "br:br", "ck:ck" ) );
52          results.add( createProject( "ck:ck", "ui:ui" ) );
53          results.add( createProject( "ui:ui", "eq:eq" ) );
54          results.add( createProject( "eq:eq", "th:th" ) );
55          results.add( createProject( "th:th", "" ) );
56          results.add( createProject( "ox:ox", "nf:nf" ) );
57          results.add( createProject( "ox:ox", "nf:nf" ) );
58          return results;
59      }
60  
61      public static List getTestSimple3()
62      {
63          List results = new ArrayList();
64          results.add( createProject( "ox:ox", "nf:nf" ) );
65          results.add( createProject( "ui:ui", "eq:eq" ) );
66          results.add( createProject( "ow:ow", "br:br" ) );
67          results.add( createProject( "ck:ck", "ui:ui" ) );
68          results.add( createProject( "nf:nf", "ow:ow" ) );
69          results.add( createProject( "eq:eq", "th:th" ) );
70          results.add( createProject( "br:br", "ck:ck" ) );
71          results.add( createProject( "th:th", "" ) );
72          return results;
73      }
74  
75      public static List getTestCycle()
76      {
77          List results = new ArrayList();
78          results.add( createProject( "a:a", "b:b" ) );
79          results.add( createProject( "b:b", "c:c" ) );
80          results.add( createProject( "c:c", "a:a" ) );
81          return results;
82      }
83  
84      public static List getTestComplex()
85      {
86          List results = new ArrayList();
87          results.add( createProject( "tyre:tyre", "rubber:rubber" ) );
88          results.add( createProject( "car:car", "petrol:petrol,driver:driver,key:key,tyre:tyre" ) );
89          results.add( createProject( "car:car", "" ) );
90          results.add( createProject( "driver:driver", "wallet:wallet,license:license,key:key" ) );
91          results.add( createProject( "driver:driver", "beer:beer" ) );
92          results.add( createProject( "beer:beer", "water:water,hops:hops,malt:malt" ) );
93          results.add( createProject( "hops:hops", "" ) );
94          return results;
95      }
96  
97      private static Project createProject( String id )
98      {
99          Project p = new Project();
100         p.setId( id );
101         return p;
102     }
103 
104     private static Dependency createDependency( String id )
105     {
106         Dependency d = new Dependency();
107         d.setId( id );
108         return d;
109     }
110 
111     private static Project createProject( String id, String dependencies )
112     {
113         StringTokenizer depToks = new StringTokenizer( dependencies, ",", false );
114         Project p = createProject( id );
115         while ( depToks.hasMoreTokens() )
116         {
117             String token = depToks.nextToken();
118             Dependency d = createDependency( token );
119             p.addDependency( d );
120         }
121         return p;
122     }
123 }