Imported GNU Classpath 0.92
2006-08-14 Mark Wielaard <mark@klomp.org> Imported GNU Classpath 0.92 * HACKING: Add more importing hints. Update automake version requirement. * configure.ac (gconf-peer): New enable AC argument. Add --disable-gconf-peer and --enable-default-preferences-peer to classpath configure when gconf is disabled. * scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and gnu/java/awt/dnd/peer/gtk to bc. Classify gnu/java/security/Configuration.java as generated source file. * gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java, gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java, gnu/java/lang/management/VMClassLoadingMXBeanImpl.java, gnu/java/lang/management/VMRuntimeMXBeanImpl.java, gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java, gnu/java/lang/management/VMThreadMXBeanImpl.java, gnu/java/lang/management/VMMemoryMXBeanImpl.java, gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub classes. * java/lang/management/VMManagementFactory.java: Likewise. * java/net/VMURLConnection.java: Likewise. * gnu/java/nio/VMChannel.java: Likewise. * java/lang/Thread.java (getState): Add stub implementation. * java/lang/Class.java (isEnum): Likewise. * java/lang/Class.h (isEnum): Likewise. * gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed. * javax/naming/spi/NamingManager.java: New override for StackWalker functionality. * configure, sources.am, Makefile.in, gcj/Makefile.in, include/Makefile.in, testsuite/Makefile.in: Regenerated. From-SVN: r116139
This commit is contained in:
@@ -56,6 +56,8 @@ package gnu.xml.stream;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.EOFException;
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.FileWriter;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.IOException;
|
||||
@@ -86,6 +88,8 @@ import javax.xml.stream.XMLStreamException;
|
||||
import javax.xml.stream.XMLStreamReader;
|
||||
|
||||
import gnu.java.net.CRLFInputStream;
|
||||
import gnu.classpath.debug.TeeInputStream;
|
||||
import gnu.classpath.debug.TeeReader;
|
||||
|
||||
/**
|
||||
* An XML parser.
|
||||
@@ -420,6 +424,21 @@ public class XMLParser
|
||||
ids = new HashSet();
|
||||
idrefs = new HashSet();
|
||||
}
|
||||
String debug = System.getProperty("gnu.xml.debug.input");
|
||||
if (debug != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
File file = File.createTempFile(debug, ".xml");
|
||||
in = new TeeInputStream(in, new FileOutputStream(file));
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
RuntimeException e2 = new RuntimeException();
|
||||
e2.initCause(e);
|
||||
throw e2;
|
||||
}
|
||||
}
|
||||
pushInput(new Input(in, null, null, systemId, null, null, false, true));
|
||||
}
|
||||
|
||||
@@ -479,6 +498,21 @@ public class XMLParser
|
||||
ids = new HashSet();
|
||||
idrefs = new HashSet();
|
||||
}
|
||||
String debug = System.getProperty("gnu.xml.debug.input");
|
||||
if (debug != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
File file = File.createTempFile(debug, ".xml");
|
||||
reader = new TeeReader(reader, new FileWriter(file));
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
RuntimeException e2 = new RuntimeException();
|
||||
e2.initCause(e);
|
||||
throw e2;
|
||||
}
|
||||
}
|
||||
pushInput(new Input(null, reader, null, systemId, null, null, false, true));
|
||||
}
|
||||
|
||||
@@ -1332,6 +1366,15 @@ public class XMLParser
|
||||
return false;
|
||||
}
|
||||
count += l2;
|
||||
// check the characters we received first before doing additional reads
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
if (chars[i] != tmpBuf[i])
|
||||
{
|
||||
reset();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
while (count < len)
|
||||
{
|
||||
// force read
|
||||
@@ -1341,15 +1384,14 @@ public class XMLParser
|
||||
reset();
|
||||
return false;
|
||||
}
|
||||
tmpBuf[count++] = (char) c;
|
||||
}
|
||||
for (int i = 0; i < len; i++)
|
||||
{
|
||||
if (chars[i] != tmpBuf[i])
|
||||
tmpBuf[count] = (char) c;
|
||||
// check each character as it is read
|
||||
if (chars[count] != tmpBuf[count])
|
||||
{
|
||||
reset();
|
||||
return false;
|
||||
}
|
||||
count++;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -4250,97 +4292,131 @@ public class XMLParser
|
||||
public static void main(String[] args)
|
||||
throws Exception
|
||||
{
|
||||
boolean validating = false;
|
||||
boolean namespaceAware = false;
|
||||
boolean xIncludeAware = false;
|
||||
if (args.length > 1 && "-x".equals(args[1]))
|
||||
xIncludeAware = true;
|
||||
XMLParser p = new XMLParser(new java.io.FileInputStream(args[0]),
|
||||
absolutize(null, args[0]),
|
||||
true, // validating
|
||||
true, // namespaceAware
|
||||
true, // coalescing,
|
||||
true, // replaceERefs
|
||||
true, // externalEntities
|
||||
true, // supportDTD
|
||||
true, // baseAware
|
||||
true, // stringInterning
|
||||
true, // extendedEventTypes
|
||||
null,
|
||||
null);
|
||||
XMLStreamReader reader = p;
|
||||
if (xIncludeAware)
|
||||
reader = new XIncludeFilter(p, args[0], true, true, true);
|
||||
try
|
||||
int pos = 0;
|
||||
while (pos < args.length && args[pos].startsWith("-"))
|
||||
{
|
||||
int event;
|
||||
//do
|
||||
while (reader.hasNext())
|
||||
if ("-x".equals(args[pos]))
|
||||
xIncludeAware = true;
|
||||
else if ("-v".equals(args[pos]))
|
||||
validating = true;
|
||||
else if ("-n".equals(args[pos]))
|
||||
namespaceAware = true;
|
||||
pos++;
|
||||
}
|
||||
if (pos >= args.length)
|
||||
{
|
||||
System.out.println("Syntax: XMLParser [-n] [-v] [-x] <file> [<file2> [...]]");
|
||||
System.out.println("\t-n: use namespace aware mode");
|
||||
System.out.println("\t-v: use validating parser");
|
||||
System.out.println("\t-x: use XInclude aware mode");
|
||||
System.exit(2);
|
||||
}
|
||||
while (pos < args.length)
|
||||
{
|
||||
XMLParser p = new XMLParser(new java.io.FileInputStream(args[pos]),
|
||||
absolutize(null, args[pos]),
|
||||
validating, // validating
|
||||
namespaceAware, // namespaceAware
|
||||
true, // coalescing,
|
||||
true, // replaceERefs
|
||||
true, // externalEntities
|
||||
true, // supportDTD
|
||||
true, // baseAware
|
||||
true, // stringInterning
|
||||
true, // extendedEventTypes
|
||||
null,
|
||||
null);
|
||||
XMLStreamReader reader = p;
|
||||
if (xIncludeAware)
|
||||
reader = new XIncludeFilter(p, args[pos], true, true, true);
|
||||
try
|
||||
{
|
||||
event = reader.next();
|
||||
Location loc = reader.getLocation();
|
||||
System.out.print(loc.getLineNumber()+":"+loc.getColumnNumber()+" ");
|
||||
switch (event)
|
||||
int event;
|
||||
//do
|
||||
while (reader.hasNext())
|
||||
{
|
||||
case XMLStreamConstants.START_DOCUMENT:
|
||||
System.out.println("START_DOCUMENT version="+reader.getVersion()+
|
||||
" encoding="+reader.getEncoding());
|
||||
break;
|
||||
case XMLStreamConstants.END_DOCUMENT:
|
||||
System.out.println("END_DOCUMENT");
|
||||
break;
|
||||
case XMLStreamConstants.START_ELEMENT:
|
||||
System.out.println("START_ELEMENT "+reader.getName());
|
||||
int l = reader.getNamespaceCount();
|
||||
for (int i = 0; i < l; i++)
|
||||
System.out.println("\tnamespace "+reader.getNamespacePrefix(i)+
|
||||
"='"+reader.getNamespaceURI(i)+"'");
|
||||
l = reader.getAttributeCount();
|
||||
for (int i = 0; i < l; i++)
|
||||
System.out.println("\tattribute "+reader.getAttributeName(i)+
|
||||
"='"+reader.getAttributeValue(i)+"'");
|
||||
break;
|
||||
case XMLStreamConstants.END_ELEMENT:
|
||||
System.out.println("END_ELEMENT "+reader.getName());
|
||||
break;
|
||||
case XMLStreamConstants.CHARACTERS:
|
||||
System.out.println("CHARACTERS '"+encodeText(reader.getText())+"'");
|
||||
break;
|
||||
case XMLStreamConstants.CDATA:
|
||||
System.out.println("CDATA '"+encodeText(reader.getText())+"'");
|
||||
break;
|
||||
case XMLStreamConstants.SPACE:
|
||||
System.out.println("SPACE '"+encodeText(reader.getText())+"'");
|
||||
break;
|
||||
case XMLStreamConstants.DTD:
|
||||
System.out.println("DTD "+reader.getText());
|
||||
break;
|
||||
case XMLStreamConstants.ENTITY_REFERENCE:
|
||||
System.out.println("ENTITY_REFERENCE "+reader.getText());
|
||||
break;
|
||||
case XMLStreamConstants.COMMENT:
|
||||
System.out.println("COMMENT '"+encodeText(reader.getText())+"'");
|
||||
break;
|
||||
case XMLStreamConstants.PROCESSING_INSTRUCTION:
|
||||
System.out.println("PROCESSING_INSTRUCTION "+reader.getPITarget()+
|
||||
" "+reader.getPIData());
|
||||
break;
|
||||
case START_ENTITY:
|
||||
System.out.println("START_ENTITY "+reader.getText());
|
||||
break;
|
||||
case END_ENTITY:
|
||||
System.out.println("END_ENTITY "+reader.getText());
|
||||
break;
|
||||
default:
|
||||
System.out.println("Unknown event: "+event);
|
||||
event = reader.next();
|
||||
Location loc = reader.getLocation();
|
||||
System.out.print(loc.getLineNumber() + ":" +
|
||||
loc.getColumnNumber() + " ");
|
||||
switch (event)
|
||||
{
|
||||
case XMLStreamConstants.START_DOCUMENT:
|
||||
System.out.println("START_DOCUMENT version=" +
|
||||
reader.getVersion() +
|
||||
" encoding=" +
|
||||
reader.getEncoding());
|
||||
break;
|
||||
case XMLStreamConstants.END_DOCUMENT:
|
||||
System.out.println("END_DOCUMENT");
|
||||
break;
|
||||
case XMLStreamConstants.START_ELEMENT:
|
||||
System.out.println("START_ELEMENT " +
|
||||
reader.getName());
|
||||
int l = reader.getNamespaceCount();
|
||||
for (int i = 0; i < l; i++)
|
||||
System.out.println("\tnamespace " +
|
||||
reader.getNamespacePrefix(i) + "='" +
|
||||
reader.getNamespaceURI(i)+"'");
|
||||
l = reader.getAttributeCount();
|
||||
for (int i = 0; i < l; i++)
|
||||
System.out.println("\tattribute " +
|
||||
reader.getAttributeName(i) + "='" +
|
||||
reader.getAttributeValue(i) + "'");
|
||||
break;
|
||||
case XMLStreamConstants.END_ELEMENT:
|
||||
System.out.println("END_ELEMENT " + reader.getName());
|
||||
break;
|
||||
case XMLStreamConstants.CHARACTERS:
|
||||
System.out.println("CHARACTERS '" +
|
||||
encodeText(reader.getText()) + "'");
|
||||
break;
|
||||
case XMLStreamConstants.CDATA:
|
||||
System.out.println("CDATA '" +
|
||||
encodeText(reader.getText()) + "'");
|
||||
break;
|
||||
case XMLStreamConstants.SPACE:
|
||||
System.out.println("SPACE '" +
|
||||
encodeText(reader.getText()) + "'");
|
||||
break;
|
||||
case XMLStreamConstants.DTD:
|
||||
System.out.println("DTD " + reader.getText());
|
||||
break;
|
||||
case XMLStreamConstants.ENTITY_REFERENCE:
|
||||
System.out.println("ENTITY_REFERENCE " + reader.getText());
|
||||
break;
|
||||
case XMLStreamConstants.COMMENT:
|
||||
System.out.println("COMMENT '" +
|
||||
encodeText(reader.getText()) + "'");
|
||||
break;
|
||||
case XMLStreamConstants.PROCESSING_INSTRUCTION:
|
||||
System.out.println("PROCESSING_INSTRUCTION " +
|
||||
reader.getPITarget() + " " +
|
||||
reader.getPIData());
|
||||
break;
|
||||
case START_ENTITY:
|
||||
System.out.println("START_ENTITY " + reader.getText());
|
||||
break;
|
||||
case END_ENTITY:
|
||||
System.out.println("END_ENTITY " + reader.getText());
|
||||
break;
|
||||
default:
|
||||
System.out.println("Unknown event: " + event);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (XMLStreamException e)
|
||||
{
|
||||
Location l = reader.getLocation();
|
||||
System.out.println("At line "+l.getLineNumber()+
|
||||
", column "+l.getColumnNumber()+
|
||||
" of "+l.getSystemId());
|
||||
throw e;
|
||||
catch (XMLStreamException e)
|
||||
{
|
||||
Location l = reader.getLocation();
|
||||
System.out.println("At line "+l.getLineNumber()+
|
||||
", column "+l.getColumnNumber()+
|
||||
" of "+l.getSystemId());
|
||||
throw e;
|
||||
}
|
||||
pos++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5039,7 +5115,6 @@ public class XMLParser
|
||||
void mark(int len)
|
||||
throws IOException
|
||||
{
|
||||
//System.out.println(" mark:"+len);
|
||||
markOffset = offset;
|
||||
markLine = line;
|
||||
markColumn = column;
|
||||
@@ -5082,7 +5157,9 @@ public class XMLParser
|
||||
{
|
||||
int ret;
|
||||
if (unicodeReader != null)
|
||||
ret = unicodeReader.read(b, off, len);
|
||||
{
|
||||
ret = unicodeReader.read(b, off, len);
|
||||
}
|
||||
else
|
||||
{
|
||||
byte[] b2 = new byte[len];
|
||||
|
||||
Reference in New Issue
Block a user