1adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/*
2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project This Java source file was generated by test-to-java.xsl
3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project and is a derived work from the source document.
4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project The source document contained the following notice:
5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
8f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Copyright (c) 2001 World Wide Web Consortium,
9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project (Massachusetts Institute of Technology, Institut National de
10f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Recherche en Informatique et en Automatique, Keio University).  All
11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project Rights Reserved.  This program is distributed under the W3C's Software
12f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes Intellectual Property License.  This program is distributed in the
13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project hope that it will be useful, but WITHOUT ANY WARRANTY; without even
14f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes PURPOSE.
16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project See W3C License http://www.w3.org/Consortium/Legal/ for more details.
18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage tests.org.w3c.dom;
23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.ArrayList;
25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport java.util.List;
26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.DOMImplementation;
28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.Document;
29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.DOMException;
30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport org.w3c.dom.DocumentType;
31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectimport javax.xml.parsers.DocumentBuilder;
33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/**
35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The "createDocumentType(qualifiedName,publicId,systemId)" method for a
36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * DOMImplementation should raise NAMESPACE_ERR DOMException if qualifiedName is
37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * malformed.
38f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes *
39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Retrieve the DOMImplementation on the XMLNS Document. Invoke method
40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * createDocumentType(qualifiedName,publicId,systemId) on the retrieved
41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * DOMImplementation with qualifiedName being the literal string
42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * "prefix::local", publicId as "STAFF", and systemId as "staff". Method should
43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * raise NAMESPACE_ERR DOMException.
44f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes *
45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author NIST
46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @author Mary Brady
47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see <a
48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])">http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('ID-258A00AF')/constant[@name='NAMESPACE_ERR'])</a>
49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see <a
50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocType">http://www.w3.org/TR/DOM-Level-2-Core/core#Level-2-Core-DOM-createDocType</a>
51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see <a
52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project *      href="http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocType')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])">http://www.w3.org/TR/DOM-Level-2-Core/core#xpointer(id('Level-2-Core-DOM-createDocType')/raises/exception[@name='DOMException']/descr/p[substring-before(.,':')='NAMESPACE_ERR'])</a>
53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */
54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpublic final class CreateDocumentType extends DOMTestCase {
55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    DOMDocumentBuilderFactory factory;
57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    DocumentBuilder builder;
59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void setUp() throws Exception {
61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        super.setUp();
62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        try {
63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            factory = new DOMDocumentBuilderFactory(DOMDocumentBuilderFactory
64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    .getConfiguration1());
65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            builder = factory.getBuilder();
66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        } catch (Exception e) {
67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            fail("Unexpected exception" + e.getMessage());
68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    protected void tearDown() throws Exception {
72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        factory = null;
73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        builder = null;
74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        super.tearDown();
75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    /**
78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * Runs the test case.
79f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes     *
80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     * @throws Throwable
81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     *             Any uncaught exception causes test to fail
82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project     */
83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testCreateDocumentType1() throws Throwable {
84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String publicId = "STAFF";
85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String systemId = "staff.xml";
86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String malformedName = "prefix::local";
87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMImplementation domImpl;
89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        domImpl = doc.getImplementation();
92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        {
94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            boolean success = false;
95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            try {
96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                domImpl.createDocumentType(malformedName, publicId, systemId);
97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            } catch (DOMException ex) {
98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                success = (ex.code == DOMException.NAMESPACE_ERR);
99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("throw_NAMESPACE_ERR", success);
101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testCreateDocumentType2() throws Throwable {
104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String publicId = "http://www.localhost.com/";
105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String systemId = "myDoc.dtd";
106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String qualifiedName;
107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMImplementation domImpl;
110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        List<String> illegalQNames = new ArrayList<String>();
111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:{");
112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:}");
113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:~");
114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:'");
115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:!");
116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:@");
117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:#");
118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:$");
119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:%");
120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:^");
121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:&");
122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:*");
123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:(");
124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:)");
125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:+");
126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:=");
127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:[");
128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:]");
129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:\\");
130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:/");
131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:;");
132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:`");
133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:<");
134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:>");
135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:,");
136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:a ");
137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        illegalQNames.add("edi:\"");
138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        for (int indexN1009A = 0; indexN1009A < illegalQNames.size(); indexN1009A++) {
141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            qualifiedName = (String) illegalQNames.get(indexN1009A);
142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            domImpl = doc.getImplementation();
143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            {
145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                boolean success = false;
146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                try {
147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    domImpl.createDocumentType(qualifiedName, publicId,
148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                            systemId);
149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                } catch (DOMException ex) {
150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                    success = (ex.code == DOMException.INVALID_CHARACTER_ERR);
151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                }
152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                assertTrue("throw_INVALID_CHARACTER_ERR", success);
153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testCreateDocumentType3() throws Throwable {
157f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes
158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String qualifiedName = "prefix:myDoc";
159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String publicId = "http://www.localhost.com";
160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String systemId = "myDoc.dtd";
161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        Document doc;
162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMImplementation domImpl;
163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DocumentType newType = null;
164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String nodeName;
166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String nodeValue;
167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        doc = (Document) load("staffNS", builder);
168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        domImpl = doc.getImplementation();
169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        newType = domImpl.createDocumentType(qualifiedName, publicId, systemId);
170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        nodeName = newType.getNodeName();
171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertEquals("nodeName", "prefix:myDoc", nodeName);
172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        nodeValue = newType.getNodeValue();
173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        assertNull("nodeValue", nodeValue);
174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    public void testCreateDocumentType4() throws Throwable {
176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String publicId = "http://www.example.com/";
177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        String systemId = "myDoc.dtd";
178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        DOMImplementation domImpl;
180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        domImpl = builder.getDOMImplementation();
181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project
182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        {
183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            boolean success = false;
184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            try {
185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                domImpl.createDocumentType("", publicId, systemId);
186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            } catch (DOMException ex) {
187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project                success = (ex.code == DOMException.NAMESPACE_ERR);
188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            }
189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project            assertTrue("throw_NAMESPACE_ERR", success);
190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project        }
191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project    }
192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project}
193