Author: akarasulu Date: Fri Dec 10 22:46:09 2004 New Revision: 111585 URL: http://svn.apache.org/viewcvs?view=rev&rev=111585 Log: Adding mirrors and enabling project reports.
Added: incubator/directory/eve/trunk/xdocs/plugin.xml Removed: incubator/directory/eve/trunk/plugin/xdocs/ Modified: incubator/directory/eve/trunk/dib/src/java/org/apache/eve/AbstractContextPartition.java incubator/directory/eve/trunk/dib/src/java/org/apache/eve/db/jdbm/JdbmDatabase.java incubator/directory/eve/trunk/dib/src/java/org/apache/eve/jndi/EveContextFactory.java incubator/directory/eve/trunk/project.properties incubator/directory/eve/trunk/xdocs/index.xml incubator/directory/eve/trunk/xdocs/navigation.xml Modified: incubator/directory/eve/trunk/dib/src/java/org/apache/eve/AbstractContextPartition.java Url: http://svn.apache.org/viewcvs/incubator/directory/eve/trunk/dib/src/java/org/apache/eve/AbstractContextPartition.java?view=diff&rev=111585&p1=incubator/directory/eve/trunk/dib/src/java/org/apache/eve/AbstractContextPartition.java&r1=111584&p2=incubator/directory/eve/trunk/dib/src/java/org/apache/eve/AbstractContextPartition.java&r2=111585 ============================================================================== --- incubator/directory/eve/trunk/dib/src/java/org/apache/eve/AbstractContextPartition.java (original) +++ incubator/directory/eve/trunk/dib/src/java/org/apache/eve/AbstractContextPartition.java Fri Dec 10 22:46:09 2004 @@ -26,7 +26,6 @@ import javax.naming.NamingEnumeration; import javax.naming.directory.Attributes; import javax.naming.directory.SearchControls; -import javax.naming.ContextNotEmptyException; import javax.naming.directory.ModificationItem; import javax.naming.directory.Attribute; @@ -34,6 +33,8 @@ import org.apache.ldap.common.schema.AttributeType; import org.apache.ldap.common.message.LockableAttributesImpl; import org.apache.ldap.common.util.ArrayUtils; +import org.apache.ldap.common.exception.LdapContextNotEmptyException; +import org.apache.ldap.common.exception.LdapNameNotFoundException; import org.apache.eve.db.Database; import org.apache.eve.db.SearchEngine; @@ -231,10 +232,17 @@ public void delete( Name dn ) throws NamingException { BigInteger id = db.getEntryId( dn.toString() ); - + + // don't continue if id is null + if ( id == null ) + { + throw new LdapNameNotFoundException( "Could not find entry at '" + + dn + "' to delete it!"); + } + if ( db.getChildCount( id ) > 0 ) { - ContextNotEmptyException cnee = new ContextNotEmptyException( + LdapContextNotEmptyException cnee = new LdapContextNotEmptyException( "[66] Cannot delete entry " + dn + " it has children!" ); cnee.setRemainingName( dn ); throw cnee; Modified: incubator/directory/eve/trunk/dib/src/java/org/apache/eve/db/jdbm/JdbmDatabase.java Url: http://svn.apache.org/viewcvs/incubator/directory/eve/trunk/dib/src/java/org/apache/eve/db/jdbm/JdbmDatabase.java?view=diff&rev=111585&p1=incubator/directory/eve/trunk/dib/src/java/org/apache/eve/db/jdbm/JdbmDatabase.java&r1=111584&p2=incubator/directory/eve/trunk/dib/src/java/org/apache/eve/db/jdbm/JdbmDatabase.java&r2=111585 ============================================================================== --- incubator/directory/eve/trunk/dib/src/java/org/apache/eve/db/jdbm/JdbmDatabase.java (original) +++ incubator/directory/eve/trunk/dib/src/java/org/apache/eve/db/jdbm/JdbmDatabase.java Fri Dec 10 22:46:09 2004 @@ -42,6 +42,7 @@ import org.apache.ldap.common.name.LdapName; import org.apache.ldap.common.MultiException; +import org.apache.ldap.common.exception.LdapNameNotFoundException; import org.apache.ldap.common.schema.AttributeType; import org.apache.ldap.common.schema.Normalizer; import org.apache.ldap.common.util.NamespaceTools; @@ -682,7 +683,14 @@ { parentId = getEntryId( dn.getSuffix( 1 ).toString() ); } - + + // don't keep going if we cannot find the parent Id + if ( parentId == null ) + { + throw new LdapNameNotFoundException( "Id for parent '" + + dn.getSuffix( 1 ).toString() + "' not found!" ); + } + // Start adding the system indices // Why bother doing a lookup if this is not an alias. if ( entry.get( "objectClass" ).contains( ALIAS_OBJECT ) ) @@ -734,7 +742,7 @@ public void delete( BigInteger id ) throws NamingException { Attributes entry = lookup( id ); - BigInteger parentId = getParentId( id ); + BigInteger parentId = getParentId( id ); NamingEnumeration attrs = entry.getIDs(); if ( entry.get( "objectClass" ).contains( ALIAS_OBJECT ) ) Modified: incubator/directory/eve/trunk/dib/src/java/org/apache/eve/jndi/EveContextFactory.java Url: http://svn.apache.org/viewcvs/incubator/directory/eve/trunk/dib/src/java/org/apache/eve/jndi/EveContextFactory.java?view=diff&rev=111585&p1=incubator/directory/eve/trunk/dib/src/java/org/apache/eve/jndi/EveContextFactory.java&r1=111584&p2=incubator/directory/eve/trunk/dib/src/java/org/apache/eve/jndi/EveContextFactory.java&r2=111585 ============================================================================== --- incubator/directory/eve/trunk/dib/src/java/org/apache/eve/jndi/EveContextFactory.java (original) +++ incubator/directory/eve/trunk/dib/src/java/org/apache/eve/jndi/EveContextFactory.java Fri Dec 10 22:46:09 2004 @@ -51,7 +51,6 @@ import org.apache.eve.ApplicationPartition; import org.apache.eve.ContextPartitionConfig; import org.apache.eve.protocol.LdapProtocolProvider; -import org.apache.eve.exception.EveConfigurationException; import org.apache.eve.jndi.ibs.*; import org.apache.eve.db.*; import org.apache.eve.db.jdbm.JdbmDatabase; @@ -552,7 +551,7 @@ catch ( Exception e ) { String msg = "Failed to initialize the frontend subsystem!"; - NamingException ne = new EveConfigurationException( msg ); + NamingException ne = new LdapConfigurationException( msg ); ne.setRootCause( e ); ne.setResolvedName( new LdapName( ( String ) initialEnv.get( Context.PROVIDER_URL ) ) ); throw ne; @@ -573,7 +572,7 @@ { e.printStackTrace(); String msg = "Could not recognize the host!"; - EveConfigurationException e2 = new EveConfigurationException( msg ); + LdapConfigurationException e2 = new LdapConfigurationException( msg ); e2.setRootCause( e ); } @@ -585,7 +584,7 @@ { e.printStackTrace(); String msg = "We failed to bind to the port!"; - EveConfigurationException e2 = new EveConfigurationException( msg ); + LdapConfigurationException e2 = new LdapConfigurationException( msg ); e2.setRootCause( e ); } } Modified: incubator/directory/eve/trunk/project.properties Url: http://svn.apache.org/viewcvs/incubator/directory/eve/trunk/project.properties?view=diff&rev=111585&p1=incubator/directory/eve/trunk/project.properties&r1=111584&p2=incubator/directory/eve/trunk/project.properties&r2=111585 ============================================================================== --- incubator/directory/eve/trunk/project.properties (original) +++ incubator/directory/eve/trunk/project.properties Fri Dec 10 22:46:09 2004 @@ -2,14 +2,14 @@ maven.license.licenseFile=${basedir}/../../LICENSE.txt maven.incubator.disclaimerFile=${basedir}/../../INCUBATOR-DISCLAIMER.txt maven.xdoc.date=left -maven.xdoc.includeProjectDocumentation=no +maven.xdoc.includeProjectDocumentation=yes maven.xdoc.poweredby.image= # # remote repository properties # -maven.repo.remote=http://cvs.apache.org/repository, http://mirrors.sunsite.dk/maven/ +maven.repo.remote=http://cvs.apache.org/repository, http://mirrors.sunsite.dk/maven, http://ibiblio.org/maven maven.repo.central=minotaur.apache.org maven.repo.central.directory=/www/cvs.apache.org/repository maven.remote.group=apcvs Modified: incubator/directory/eve/trunk/xdocs/index.xml Url: http://svn.apache.org/viewcvs/incubator/directory/eve/trunk/xdocs/index.xml?view=diff&rev=111585&p1=incubator/directory/eve/trunk/xdocs/index.xml&r1=111584&p2=incubator/directory/eve/trunk/xdocs/index.xml&r2=111585 ============================================================================== --- incubator/directory/eve/trunk/xdocs/index.xml (original) +++ incubator/directory/eve/trunk/xdocs/index.xml Fri Dec 10 22:46:09 2004 @@ -103,6 +103,15 @@ </td> </tr> + <tr> + <td> + <a href="./plugin.html">Maven Plugin</a> + </td> + <td> + A plugin for Eve that does a bunch-o-stuff. Check it out. + </td> + </tr> + </table> Modified: incubator/directory/eve/trunk/xdocs/navigation.xml Url: http://svn.apache.org/viewcvs/incubator/directory/eve/trunk/xdocs/navigation.xml?view=diff&rev=111585&p1=incubator/directory/eve/trunk/xdocs/navigation.xml&r1=111584&p2=incubator/directory/eve/trunk/xdocs/navigation.xml&r2=111585 ============================================================================== --- incubator/directory/eve/trunk/xdocs/navigation.xml (original) +++ incubator/directory/eve/trunk/xdocs/navigation.xml Fri Dec 10 22:46:09 2004 @@ -31,6 +31,7 @@ <item name="JNDI" href="/jndi.html"/> <item name="Authentication" href="/authentication.html"/> <item name="Partitions" href="/partitions.html"/> + <item name="Maven Plugin" href="/plugin.html"/> </menu> <menu name="Project Information"> Added: incubator/directory/eve/trunk/xdocs/plugin.xml Url: http://svn.apache.org/viewcvs/incubator/directory/eve/trunk/xdocs/plugin.xml?view=auto&rev=111585 ============================================================================== --- (empty file) +++ incubator/directory/eve/trunk/xdocs/plugin.xml Fri Dec 10 22:46:09 2004 @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document> + <properties> + <author email="[EMAIL PROTECTED]">Alex Karasulu</author> + <title>Maven Eve Plugin</title> + </properties> + + <body> + <section name="Maven Eve Plugin"> + <p> + Right now one of the primary functions of the plugin is to generates + Eve class files for OpenLDAP schemas. These class files contain hard + coded schema objects found in the OpenLDAP files. Why bother you may + ask? Well the compiled hard coded files are loaded into the server + as fast as you can. There's no need to have a parser hanging around + and no need to have the schema files hanging around. Plus no one + really edits finalized published schemas within RFCs since they do not + change. So why keep this stuff in a human alterable form. Plus once + the server comes online these schema objects can be altered through + LDAP. The added stage of compiling a schema really is not that much + of a big deal when you have a plugin to do it all for you. Plus there + is the benefit of knowing if the schema is bad before it goes into the + server. + </p> + + <subsection name="Properties"> + <table> + <tr> + <th>Property</th> + <th>Optional?</th> + <th>Description</th> + </tr> + <tr> + <td>maven.eve.schema.target.dir</td> + <td>Yes</td> + <td> + <p>Default value is + <code>target/schema</code>.</p> + </td> + </tr> + <tr> + <td>maven.eve.schema.ownerDefault</td> + <td>Yes</td> + <td> + <p>Default value is + <code>uid=admin,ou=system</code>.</p> + </td> + </tr> + <tr> + <td>maven.eve.schema.dir</td> + <td>Yes</td> + <td> + <p>Default value is + <code>src/schema</code>.</p> + </td> + </tr> + <tr> + <td>maven.eve.schema.packageDefault</td> + <td>Yes</td> + <td> + <p>Default value is + <code>org.apache.eve.schema.bootstrap</code>.</p> + </td> + </tr> + </table> + </subsection> + + <subsection name="Goals"> + <p> + <goals> + <goal> + <name>eve:generate</name> + <description> + Generates class files for OpenLDAP schemas. + </description> + </goal> + <goal> + <name>eve:init</name> + <description> + Finds the required parameters needed for the goals of the + plugin. + </description> + </goal> + <goal> + <name>eve:prepare-filesystem</name> + <description> + Creates source output directories used to deposite schema + files that are generated. + </description> + </goal> + <goal> + <name>eve:schema</name> + <description> + Top level schema generating function that uses other goals to + coordinate generation. + </description> + </goal> + </goals> + </p> + </subsection> + + <subsection names="Usage"> + <p> + Take a look at how we integrate this into the Eve build + <a href="http://svn.apache.org/viewcvs.cgi/incubator/directory/eve/trunk/dib/">here</a>. + </p> + </subsection> + </section> + + <section name="Functionality for the Future"> + <ul> + <li> + Compile triggers and install them into the server. + </li> + + <li> + Compile and load stored procedures. + </li> + + <li> + Test stored procedures and triggers. + </li> + + <li> + Generate JNDI Object and State factories from schemas. + </li> + </ul> + </section> + </body> +</document>
