harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ruth Cao (JIRA)" <j...@apache.org>
Subject [jira] Created: (HARMONY-4197) [classlib][sql]SyncFactory.getInstance cannot find the providers that are in the default package
Date Mon, 18 Jun 2007 03:45:26 GMT
[classlib][sql]SyncFactory.getInstance cannot find the providers that are in the default package
------------------------------------------------------------------------------------------------

                 Key: HARMONY-4197
                 URL: https://issues.apache.org/jira/browse/HARMONY-4197
             Project: Harmony
          Issue Type: Bug
          Components: Classlib
         Environment: Windows XP / Linux
            Reporter: Ruth Cao


SyncFactory.getInstance(String) is not able to return the providers which are in the default
package. The following test case shows this problem:

public class SyncFactoryTest {

        static String providerName = "DummyProvider";

        public static void main( String args[] ) {

                try {
                        System.out.println("Provider name is " + providerName);
                        SyncFactory.registerProvider(providerName);
                        System.out.println("Provider registered.");
                        SyncProvider provider = SyncFactory.getInstance(providerName);
                        System.out.println("Got Instance of Provider.");

                        if( provider == null ) {
                                System.out.println("That shouldn't have happened. The provider
is null");
                        } else {
                                System.out.println("Provider retrieved is " + provider.getProviderID()
);
                        }
                } catch (Exception e) {
                        System.out.println("Caught an exception!");
                        e.printStackTrace();
                } finally {
                       System.unregisterProvider(providerName);
               }

        }
}


public class DummyProvider extends SyncProvider {

                public String getProviderID() {
                        return getClass().getName();
                }

                public String getVendor() {
                        return "Me";
                }

                public String getVersion() {
                        return "2.0";
                }

                public int supportsUpdatableView() {
                        return 0;
                }

                public int getDataSourceLock() {
                        return 0;
                }

                public void setDataSourceLock( int i ) {}

                public int getProviderGrade() {
                        return 0;
                }

                public RowSetWriter getRowSetWriter() {
                        return null;
                }

                public RowSetReader getRowSetReader() {
                        return null;
                }
}

RI prints: Provider retrieved is DummyProvider
while Harmony prints: Caught an exception! javax.sql.rowset.spi.SyncFactoryException: ClassNotFoundException:
DummyProvider
...

It seems that the way Harmony looks for the provider class is different from RI. I'll create
a patch for this soon, thanks.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message