1 package org.apache.maven.archetype.source;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.archetype.catalog.Archetype;
23 import org.apache.maven.archetype.catalog.ArchetypeCatalog;
24 import org.apache.maven.project.ProjectBuildingRequest;
25 import org.codehaus.plexus.component.annotations.Component;
26 import org.codehaus.plexus.util.ReaderFactory;
27
28 import java.io.IOException;
29 import java.io.InputStream;
30 import java.io.Reader;
31
32
33
34
35 @Component( role = ArchetypeDataSource.class, hint = "internal-catalog" )
36 public class InternalCatalogArchetypeDataSource
37 extends CatalogArchetypeDataSource
38 {
39
40 public ArchetypeCatalog getArchetypeCatalog( ProjectBuildingRequest buildingRequest )
41 throws ArchetypeDataSourceException
42 {
43 try
44 {
45 InputStream in = getClass().getClassLoader().getResourceAsStream( ARCHETYPE_CATALOG_FILENAME );
46 Reader reader = ReaderFactory.newXmlReader( in );
47
48 return readCatalog( reader );
49 }
50 catch ( IOException e )
51 {
52 throw new ArchetypeDataSourceException( "Error reading archetype catalog.", e );
53 }
54 }
55
56 @Override
57 public void updateCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype )
58 throws ArchetypeDataSourceException
59 {
60 throw new ArchetypeDataSourceException( "Not supported yet." );
61 }
62 }