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 @Override
41 public ArchetypeCatalog getArchetypeCatalog( ProjectBuildingRequest buildingRequest )
42 throws ArchetypeDataSourceException
43 {
44 try
45 {
46 InputStream in = getClass().getClassLoader().getResourceAsStream( ARCHETYPE_CATALOG_FILENAME );
47 Reader reader = ReaderFactory.newXmlReader( in );
48
49 return readCatalog( reader );
50 }
51 catch ( IOException e )
52 {
53 throw new ArchetypeDataSourceException( "Error reading archetype catalog.", e );
54 }
55 }
56
57 @Override
58 public void updateCatalog( ProjectBuildingRequest buildingRequest, Archetype archetype )
59 throws ArchetypeDataSourceException
60 {
61 throw new ArchetypeDataSourceException( "Not supported yet." );
62 }
63 }