KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > pentaho > repository > PentahoEntityResolver


1 /*
2  * Copyright 2006 Pentaho Corporation. All rights reserved.
3  * This software was developed by Pentaho Corporation and is provided under the terms
4  * of the Mozilla Public License, Version 1.1, or any later version. You may not use
5  * this file except in compliance with the license. If you need a copy of the license,
6  * please go to http://www.mozilla.org/MPL/MPL-1.1.txt. The Original Code is the Pentaho
7  * BI Platform. The Initial Developer is Pentaho Corporation.
8  *
9  * Software distributed under the Mozilla Public License is distributed on an "AS IS"
10  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
11  * the license for the specific language governing your rights and limitations.
12  *
13  * @created Jul 27, 2005
14  * @author James Dixon
15  */

16
17 package org.pentaho.repository;
18
19 import java.io.FileInputStream JavaDoc;
20 import java.io.FileNotFoundException JavaDoc;
21 import java.io.IOException JavaDoc;
22
23 import org.pentaho.core.system.PentahoSystem;
24 import org.xml.sax.EntityResolver JavaDoc;
25 import org.xml.sax.InputSource JavaDoc;
26 import org.xml.sax.SAXException JavaDoc;
27
28 public class PentahoEntityResolver implements EntityResolver JavaDoc {
29
30     /*
31      * (non-Javadoc)
32      *
33      * @see org.xml.sax.EntityResolver#resolveEntity(java.lang.String,
34      * java.lang.String)
35      */

36     public InputSource JavaDoc resolveEntity(String JavaDoc publicId, String JavaDoc systemId) throws SAXException JavaDoc, IOException JavaDoc {
37
38         int idx = systemId.lastIndexOf('/');
39         String JavaDoc dtdName = systemId.substring(idx + 1);
40         String JavaDoc fullPath = PentahoSystem.getApplicationContext().getSolutionPath("system/dtd/" + dtdName); //$NON-NLS-1$
41

42         try {
43             FileInputStream JavaDoc xslIS = new FileInputStream JavaDoc(fullPath);
44             InputSource JavaDoc source = new InputSource JavaDoc(xslIS);
45             return source;
46         } catch (FileNotFoundException JavaDoc e) {
47
48         }
49         return null;
50     }
51
52 }
53
Popular Tags