1 package org.apache.archiva.redback.components.modello.jpox;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.xml.sax.EntityResolver;
23 import org.xml.sax.InputSource;
24 import org.xml.sax.SAXException;
25
26 import java.io.IOException;
27 import java.net.URL;
28 import java.util.HashMap;
29 import java.util.Map;
30
31
32
33
34
35
36
37 public class JdoEntityResolver
38 implements EntityResolver
39 {
40 private static final Map PUBLICID_TO_RESOURCE_MAP;
41
42 static
43 {
44 PUBLICID_TO_RESOURCE_MAP = new HashMap();
45
46 PUBLICID_TO_RESOURCE_MAP.put( "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 1.0//EN",
47 "/jdo_1_0.dtd" );
48 PUBLICID_TO_RESOURCE_MAP.put( "-//Sun Microsystems, Inc.//DTD Java Data Objects Metadata 2.0//EN",
49 "/jdo_2_0.dtd" );
50 }
51
52 public InputSource resolveEntity( String publicId, String systemId )
53 throws SAXException, IOException
54 {
55 if ( PUBLICID_TO_RESOURCE_MAP.containsKey( publicId ) )
56 {
57 URL url = this.getClass().getResource( (String) PUBLICID_TO_RESOURCE_MAP.get( publicId ) );
58 return new InputSource( url.openStream() );
59 }
60
61 return null;
62 }
63
64 }