hlship      2004/08/01 10:40:37

  Modified:    .        .classpath status.xml
               framework/src/test/org/apache/hivemind/methodmatch
                        TestMethodMatcher.java AbstractMethodTestCase.java
               framework/src/test/hivemind/test/ant
                        TestConstructRegistry.java
               framework/src/java/org/apache/hivemind/schema/rules
                        InstanceTranslator.java RulesMessages.java
                        RulesStrings.properties
               library  build.xml
               framework/src/java/org/apache/hivemind/test
                        HiveMindTestCase.java
               framework/src/test/hivemind/test/rules
                        TestObjectTranslator.java
               src/documentation/content/xdocs dependencies.xml
               framework/src/test/hivemind/test/services EventProducer.java
                        TestMethodSignature.java
               framework/src/test/hivemind/test TestRegistryBuilder.java
               library/src/java/org/apache/hivemind/lib/pipeline
                        FilterMethodAnalyzer.java
  Added:       framework/src/test-data TestRegistryBuilder.jar
  Log:
  HIVEMIND-35: Ensure JDK 1.3 compatibility.
  
  Revision  Changes    Path
  1.35      +1 -1      jakarta-hivemind/.classpath
  
  Index: .classpath
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/.classpath,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- .classpath        28 Jul 2004 19:19:35 -0000      1.34
  +++ .classpath        1 Aug 2004 17:40:36 -0000       1.35
  @@ -25,8 +25,8 @@
       <classpathentry kind="var" path="ANT_HOME/lib/ant.jar" 
sourcepath="ANT_HOME/apache-ant-1.6.1-src.zip"/>
       <classpathentry kind="var" path="ANT_HOME/lib/xercesImpl.jar"/>
       <classpathentry kind="var" path="ANT_HOME/lib/xml-apis.jar"/>
  -    <classpathentry kind="lib" 
path="ext-package/lib/geronimo-spec-ejb-1.0-M1.jar"/>
       <classpathentry kind="lib" path="ext-package/lib/spring-full-1.0.1.jar"/>
       <classpathentry kind="lib" path="ext-package/lib/junit-3.8.1.jar"/>
  +    <classpathentry kind="lib" path="ext-package/lib/jboss-j2ee-3.2.1.jar"/>
       <classpathentry kind="output" path="bin"/>
   </classpath>
  
  
  
  1.34      +3 -0      jakarta-hivemind/status.xml
  
  Index: status.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/status.xml,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- status.xml        29 Jul 2004 13:18:26 -0000      1.33
  +++ status.xml        1 Aug 2004 17:40:36 -0000       1.34
  @@ -89,6 +89,9 @@
         <action type="fix" dev="HLS" fixes-bug="HIVEMIND-31" due-to="Johan 
Lindquist">
           Typo in jar-module.xml causes broken build if junit library is 
missing
         </action>
  +      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-35">
  +        Made a number of changes to ensure HiveMind compatibility with JDK 
1.3.
  +      </action>
       </release>
     
       <release version="1.0-beta-1" date="Jun 26 2004">
  
  
  
  1.4       +3 -2      
jakarta-hivemind/framework/src/test/org/apache/hivemind/methodmatch/TestMethodMatcher.java
  
  Index: TestMethodMatcher.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/test/org/apache/hivemind/methodmatch/TestMethodMatcher.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TestMethodMatcher.java    29 Jul 2004 13:18:52 -0000      1.3
  +++ TestMethodMatcher.java    1 Aug 2004 17:40:36 -0000       1.4
  @@ -75,7 +75,7 @@
           }
       }
   
  -    public void testParseExceptionWithLocation()
  +    public void testParseExceptionWithLocation() throws Exception
       {
           Resource r = getResource("MethodSubject.class");
           Location l = new LocationImpl(r, 3);
  @@ -95,7 +95,8 @@
               String message = ex.getMessage();
   
               boolean matchesPattern =
  -                message.matches(
  +                matches(
  +                    message,
                       "Exception at .*?, line 3: Method pattern '\\*\\(' 
contains an invalid parameters pattern\\.");
   
               assertEquals(true, matchesPattern);
  
  
  
  1.3       +3 -1      
jakarta-hivemind/framework/src/test/org/apache/hivemind/methodmatch/AbstractMethodTestCase.java
  
  Index: AbstractMethodTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/test/org/apache/hivemind/methodmatch/AbstractMethodTestCase.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AbstractMethodTestCase.java       17 Jun 2004 15:16:13 -0000      1.2
  +++ AbstractMethodTestCase.java       1 Aug 2004 17:40:36 -0000       1.3
  @@ -16,6 +16,8 @@
   
   import java.lang.reflect.Method;
   
  +import junit.framework.AssertionFailedError;
  +
   import org.apache.hivemind.service.MethodSignature;
   import org.apache.hivemind.test.HiveMindTestCase;
   
  @@ -36,7 +38,7 @@
                   return new MethodSignature(methods[i]);
           }
   
  -        throw new AssertionError(
  +        throw new AssertionFailedError(
               "Class " + target.getName() + " does not contain a method named: 
'" + name + "'.");
       }
   
  
  
  
  1.10      +50 -29    
jakarta-hivemind/framework/src/test/hivemind/test/ant/TestConstructRegistry.java
  
  Index: TestConstructRegistry.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/test/hivemind/test/ant/TestConstructRegistry.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TestConstructRegistry.java        25 Jun 2004 20:19:58 -0000      1.9
  +++ TestConstructRegistry.java        1 Aug 2004 17:40:36 -0000       1.10
  @@ -37,11 +37,17 @@
    * <p>An earlier version of this suite built using the real hivemodule.xml 
(in src/META-INF)
    * but that caused issues because it was constantly changing, so we
    * use a copy (src/test-data/TestConstructRegistry/master.sdl).
  + * 
  + * <p>
  + * These tests are *VERY* dependent on JDK version (really, on the version 
of the
  + * XML parser provided with the JDK).  Therefore, we skip the tests for JDK 
1.3.
    *
    * @author Howard Lewis Ship
    */
   public class TestConstructRegistry extends FrameworkTestCase
   {
  +    private static final boolean JDK1_3 = 
System.getProperty("java.version").startsWith("1.3.");
  +
       protected Project _project = new Project();
   
       protected ConstructRegistry create()
  @@ -91,11 +97,14 @@
               assertExceptionSubstring(ex, "You must specify a set of module 
descriptors");
           }
   
  -             f.delete();
  +        f.delete();
       }
   
       public void testBasic() throws Exception
       {
  +        if (JDK1_3)
  +            return;
  +
           ConstructRegistry cr = create();
   
           Path p = cr.createDescriptors();
  @@ -116,38 +125,44 @@
           cr.execute();
   
           compare(output, 
getFrameworkPath("src/test-data/TestConstructRegistry/testBasic.xml"));
  -        
  -             output.delete();
  +
  +        output.delete();
       }
   
  -     public void testSDL() throws Exception
  -     {
  -             ConstructRegistry cr = create();
  +    public void testSDL() throws Exception
  +    {
  +        if (JDK1_3)
  +            return;
   
  -             Path p = cr.createDescriptors();
  +        ConstructRegistry cr = create();
   
  -             p.createPath().setLocation(
  -                     new 
File(getFrameworkPath("src/test-data/TestConstructRegistry/master.sdl")));
  -             p.createPath().setLocation(
  -                     new 
File(getFrameworkPath("src/test-data/TestConstructRegistry/Symbols.sdl")));
  +        Path p = cr.createDescriptors();
   
  -             File output = File.createTempFile("testSDL-", ".xml");
  +        p.createPath().setLocation(
  +            new 
File(getFrameworkPath("src/test-data/TestConstructRegistry/master.sdl")));
  +        p.createPath().setLocation(
  +            new 
File(getFrameworkPath("src/test-data/TestConstructRegistry/Symbols.sdl")));
   
  -             // Delete the file, to force the task to re-create it.
  +        File output = File.createTempFile("testSDL-", ".xml");
   
  -             output.delete();
  +        // Delete the file, to force the task to re-create it.
   
  -             cr.setOutput(output);
  +        output.delete();
  +
  +        cr.setOutput(output);
   
  -             cr.execute();
  +        cr.execute();
   
  -             compare(output, 
getFrameworkPath("src/test-data/TestConstructRegistry/testSDL.xml"));
  +        compare(output, 
getFrameworkPath("src/test-data/TestConstructRegistry/testSDL.xml"));
   
  -             output.delete();
  -     }
  +        output.delete();
  +    }
   
       public void testLocalRefs() throws Exception
       {
  +        if (JDK1_3)
  +            return;
  +
           ConstructRegistry cr = create();
   
           Path p = cr.createDescriptors();
  @@ -166,12 +181,15 @@
           cr.execute();
   
           compare(output, 
getFrameworkPath("src/test-data/TestConstructRegistry/testLocalRefs.xml"));
  -        
  -             output.delete();
  +
  +        output.delete();
       }
   
       public void testUptoDate() throws Exception
       {
  +        if (JDK1_3)
  +            return;
  +
           ConstructRegistry cr = create();
   
           Path p = cr.createDescriptors();
  @@ -190,20 +208,23 @@
           cr.setOutput(output);
   
           cr.execute();
  -        
  +
           compare(output, 
getFrameworkPath("src/test-data/TestConstructRegistry/testUptoDate.xml"));
  -             
  -             long stamp = output.lastModified();
  -             
  +
  +        long stamp = output.lastModified();
  +
           cr.execute();
   
           assertEquals(stamp, output.lastModified());
  -        
  -             output.delete();
  +
  +        output.delete();
       }
   
       public void testJars() throws Exception
       {
  +        if (JDK1_3)
  +            return;
  +
           ConstructRegistry cr = create();
   
           Path p = cr.createDescriptors();
  @@ -224,8 +245,8 @@
           cr.execute();
   
           compare(output, 
getFrameworkPath("src/test-data/TestConstructRegistry/testJars.xml"));
  -        
  -             output.delete();
  +
  +        output.delete();
       }
   
       protected void compare(File actual, String expectedPath) throws Exception
  
  
  
  1.3       +7 -1      
jakarta-hivemind/framework/src/java/org/apache/hivemind/schema/rules/InstanceTranslator.java
  
  Index: InstanceTranslator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/java/org/apache/hivemind/schema/rules/InstanceTranslator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- InstanceTranslator.java   18 Jul 2004 14:43:11 -0000      1.2
  +++ InstanceTranslator.java   1 Aug 2004 17:40:36 -0000       1.3
  @@ -47,7 +47,13 @@
           }
           catch (Exception ex)
           {
  -            throw new ApplicationRuntimeException(ex.getMessage(), location, 
ex);
  +            // JDK 1.4 produces a good message here, but JDK 1.3 does not, 
so we
  +            // create our own.
  +
  +            throw new ApplicationRuntimeException(
  +                
RulesMessages.unableToInstantiateInstanceOfClass(objectClass, ex),
  +                location,
  +                ex);
           }
       }
   
  
  
  
  1.6       +5 -0      
jakarta-hivemind/framework/src/java/org/apache/hivemind/schema/rules/RulesMessages.java
  
  Index: RulesMessages.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/java/org/apache/hivemind/schema/rules/RulesMessages.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RulesMessages.java        18 Jun 2004 13:50:03 -0000      1.5
  +++ RulesMessages.java        1 Aug 2004 17:40:36 -0000       1.6
  @@ -178,4 +178,9 @@
               propertyType.getName(),
               cause);
       }
  +
  +    public static String unableToInstantiateInstanceOfClass(Class clazz, 
Throwable cause)
  +    {
  +        return _formatter.format("unable-to-instantiate-instance-of-class", 
clazz.getName(), cause);
  +    }
   }
  
  
  
  1.3       +3 -1      
jakarta-hivemind/framework/src/java/org/apache/hivemind/schema/rules/RulesStrings.properties
  
  Index: RulesStrings.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/java/org/apache/hivemind/schema/rules/RulesStrings.properties,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- RulesStrings.properties   15 Jun 2004 20:35:56 -0000      1.2
  +++ RulesStrings.properties   1 Aug 2004 17:40:36 -0000       1.3
  @@ -40,4 +40,6 @@
   resource-localization-error=Unable to localize resource {0} for module {1}.
   invalid-initializer=Initializer string (''{0}'') is not in proper format 
(key=value[,key=value]*).
   no-property-editor=No property editor for {0}.
  -smart-translator-error=Unable to translate ''{0}'' to type {1}: {2}
  \ No newline at end of file
  +smart-translator-error=Unable to translate ''{0}'' to type {1}: {2}
  +
  +unable-to-instantiate-instance-of-class=Unable to instantiate instance of 
class {0}: {1}
  
  
  
  1.10      +10 -1     jakarta-hivemind/library/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/library/build.xml,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- build.xml 11 Jul 2004 17:23:52 -0000      1.9
  +++ build.xml 1 Aug 2004 17:40:36 -0000       1.10
  @@ -25,7 +25,16 @@
        <import file="${hivebuild.dir}/clover-report.xml"/>
                
        <target name="compile">
  -             <ibiblio-dependency jar="geronimo-spec-ejb-1.0-M1.jar" 
group-id="geronimo-spec"/>
  +    
  +    <!-- Not compiled with compatibility to JDK 1.3
  +      
  +             <ibiblio-dependency jar="geronimo-spec-ejb-1.0-M1.jar" 
group-id="geronimo-spec"/ -->
  +    
  +    <!-- Dammit, just need access to javax.ejb -->
  +    
  +    <ibiblio-dependency jar="jboss-j2ee-3.2.1.jar" group-id="jboss"/>
  +    
  +    
                <ibiblio-dependency jar="spring-full-1.0.1.jar" 
group-id="springframework"/>
                <ibiblio-dependency jar="commons-logging-1.0.3.jar" 
group-id="commons-logging"/>
                
  
  
  
  1.9       +9 -0      
jakarta-hivemind/framework/src/java/org/apache/hivemind/test/HiveMindTestCase.java
  
  Index: HiveMindTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/java/org/apache/hivemind/test/HiveMindTestCase.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- HiveMindTestCase.java     16 Jul 2004 23:15:40 -0000      1.8
  +++ HiveMindTestCase.java     1 Aug 2004 17:40:36 -0000       1.9
  @@ -443,4 +443,13 @@
       
           return new LocationImpl(r, line);
       }
  +    
  +    protected boolean matches(String input, String pattern) throws Exception
  +    {
  +     setupMatcher();
  +     
  +     Pattern compiled = _compiler.compile(pattern);
  +     
  +     return _matcher.matches(input, compiled);
  +    }
   }
  
  
  
  1.15      +1 -2      
jakarta-hivemind/framework/src/test/hivemind/test/rules/TestObjectTranslator.java
  
  Index: TestObjectTranslator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/test/hivemind/test/rules/TestObjectTranslator.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- TestObjectTranslator.java 18 Jul 2004 14:43:11 -0000      1.14
  +++ TestObjectTranslator.java 1 Aug 2004 17:40:36 -0000       1.15
  @@ -97,8 +97,7 @@
           {
               assertExceptionSubstring(
                   ex,
  -                "Class org.apache.hivemind.schema.rules.InstanceTranslator 
can not access a member "
  -                    + "of class hivemind.test.rules.PrivateObject");
  +                "Unable to instantiate instance of class 
hivemind.test.rules.PrivateObject");
           }
   
           verifyControls();
  
  
  
  1.3       +5 -7      
jakarta-hivemind/src/documentation/content/xdocs/dependencies.xml
  
  Index: dependencies.xml
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/src/documentation/content/xdocs/dependencies.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- dependencies.xml  11 Jul 2004 17:23:52 -0000      1.2
  +++ dependencies.xml  1 Aug 2004 17:40:37 -0000       1.3
  @@ -50,17 +50,15 @@
         <td>
           <link href="http://www.easymock.org/";>EasyMock testing 
framework</link>
         </td>
  -      <td>Only needed by &api.HiveMindTestCase;, which exists as the basis 
of 
  -        your own tests.</td>
  +      <td>Only needed by &api.HiveMindTestCase;, which exists as the basis 
of your own tests.</td>
       </tr>
       <tr>
  -      <td>geronimo-spec-ejb-1.0-M1.jar</td>
  +      <td>jboss-j2ee-3.2.1.jar</td>
         <td>
  -        <link href="http://geronimo.apache.org/";>Geronimo J2EE Server</link>
  +        <link href="http://jboss.org/";>JBoss J2EE Server</link>
         </td>
  -      <td>Used by some services of the HiveMind library. No dependencies on 
  -        Geronimo itself, just on the <code>javax.naming</code> and 
  -        <code>javax.ejb</code> packages.</td>
  +      <td>Used by some services of the HiveMind library. No dependencies on 
JBoss itself, just on the 
  +        <code>javax.ejb</code> package.</td>
       </tr>
       <tr>
         <td>javassist-2.6.jar</td>
  
  
  
  1.4       +6 -1      
jakarta-hivemind/framework/src/test/hivemind/test/services/EventProducer.java
  
  Index: EventProducer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/test/hivemind/test/services/EventProducer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- EventProducer.java        25 Jun 2004 20:19:57 -0000      1.3
  +++ EventProducer.java        1 Aug 2004 17:40:37 -0000       1.4
  @@ -26,15 +26,20 @@
   public class EventProducer
   {
       private PropertyChangeSupport _support = new PropertyChangeSupport(this);
  +    private int _count = 0;
   
       public void addPropertyChangeListener(PropertyChangeListener listener)
       {
           _support.addPropertyChangeListener(listener);
  +
  +        _count++;
       }
   
       public void removePropertyChangeListener(PropertyChangeListener listener)
       {
           _support.removePropertyChangeListener(listener);
  +
  +        _count--;
       }
   
       public void fire(PropertyChangeEvent event)
  @@ -44,7 +49,7 @@
   
       public int getListenerCount()
       {
  -        return _support.getPropertyChangeListeners().length;
  +        return _count;
       }
   
       public String toString()
  
  
  
  1.3       +1 -1      
jakarta-hivemind/framework/src/test/hivemind/test/services/TestMethodSignature.java
  
  Index: TestMethodSignature.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/test/hivemind/test/services/TestMethodSignature.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- TestMethodSignature.java  12 Jun 2004 18:43:41 -0000      1.2
  +++ TestMethodSignature.java  1 Aug 2004 17:40:37 -0000       1.3
  @@ -36,7 +36,7 @@
           {
               Method m = methods[i];
   
  -            if (m.getName() == methodName)
  +            if (m.getName().equals(methodName))
                   return new MethodSignature(m);
           }
   
  
  
  
  1.1                  
jakarta-hivemind/framework/src/test-data/TestRegistryBuilder.jar
  
        <<Binary file>>
  
  
  1.14      +4 -1      
jakarta-hivemind/framework/src/test/hivemind/test/TestRegistryBuilder.java
  
  Index: TestRegistryBuilder.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/framework/src/test/hivemind/test/TestRegistryBuilder.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- TestRegistryBuilder.java  29 Jul 2004 13:18:51 -0000      1.13
  +++ TestRegistryBuilder.java  1 Aug 2004 17:40:37 -0000       1.14
  @@ -43,7 +43,10 @@
   
       public void testLookup() throws Exception
       {
  -        File f = new 
File(getFrameworkPath("src/test-data/TestRegistryBuilder"));
  +     // JDK 1.3 URLClassLoader doesn't seem to work properly for 
directories, so
  +     // the contents of the TestRegistryBuilder folder are packaged inside 
this JAR.
  +     
  +        File f = new 
File(getFrameworkPath("src/test-data/TestRegistryBuilder.jar"));
   
           URL[] urls = new URL[] { f.toURL()};
   
  
  
  
  1.3       +1 -1      
jakarta-hivemind/library/src/java/org/apache/hivemind/lib/pipeline/FilterMethodAnalyzer.java
  
  Index: FilterMethodAnalyzer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-hivemind/library/src/java/org/apache/hivemind/lib/pipeline/FilterMethodAnalyzer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FilterMethodAnalyzer.java 12 Jun 2004 18:43:41 -0000      1.2
  +++ FilterMethodAnalyzer.java 1 Aug 2004 17:40:37 -0000       1.3
  @@ -37,7 +37,7 @@
           if (ms.getReturnType() != fms.getReturnType())
               return -1;
   
  -        if (ms.getName() != fms.getName())
  +        if (!ms.getName().equals(fms.getName()))
               return -1;
   
           Class[] filterParameters = fms.getParameterTypes();
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to