Author: vgritsenko Date: Wed Mar 14 20:36:46 2007 New Revision: 518458 URL: http://svn.apache.org/viewvc?view=rev&rev=518458 Log: cleanup
Modified: xml/xindice/trunk/java/src/org/apache/xindice/xml/SymbolTable.java Modified: xml/xindice/trunk/java/src/org/apache/xindice/xml/SymbolTable.java URL: http://svn.apache.org/viewvc/xml/xindice/trunk/java/src/org/apache/xindice/xml/SymbolTable.java?view=diff&rev=518458&r1=518457&r2=518458 ============================================================================== --- xml/xindice/trunk/java/src/org/apache/xindice/xml/SymbolTable.java (original) +++ xml/xindice/trunk/java/src/org/apache/xindice/xml/SymbolTable.java Wed Mar 14 20:36:46 2007 @@ -42,13 +42,14 @@ static final String NSURI = "nsuri"; static final String ID = "id"; - private transient boolean dirty = false; + private transient boolean dirty; private transient long lastModified = System.currentTimeMillis(); - private Map symbols = new HashMap(); // String to SymbolInfo - private Map names = new HashMap(); // Short to SymbolInfo + private final Map symbols = new HashMap(); // String to SymbolInfo + private final Map names = new HashMap(); // Short to SymbolInfo private short maxSymbol = -1; + public SymbolTable() { } @@ -56,7 +57,7 @@ streamFromXML(elem); } - public static final String getLookupName(String qname, String namespaceURI) { + public static String getLookupName(String qname, String namespaceURI) { StringBuffer sb = new StringBuffer(128); sb.append('['); sb.append(namespaceURI); @@ -65,13 +66,12 @@ return sb.toString(); } - public static final short getNormalizedSymbol(SymbolTable symbols, String lookup, NamespaceMap nsMap, boolean create) { + public static short getNormalizedSymbol(SymbolTable symbols, String lookup, NamespaceMap nsMap, boolean create) { if (lookup.startsWith("[")) { int idx = lookup.indexOf(']'); String nsURI = lookup.substring(1, idx); int cidx = lookup.indexOf(idx + 1, ':'); - String name = cidx != -1 ? lookup.substring(cidx + 1) - : lookup.substring(idx + 1); + String name = cidx != -1 ? lookup.substring(cidx + 1) : lookup.substring(idx + 1); return symbols.getSymbol(getNormalizedLocalName(name, nsURI), nsURI, create); } else { int idx = lookup.indexOf(':'); @@ -81,26 +81,28 @@ if (nsURI != null) { String name = lookup.substring(idx + 1); return symbols.getSymbol(getNormalizedLocalName(name, nsURI), nsURI, create); - } else + } else { return symbols.getSymbol(lookup); - } else + } + } else { return symbols.getSymbol(lookup, create); + } } } - public static final String getNormalizedLocalName(String localName, String namespaceURI) { + public static String getNormalizedLocalName(String localName, String namespaceURI) { StringBuffer sb = new StringBuffer(32); sb.append("ns"); - sb.append(Integer.toString(namespaceURI.hashCode())); + sb.append(namespaceURI.hashCode()); sb.append(':'); sb.append(localName); return sb.toString(); } - public static final String getNormalizedQName(String qName, String namespaceURI) { + public static String getNormalizedQName(String qName, String namespaceURI) { StringBuffer sb = new StringBuffer(32); sb.append("ns"); - sb.append(Integer.toString(namespaceURI.hashCode())); + sb.append(namespaceURI.hashCode()); sb.append(':'); int idx = qName.indexOf(':'); if (idx != -1) { @@ -117,7 +119,7 @@ public final void setDirty(boolean dirty) { this.dirty = dirty; - lastModified = System.currentTimeMillis(); + this.lastModified = System.currentTimeMillis(); } public final SymbolInfo getSymbolInfo(String qname, String namespaceURI) { @@ -127,10 +129,13 @@ public final short getSymbol(String qname, String namespaceURI, boolean create) { String lookupName = getLookupName(qname, namespaceURI); + SymbolInfo info = (SymbolInfo) symbols.get(lookupName); if (info != null) { return info.symbol; - } else if (create) { + } + + if (create) { synchronized (symbols) { short id = ++maxSymbol; info = new SymbolInfo(qname, namespaceURI, id); @@ -140,6 +145,7 @@ return id; } } + return -1; } @@ -147,7 +153,9 @@ SymbolInfo info = (SymbolInfo) symbols.get(qname); if (info != null) { return info.symbol; - } else if (create) { + } + + if (create) { synchronized (symbols) { short id = ++maxSymbol; info = new SymbolInfo(qname, id); @@ -157,6 +165,7 @@ return id; } } + return -1; } @@ -174,14 +183,12 @@ public final String getNamespaceURI(short symbol) { SymbolInfo info = getSymbolInfo(symbol); - return info != null ? info.namespaceURI - : null; + return info != null ? info.namespaceURI : null; } public final String getName(short symbol) { SymbolInfo info = getSymbolInfo(symbol); - return info != null ? info.qname - : null; + return info != null ? info.qname : null; } public final long getLastModified() { @@ -230,16 +237,18 @@ if (namespaceURI != null) { String lookupName = getLookupName(qname, namespaceURI); symbols.put(lookupName, info); - } else + } else { symbols.put(qname, info); + } + names.put(id, info); } } - public final class SymbolInfo implements Serializable { - public String namespaceURI; - public String qname; - public short symbol; + public static final class SymbolInfo implements Serializable { + private String namespaceURI; + private String qname; + private short symbol; public SymbolInfo(String qname, String namespaceURI, short symbol) { this.qname = qname; @@ -265,6 +274,3 @@ } } } - - -