KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > j2ee > blueprints > opc > webservicebroker > provider > BrokerEntityResolver


1 /*
2 * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * - Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * - Redistribution in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the
14 * distribution.
15 *
16 * Neither the name of Sun Microsystems, Inc. or the names of
17 * contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * This software is provided "AS IS," without a warranty of any
21 * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
22 * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
24 * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
25 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
26 * DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
27 * OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
28 * FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
29 * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
30 * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE,
31 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
32 *
33 * You acknowledge that Software is not designed, licensed or intended
34 * for use in the design, construction, operation or maintenance of
35 * any nuclear facility.
36 */

37
38 package com.sun.j2ee.blueprints.opc.webservicebroker.provider;
39
40  import org.xml.sax.*;
41  import java.io.*;
42
43
44  public class BrokerEntityResolver implements EntityResolver {
45      
46      private static String JavaDoc PACKAGE_LOCATION = "/com/sun/j2ee/blueprints/opc/webservicebroker/provider/";
47      private static String JavaDoc BLUEPRINTS_NS = "http://java.sun.com/blueprints/schemas/";
48      
49      public InputSource resolveEntity (String JavaDoc publicId, String JavaDoc systemId) {
50         if (systemId.equals(BLUEPRINTS_NS + "invoice.xsd")) {
51             return getClassPathSource("invoice.xsd");
52         } else if (systemId.equals(BLUEPRINTS_NS + "invoice-activity.xsd")) {
53             return getClassPathSource("invoice-activity.xsd");
54         } else if (systemId.equals(BLUEPRINTS_NS + "invoice-airline.xsd")) {
55             return getClassPathSource("invoice-airline.xsd");
56         } else if (systemId.equals(BLUEPRINTS_NS + "invoice-lodging.xsd")) {
57             return getClassPathSource("invoice-lodging.xsd");
58         } else {
59             // use the default behaviour
60
return null;
61         }
62    }
63    
64    private InputSource getClassPathSource(String JavaDoc name) {
65        InputStream is = null;
66        try {
67            is = getClass().getResourceAsStream(PACKAGE_LOCATION + name);
68            return new InputSource(is);
69        } catch (Exception JavaDoc e) {
70            System.err.println("BrokerEntityResolver error resolving: " + name);
71            e.printStackTrace();
72        }
73        // default to the default entity resolver
74
return null;
75    }
76  }
77  
78
Popular Tags