You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by sa...@apache.org on 2002/05/21 23:41:50 UTC
cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs/util XSNamedMap4Types.java XSNamedMapImpl.java
sandygao 02/05/21 14:41:50
Modified: java/src/org/apache/xerces/impl/xs XSModelImpl.java
java/src/org/apache/xerces/impl/xs/util
XSNamedMap4Types.java XSNamedMapImpl.java
Log:
Fixing potential NullPointerException bugs (including bug [9243]).
Revision Changes Path
1.2 +13 -8 xml-xerces/java/src/org/apache/xerces/impl/xs/XSModelImpl.java
Index: XSModelImpl.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/XSModelImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XSModelImpl.java 16 May 2002 18:25:54 -0000 1.1
+++ XSModelImpl.java 21 May 2002 21:41:50 -0000 1.2
@@ -71,7 +71,7 @@
*
* @author Sandy Gao, IBM
*
- * @version $Id: XSModelImpl.java,v 1.1 2002/05/16 18:25:54 sandygao Exp $
+ * @version $Id: XSModelImpl.java,v 1.2 2002/05/21 21:41:50 sandygao Exp $
*/
public class XSModelImpl implements XSModel {
@@ -164,7 +164,7 @@
// establish the mapping from namespace to grammars
fGrammarMap = new SymbolHash(len*2);
for (i = 0; i < len; i++) {
- fGrammarMap.put(fNamespaces[i], fGrammarList[i]);
+ fGrammarMap.put(null2EmptyString(fNamespaces[i]), fGrammarList[i]);
}
fGrammarCount = len;
@@ -316,7 +316,7 @@
*/
public XSTypeDefinition getTypeDefinition(String name,
String namespace) {
- SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(namespace);
+ SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(null2EmptyString(namespace));
if (sg == null)
return null;
return (XSTypeDefinition)sg.fGlobalTypeDecls.get(name);
@@ -331,7 +331,7 @@
*/
public XSAttributeDeclaration getAttributeDecl(String name,
String namespace) {
- SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(namespace);
+ SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(null2EmptyString(namespace));
if (sg == null)
return null;
return (XSAttributeDeclaration)sg.fGlobalAttrDecls.get(name);
@@ -346,7 +346,7 @@
*/
public XSElementDeclaration getElementDecl(String name,
String namespace) {
- SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(namespace);
+ SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(null2EmptyString(namespace));
if (sg == null)
return null;
return (XSElementDeclaration)sg.fGlobalElemDecls.get(name);
@@ -361,7 +361,7 @@
*/
public XSAttributeGroupDefinition getAttributeGroup(String name,
String namespace) {
- SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(namespace);
+ SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(null2EmptyString(namespace));
if (sg == null)
return null;
return (XSAttributeGroupDefinition)sg.fGlobalAttrGrpDecls.get(name);
@@ -377,7 +377,7 @@
*/
public XSModelGroupDefinition getModelGroupDefinition(String name,
String namespace) {
- SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(namespace);
+ SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(null2EmptyString(namespace));
if (sg == null)
return null;
return (XSModelGroupDefinition)sg.fGlobalGroupDecls.get(name);
@@ -393,7 +393,7 @@
*/
public XSNotationDeclaration getNotationDecl(String name,
String namespace) {
- SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(namespace);
+ SchemaGrammar sg = (SchemaGrammar)fGrammarMap.get(null2EmptyString(namespace));
if (sg == null)
return null;
return (XSNotationDeclaration)sg.fGlobalNotationDecls.get(name);
@@ -407,4 +407,9 @@
return null;
}
+ private static final String EMPTY_STRING = "";
+ private static final String null2EmptyString(String str) {
+ return str == null ? EMPTY_STRING : str;
+ }
+
} // class XSModelImpl
1.2 +3 -2 xml-xerces/java/src/org/apache/xerces/impl/xs/util/XSNamedMap4Types.java
Index: XSNamedMap4Types.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/util/XSNamedMap4Types.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XSNamedMap4Types.java 16 May 2002 18:25:56 -0000 1.1
+++ XSNamedMap4Types.java 21 May 2002 21:41:50 -0000 1.2
@@ -66,7 +66,7 @@
*
* @author Sandy Gao, IBM
*
- * @version $Id: XSNamedMap4Types.java,v 1.1 2002/05/16 18:25:56 sandygao Exp $
+ * @version $Id: XSNamedMap4Types.java,v 1.2 2002/05/21 21:41:50 sandygao Exp $
*/
public class XSNamedMap4Types extends XSNamedMapImpl {
@@ -141,7 +141,8 @@
* identify any <code>XSObject</code> in this map.
*/
public XSObject getNSItem(String namespace, String localName) {
- namespace = namespace.intern();
+ if (namespace != null)
+ namespace = namespace.intern();
for (int i = 0; i < fNSNum; i++) {
if (namespace == fNamespaces[i]) {
XSTypeDefinition type = (XSTypeDefinition)fMaps[i].get(localName);
1.2 +3 -2 xml-xerces/java/src/org/apache/xerces/impl/xs/util/XSNamedMapImpl.java
Index: XSNamedMapImpl.java
===================================================================
RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/util/XSNamedMapImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XSNamedMapImpl.java 16 May 2002 18:25:56 -0000 1.1
+++ XSNamedMapImpl.java 21 May 2002 21:41:50 -0000 1.2
@@ -66,7 +66,7 @@
*
* @author Sandy Gao, IBM
*
- * @version $Id: XSNamedMapImpl.java,v 1.1 2002/05/16 18:25:56 sandygao Exp $
+ * @version $Id: XSNamedMapImpl.java,v 1.2 2002/05/21 21:41:50 sandygao Exp $
*/
public class XSNamedMapImpl implements XSNamedMap {
@@ -157,7 +157,8 @@
* identify any <code>XSObject</code> in this map.
*/
public XSObject getNSItem(String namespace, String localName) {
- namespace = namespace.intern();
+ if (namespace != null)
+ namespace = namespace.intern();
for (int i = 0; i < fNSNum; i++) {
if (namespace == fNamespaces[i]) {
// when this map is created from SymbolHash's
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org