directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Endi S. Dewata (JIRA)" <>
Subject [jira] Commented: (DIRSERVER-599) Can't compile long schema
Date Mon, 13 Mar 2006 19:48:59 GMT
    [ ] 

Endi S. Dewata commented on DIRSERVER-599:

Hi Alex, I don't think this is a Velocity issue because at this point the Java files have
been successfully generated by Velocity. The error happens during compilation, it seems javac
can't compile a method with more than 11k lines of code. One possible solution is by changing
the template to split the produce() method after certain number of attribute types or object
classes. Another way is by storing the parsed schema data somewhere else and use a loop to
read it. A better way might be the schema parsing should be done in the runtime instead of
compile time.

> Can't compile long schema
> -------------------------
>          Key: DIRSERVER-599
>          URL:
>      Project: Directory ApacheDS
>         Type: Bug
>   Components: schema-plugin
>     Versions: 1.0-RC1
>     Reporter: Endi S. Dewata
>  Attachments: activeDirectory.schema
> Currently the schema plugin converts a schema into Java files, and if the schema gets
too long the Java file can't be compiled. Some applications might use a huge schema, for instance
the default Active Directory schema contains more than 1000 attribute types. Compiling such
schema will produce the following error:
> [INFO] Generating activeDirectory schema.
> [INFO] [resources:resources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:compile]
> Compiling 14 source files to c:\\apacheds-1.0\core\target\classes
> [INFO] ----------------------------------------------------------------------------
> [INFO] ----------------------------------------------------------------------------
> [INFO] Compilation failure
> c:\\apacheds-1.0\core\target\generated-sources\org\apache\directory\server\core\schema
> \bootstrap\[52,16] code too large
> A workaround is that the schema can be split into several smaller schemas, this will
produce smaller Java files which can be compiled just fine. From experiments it seems that
the compiler will hit the limit when compiling 622 attribute types. This will produce more
than 11k lines of  code in the produce() method in the generated Java file. A similar limit
may also affect the max number of object class definitions.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message