You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2004/10/20 23:53:27 UTC
svn commit: rev 55184 - incubator/directory/eve/trunk/backend/maven-eve-plugin/src/java/org/apache/eve/tools/schema
Author: akarasulu
Date: Wed Oct 20 14:53:26 2004
New Revision: 55184
Modified:
incubator/directory/eve/trunk/backend/maven-eve-plugin/src/java/org/apache/eve/tools/schema/EveSchemaTool.java
Log:
Added code to now check if the producer class exists within the src/java
directory before creating one from scratch in the target/schema directory.
This is done to prevent collisions when static producers are hand woven which
is usually the case for anything which is not an AttributeType or ObjectClass
producer.
Modified: incubator/directory/eve/trunk/backend/maven-eve-plugin/src/java/org/apache/eve/tools/schema/EveSchemaTool.java
==============================================================================
--- incubator/directory/eve/trunk/backend/maven-eve-plugin/src/java/org/apache/eve/tools/schema/EveSchemaTool.java (original)
+++ incubator/directory/eve/trunk/backend/maven-eve-plugin/src/java/org/apache/eve/tools/schema/EveSchemaTool.java Wed Oct 20 14:53:26 2004
@@ -330,31 +330,45 @@
protected boolean exists( ProducerTypeEnum type )
{
- boolean exists = true;
-
- String defaultClass = schema.getFullDefaultBaseClassName(
- ProducerTypeEnum.ATTRIBUTE_TYPE_PRODUCER );
- String targetClass = schema.getFullDefaultBaseClassName(
- ProducerTypeEnum.ATTRIBUTE_TYPE_PRODUCER );
+ String defaultClass = schema.getFullDefaultBaseClassName( type );
+ String targetClass = schema.getFullDefaultBaseClassName( type );
+ // first check and see the classes are in the classpath
+ // although this is highly unlikely since we probably have
+ // not even compiled the classes yet
try
{
- exists = Class.forName( defaultClass ) != null;
+ Class.forName( defaultClass );
+ return true;
}
catch ( ClassNotFoundException e )
{
- exists = false;
}
try
{
- exists = Class.forName( targetClass ) != null;
+ Class.forName( targetClass );
+ return true;
}
catch ( ClassNotFoundException e )
{
- exists = false;
}
- return exists;
+ // now we check to see if any of the classes are available
+ // in the java source directory, if so we return true
+ File defaultFile = new File( "src" + File.separator + "java"
+ + File.separator + getFilePath( defaultClass ) );
+ File targetFile = new File( "src" + File.separator + "java"
+ + File.separator + getFilePath( targetClass ) );
+
+ return defaultFile.exists() || targetFile.exists();
+ }
+
+
+ private String getFilePath( String fqcn )
+ {
+ String path = fqcn.replace( '.', File.separatorChar );
+ path += ".java";
+ return path;
}
}