On Fri, Aug 07, 2009 at 03:05:33PM -0700, Todd Presta wrote:
>    I gave it a whirl on the Win32 platform and all but one of the tests 
> failed after attempting to build
>    java2perl6, apparently due to the system calls to javap using backticks. I 
> did a quick workaround
>    locally with IPC::Open2 instead and got a bit further, but progress is 
> still incomplete at this point.
>    Will post more details when my local sandbox is Win32-ified.

Great. Thanks Todd.

Send me a goggle account email and I'll give you commit access
so you can just check it in.

Tim.

> 
>    -- Todd Presta
>    -- [1]http://www.asciiville.com
> 
>    
> --------------------------------------------------------------------------------------------------------
> 
>    From: Tim Bunce <tim.bu...@pobox.com>
>    To: dbdi-dev@perl.org
>    Cc: Tim Bunce <tim.bu...@pobox.com>; crow.p...@gmail.com
>    Sent: Tuesday, August 4, 2009 5:00:08 PM
>    Subject: What needs doing...
>    I've applied a bunch of changes today.
> 
>    The current output of the [2]mkjdbc.pl script is appended below.
>    It's looking pretty good. (I'm using the latest rakudo from git)
> 
>    There are a few immediate issues...
> 
>        . . java.sql.SQLXML: jdbclib/java/sql/SQLXML.pm
>            ERROR (line 1): Invalid comp unit: Was expecting comp stmt
> 
>    javap normally outputs a line like "Compiled from "ByteOrder.java""
>    for most classes, and that's assumed by the grammar. It seems that
>    that line isn't output for some classes. The grammar need updating
>    to account for that. (about 12 of the failures are due to that.)
> 
>        . . . . java.sql.DatabaseMetaData: checking 
> jdbclib/java/sql/DatabaseMetaData.pm
>        Can't find ./java/util/Properties in @*INC
>        in Main (src/gen_setting.pm:445)
>                [...]
>        . . . . java.util.Properties: jdbclib/java/util/Properties.pm
> 
>    For some reason the fact that java.sql.DatabaseMetaData references
>    java.util.Properties wasn't noticed, so the generated
>    [3]DatabaseMetaData.pm was checked before java.util.Properties was
>    generated. Assorted other classes are affected in a similar way.
>    That needs fixing.
> 
>    There are a couple of problems with the generated perl6 code:
> 
>        . . . java.security.PermissionCollection: checking 
> jdbclib/java/security/PermissionCollection.pm
>        Malformed method definition at line 11, near "add(\n    "
>        in Main (src/gen_setting.pm:3363)
> 
>        . . java.security.Permission: checking 
> jdbclib/java/security/Permission.pm
>        Unable to parse multisig; couldn't find final ')' at line 38, near 
> "--> java::"
>        in Main (src/gen_setting.pm:3363)
> 
>    It'll probably be a few days before I get back to this.
>    Volunteers are most welcome to hack at any of these issues.
> 
>    Thanks!
> 
>    Tim.
> 
>    . java.sql.ResultSet: jdbclib/java/sql/ResultSet.pm
>    . . [4]java.io.Reader: jdbclib/java/io/Reader.pm
>    . . . java.nio.CharBuffer: jdbclib/java/nio/CharBuffer.pm
>    . . . . java.lang.Appendable: jdbclib/java/lang/Appendable.pm
>    . . . . . java.lang.CharSequence: jdbclib/java/lang/CharSequence.pm
>    . . . . . java.lang.CharSequence: checking 
> jdbclib/java/lang/CharSequence.pm
>    syntax OK
>    . . . . java.lang.Appendable: checking jdbclib/java/lang/Appendable.pm
>    syntax OK
>    . . . . java.nio.Buffer: jdbclib/java/nio/Buffer.pm
>    . . . . java.nio.Buffer: checking jdbclib/java/nio/Buffer.pm
>    syntax OK
>    . . . . java.nio.ByteOrder: jdbclib/java/nio/ByteOrder.pm
>    . . . . java.nio.ByteOrder: checking jdbclib/java/nio/ByteOrder.pm
>    syntax OK
>    . . . java.nio.CharBuffer: checking jdbclib/java/nio/CharBuffer.pm
>    syntax OK
>    . . java.io.Reader: checking jdbclib/java/io/Reader.pm
>    syntax OK
>    . . java.math.BigDecimal: jdbclib/java/math/BigDecimal.pm
>    . . . java.math.MathContext: jdbclib/java/math/MathContext.pm
>    . . . . java.math.RoundingMode: jdbclib/java/math/RoundingMode.pm
>    . . . . . java.lang.Enum: jdbclib/java/lang/Enum.pm
>    . . . . . java.lang.Enum: checking jdbclib/java/lang/Enum.pm
>    syntax OK
>    . . . . java.math.RoundingMode: checking jdbclib/java/math/RoundingMode.pm
>    syntax OK
>    . . . java.math.MathContext: checking jdbclib/java/math/MathContext.pm
>    syntax OK
>    . . java.math.BigDecimal: checking jdbclib/java/math/BigDecimal.pm
>    Can't find ./Float in @*INC                  <== I've fixed this.
>    in Main (src/gen_setting.pm:445)
>    . . java.sql.Blob: jdbclib/java/sql/Blob.pm
>    . . . [5]java.io.OutputStream: jdbclib/java/io/OutputStream.pm
>    . . . java.io.OutputStream: checking jdbclib/java/io/OutputStream.pm
>    syntax OK
>    . . java.sql.Blob: checking jdbclib/java/sql/Blob.pm
>    syntax OK
>    . . java.sql.Clob: jdbclib/java/sql/Clob.pm
>    . . . java.io.Writer: jdbclib/java/io/Writer.pm
>    . . . java.io.Writer: checking jdbclib/java/io/Writer.pm
>    syntax OK
>    . . java.sql.Clob: checking jdbclib/java/sql/Clob.pm
>    syntax OK
>    . . java.sql.Date: jdbclib/java/sql/Date.pm
>    . . . java.util.Date: jdbclib/java/util/Date.pm
>    . . . java.util.Date: checking jdbclib/java/util/Date.pm
>    syntax OK
>    . . java.sql.Date: checking jdbclib/java/sql/Date.pm
>    syntax OK
>    . . java.sql.NClob: jdbclib/java/sql/NClob.pm
>    . . java.sql.NClob: checking jdbclib/java/sql/NClob.pm
>    syntax OK
>    . . java.sql.Ref: jdbclib/java/sql/Ref.pm
>    . . . java.util.Map: jdbclib/java/util/Map.pm
>    . . . . java.util.Collection: jdbclib/java/util/Collection.pm
>    . . . . . java.lang.Iterable: jdbclib/java/lang/Iterable.pm
>    . . . . . . java.util.Iterator: jdbclib/java/util/Iterator.pm
>    . . . . . . java.util.Iterator: checking jdbclib/java/util/Iterator.pm
>    syntax OK
>    . . . . . java.lang.Iterable: checking jdbclib/java/lang/Iterable.pm
>    syntax OK
>    . . . . java.util.Collection: checking jdbclib/java/util/Collection.pm
>    syntax OK
>    . . . . java.util.Set: jdbclib/java/util/Set.pm
>    . . . . java.util.Set: checking jdbclib/java/util/Set.pm
>    syntax OK
>    . . . java.util.Map: checking jdbclib/java/util/Map.pm
>    syntax OK
>    . . java.sql.Ref: checking jdbclib/java/sql/Ref.pm
>    syntax OK
>    . . java.sql.ResultSetMetaData: jdbclib/java/sql/ResultSetMetaData.pm
>    . . . java.sql.Wrapper: jdbclib/java/sql/Wrapper.pm
>    . . . java.sql.Wrapper: checking jdbclib/java/sql/Wrapper.pm
>    syntax OK
>    . . java.sql.ResultSetMetaData: checking 
> jdbclib/java/sql/ResultSetMetaData.pm
>    syntax OK
>    . . java.sql.RowId: jdbclib/java/sql/RowId.pm
>    . . java.sql.RowId: checking jdbclib/java/sql/RowId.pm
>    syntax OK
>    . . java.sql.SQLWarning: jdbclib/java/sql/SQLWarning.pm
>    . . . java.sql.SQLException: jdbclib/java/sql/SQLException.pm
>    . . . . java.lang.Exception: jdbclib/java/lang/Exception.pm
>    . . . . . java.lang.Throwable: jdbclib/java/lang/Throwable.pm
>    . . . . . . [6]java.io.PrintStream: jdbclib/java/io/PrintStream.pm
>    . . . . . . . [7]java.io.FilterOutputStream: 
> jdbclib/java/io/FilterOutputStream.pm
>    . . . . . . . java.io.FilterOutputStream: checking 
> jdbclib/java/io/FilterOutputStream.pm
>    syntax OK
>    . . . . . . . java.util.Locale: jdbclib/java/util/Locale.pm
>    . . . . . . . java.util.Locale: checking jdbclib/java/util/Locale.pm
>    syntax OK
>    . . . . . . java.io.PrintStream: checking jdbclib/java/io/PrintStream.pm
>    syntax OK
>    . . . . . . java.io.PrintWriter: jdbclib/java/io/PrintWriter.pm
>    . . . . . . java.io.PrintWriter: checking jdbclib/java/io/PrintWriter.pm
>    syntax OK
>    . . . . . . java.lang.StackTraceElement: 
> jdbclib/java/lang/StackTraceElement.pm
>    . . . . . . java.lang.StackTraceElement: checking 
> jdbclib/java/lang/StackTraceElement.pm
>    syntax OK
>    . . . . . java.lang.Throwable: checking jdbclib/java/lang/Throwable.pm
>    syntax OK
>    . . . . java.lang.Exception: checking jdbclib/java/lang/Exception.pm
>    syntax OK
>    . . . java.sql.SQLException: checking jdbclib/java/sql/SQLException.pm
>    syntax OK
>    . . java.sql.SQLWarning: checking jdbclib/java/sql/SQLWarning.pm
>    syntax OK
>    . . java.sql.SQLXML: jdbclib/java/sql/SQLXML.pm
> 
>          ERROR (line 1): Invalid comp unit: Was expecting comp stmt
>    java.sql.CallableStatement: jdbclib/java/sql/CallableStatement.pm
>    . java.sql.PreparedStatement: jdbclib/java/sql/PreparedStatement.pm
>    . . java.sql.ParameterMetaData: jdbclib/java/sql/ParameterMetaData.pm
>    . . java.sql.ParameterMetaData: checking 
> jdbclib/java/sql/ParameterMetaData.pm
>    syntax OK
>    . . java.sql.Statement: jdbclib/java/sql/Statement.pm
>    . . . java.sql.Connection: jdbclib/java/sql/Connection.pm
>    . . . . java.sql.DatabaseMetaData: jdbclib/java/sql/DatabaseMetaData.pm
>    . . . . . java.sql.RowIdLifetime: jdbclib/java/sql/RowIdLifetime.pm
>    . . . . . java.sql.RowIdLifetime: checking 
> jdbclib/java/sql/RowIdLifetime.pm
>    syntax OK
>    . . . . java.sql.DatabaseMetaData: checking 
> jdbclib/java/sql/DatabaseMetaData.pm
>    Can't find ./java/util/Properties in @*INC
>    in Main (src/gen_setting.pm:445)
>    . . . . java.sql.Savepoint: jdbclib/java/sql/Savepoint.pm
>    . . . . java.sql.Savepoint: checking jdbclib/java/sql/Savepoint.pm
>    syntax OK
>    . . . . java.sql.Struct: jdbclib/java/sql/Struct.pm
>    . . . . java.sql.Struct: checking jdbclib/java/sql/Struct.pm
>    syntax OK
>    . . . . java.util.Properties: jdbclib/java/util/Properties.pm
>    . . . . . java.util.Enumeration: jdbclib/java/util/Enumeration.pm
>    . . . . . java.util.Enumeration: checking jdbclib/java/util/Enumeration.pm
>    syntax OK
>    . . . . . java.util.Hashtable: jdbclib/java/util/Hashtable.pm
>    . . . . . . java.util.Dictionary: jdbclib/java/util/Dictionary.pm
>    . . . . . . java.util.Dictionary: checking jdbclib/java/util/Dictionary.pm
>    syntax OK
>    . . . . . java.util.Hashtable: checking jdbclib/java/util/Hashtable.pm
>    syntax OK
>    . . . . java.util.Properties: checking jdbclib/java/util/Properties.pm
>    syntax OK
>    . . . java.sql.Connection: checking jdbclib/java/sql/Connection.pm
>    Can't find ./java/util/Calendar in @*INC
>    in Main (src/gen_setting.pm:445)
>    . . java.sql.Statement: checking jdbclib/java/sql/Statement.pm
>    Can't find ./java/util/Calendar in @*INC
>    in Main (src/gen_setting.pm:445)
>    . . java.sql.Time: jdbclib/java/sql/Time.pm
>    . . java.sql.Time: checking jdbclib/java/sql/Time.pm
>    syntax OK
>    . . java.sql.Timestamp: jdbclib/java/sql/Timestamp.pm
>    . . java.sql.Timestamp: checking jdbclib/java/sql/Timestamp.pm
>    syntax OK
>    . . java.util.Calendar: jdbclib/java/util/Calendar.pm
>    . . . java.util.TimeZone: jdbclib/java/util/TimeZone.pm
>    . . . java.util.TimeZone: checking jdbclib/java/util/TimeZone.pm
>    syntax OK
>    . . java.util.Calendar: checking jdbclib/java/util/Calendar.pm
>    syntax OK
>    . java.sql.PreparedStatement: checking 
> jdbclib/java/sql/PreparedStatement.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    java.sql.CallableStatement: checking jdbclib/java/sql/CallableStatement.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    java.sql.Driver: jdbclib/java/sql/Driver.pm
>    . java.sql.DriverPropertyInfo: jdbclib/java/sql/DriverPropertyInfo.pm
>    . java.sql.DriverPropertyInfo: checking 
> jdbclib/java/sql/DriverPropertyInfo.pm
>    syntax OK
>    java.sql.Driver: checking jdbclib/java/sql/Driver.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    java.sql.SQLData: jdbclib/java/sql/SQLData.pm
>    . java.sql.SQLInput: jdbclib/java/sql/SQLInput.pm
>    . java.sql.SQLInput: checking jdbclib/java/sql/SQLInput.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    . java.sql.SQLOutput: jdbclib/java/sql/SQLOutput.pm
>    . java.sql.SQLOutput: checking jdbclib/java/sql/SQLOutput.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    java.sql.SQLData: checking jdbclib/java/sql/SQLData.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    java.sql.SQLPermission: jdbclib/java/sql/SQLPermission.pm
>    . java.security.BasicPermission: jdbclib/java/security/BasicPermission.pm
>    . . java.security.Permission: jdbclib/java/security/Permission.pm
>    . . . java.security.PermissionCollection: 
> jdbclib/java/security/PermissionCollection.pm
>    . . . java.security.PermissionCollection: checking 
> jdbclib/java/security/PermissionCollection.pm
>    Malformed method definition at line 11, near "add(\n    "
>    in Main (src/gen_setting.pm:3363)
>    . . java.security.Permission: checking jdbclib/java/security/Permission.pm
>    Unable to parse multisig; couldn't find final ')' at line 38, near "--> 
> java::"
>    in Main (src/gen_setting.pm:3363)
>    . java.security.BasicPermission: checking 
> jdbclib/java/security/BasicPermission.pm
>    Malformed method definition at line 11, near "add(\n    "
>    in Main (src/gen_setting.pm:3363)
>    java.sql.SQLPermission: checking jdbclib/java/sql/SQLPermission.pm
>    Malformed method definition at line 11, near "add(\n    "
>    in Main (src/gen_setting.pm:3363)
>    javax.sql.ConnectionEvent: jdbclib/javax/sql/ConnectionEvent.pm
>    . java.util.EventObject: jdbclib/java/util/EventObject.pm
>    . java.util.EventObject: checking jdbclib/java/util/EventObject.pm
>    syntax OK
>    javax.sql.ConnectionEvent: checking jdbclib/javax/sql/ConnectionEvent.pm
>    syntax OK
>    javax.sql.ConnectionEventListener: 
> jdbclib/javax/sql/ConnectionEventListener.pm
>    . java.util.EventListener: jdbclib/java/util/EventListener.pm
>    . java.util.EventListener: checking jdbclib/java/util/EventListener.pm
>    syntax OK
>    javax.sql.ConnectionEventListener: checking 
> jdbclib/javax/sql/ConnectionEventListener.pm
>    syntax OK
>    javax.sql.PooledConnection: jdbclib/javax/sql/PooledConnection.pm
>    . javax.sql.StatementEventListener: 
> jdbclib/javax/sql/StatementEventListener.pm
>    . . javax.sql.StatementEvent: jdbclib/javax/sql/StatementEvent.pm
>    . . javax.sql.StatementEvent: checking jdbclib/javax/sql/StatementEvent.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    . javax.sql.StatementEventListener: checking 
> jdbclib/javax/sql/StatementEventListener.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    javax.sql.PooledConnection: checking jdbclib/javax/sql/PooledConnection.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    javax.sql.RowSet: jdbclib/javax/sql/RowSet.pm
>    . javax.sql.RowSetListener: jdbclib/javax/sql/RowSetListener.pm
>    . . javax.sql.RowSetEvent: jdbclib/javax/sql/RowSetEvent.pm
>    . . javax.sql.RowSetEvent: checking jdbclib/javax/sql/RowSetEvent.pm
>    syntax OK
>    . javax.sql.RowSetListener: checking jdbclib/javax/sql/RowSetListener.pm
>    syntax OK
>    javax.sql.RowSet: checking jdbclib/javax/sql/RowSet.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    javax.sql.RowSetInternal: jdbclib/javax/sql/RowSetInternal.pm
>    . javax.sql.RowSetMetaData: jdbclib/javax/sql/RowSetMetaData.pm
>    . javax.sql.RowSetMetaData: checking jdbclib/javax/sql/RowSetMetaData.pm
>    syntax OK
>    javax.sql.RowSetInternal: checking jdbclib/javax/sql/RowSetInternal.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>    javax.sql.XAConnection: jdbclib/javax/sql/XAConnection.pm
>    . javax.transaction.xa.XAResource: 
> jdbclib/javax/transaction/xa/XAResource.pm
>    . . javax.transaction.xa.Xid: jdbclib/javax/transaction/xa/Xid.pm
>    . . javax.transaction.xa.Xid: checking jdbclib/javax/transaction/xa/Xid.pm
>    syntax OK
>    . javax.transaction.xa.XAResource: checking 
> jdbclib/javax/transaction/xa/XAResource.pm
>    syntax OK
>    javax.sql.XAConnection: checking jdbclib/javax/sql/XAConnection.pm
>    Can't find ./javax/xml/transform/Source in @*INC
>    in Main (src/gen_setting.pm:445)
>        ok: jdbclib/java/io/FilterOutputStream.pm
>        ok: jdbclib/java/io/OutputStream.pm
>        ok: jdbclib/java/io/PrintStream.pm
>        ok: jdbclib/java/io/PrintWriter.pm
>        ok: jdbclib/java/io/Reader.pm
>        ok: jdbclib/java/io/Writer.pm
>        ok: jdbclib/java/lang/Appendable.pm
>        ok: jdbclib/java/lang/CharSequence.pm
>        ok: jdbclib/java/lang/Enum.pm
>        ok: jdbclib/java/lang/Exception.pm
>        ok: jdbclib/java/lang/Iterable.pm
>        ok: jdbclib/java/lang/StackTraceElement.pm
>        ok: jdbclib/java/lang/Throwable.pm
>    FAILED: jdbclib/java/math/BigDecimal.pm
>        ok: jdbclib/java/math/MathContext.pm
>        ok: jdbclib/java/math/RoundingMode.pm
>        ok: jdbclib/java/nio/Buffer.pm
>        ok: jdbclib/java/nio/ByteOrder.pm
>        ok: jdbclib/java/nio/CharBuffer.pm
>    FAILED: jdbclib/java/security/BasicPermission.pm
>    FAILED: jdbclib/java/security/Permission.pm
>    FAILED: jdbclib/java/security/PermissionCollection.pm
>        ok: jdbclib/java/sql/Blob.pm
>    FAILED: jdbclib/java/sql/CallableStatement.pm
>        ok: jdbclib/java/sql/Clob.pm
>    FAILED: jdbclib/java/sql/Connection.pm
>    FAILED: jdbclib/java/sql/DatabaseMetaData.pm
>        ok: jdbclib/java/sql/Date.pm
>    FAILED: jdbclib/java/sql/Driver.pm
>        ok: jdbclib/java/sql/DriverPropertyInfo.pm
>        ok: jdbclib/java/sql/NClob.pm
>        ok: jdbclib/java/sql/ParameterMetaData.pm
>    FAILED: jdbclib/java/sql/PreparedStatement.pm
>        ok: jdbclib/java/sql/Ref.pm
>        ok: jdbclib/java/sql/ResultSetMetaData.pm
>        ok: jdbclib/java/sql/RowId.pm
>        ok: jdbclib/java/sql/RowIdLifetime.pm
>    FAILED: jdbclib/java/sql/SQLData.pm
>        ok: jdbclib/java/sql/SQLException.pm
>    FAILED: jdbclib/java/sql/SQLInput.pm
>    FAILED: jdbclib/java/sql/SQLOutput.pm
>    FAILED: jdbclib/java/sql/SQLPermission.pm
>        ok: jdbclib/java/sql/SQLWarning.pm
>        ok: jdbclib/java/sql/Savepoint.pm
>    FAILED: jdbclib/java/sql/Statement.pm
>        ok: jdbclib/java/sql/Struct.pm
>        ok: jdbclib/java/sql/Time.pm
>        ok: jdbclib/java/sql/Timestamp.pm
>        ok: jdbclib/java/sql/Wrapper.pm
>        ok: jdbclib/java/util/Calendar.pm
>        ok: jdbclib/java/util/Collection.pm
>        ok: jdbclib/java/util/Date.pm
>        ok: jdbclib/java/util/Dictionary.pm
>        ok: jdbclib/java/util/Enumeration.pm
>        ok: jdbclib/java/util/EventListener.pm
>        ok: jdbclib/java/util/EventObject.pm
>        ok: jdbclib/java/util/Hashtable.pm
>        ok: jdbclib/java/util/Iterator.pm
>        ok: jdbclib/java/util/Locale.pm
>        ok: jdbclib/java/util/Map.pm
>        ok: jdbclib/java/util/Properties.pm
>        ok: jdbclib/java/util/Set.pm
>        ok: jdbclib/java/util/TimeZone.pm
>        ok: jdbclib/javax/sql/ConnectionEvent.pm
>        ok: jdbclib/javax/sql/ConnectionEventListener.pm
>    FAILED: jdbclib/javax/sql/PooledConnection.pm
>    FAILED: jdbclib/javax/sql/RowSet.pm
>        ok: jdbclib/javax/sql/RowSetEvent.pm
>    FAILED: jdbclib/javax/sql/RowSetInternal.pm
>        ok: jdbclib/javax/sql/RowSetListener.pm
>        ok: jdbclib/javax/sql/RowSetMetaData.pm
>    FAILED: jdbclib/javax/sql/StatementEvent.pm
>    FAILED: jdbclib/javax/sql/StatementEventListener.pm
>    FAILED: jdbclib/javax/sql/XAConnection.pm
>        ok: jdbclib/javax/transaction/xa/XAResource.pm
>        ok: jdbclib/javax/transaction/xa/Xid.pm
>    56 ok, 20 failed.
> 
> References
> 
>    Visible links
>    1. http://www.asciiville.com/
>    2. http://mkjdbc.pl/
>    3. http://databasemetadata.pm/
>    4. http://java.io.re/
>    5. http://java.io/
>    6. http://java.io.pr/
>    7. http://java.io.fi/

Reply via email to