fixed 47654
    summary : Data Source created using connection profile to
    classicmodels sample DB is not shown as created using connection
profile
    Description: do not write connection profile store path to the
    acconnprofiles, improve the logic to check whether the profile
exists.
diff --git a/plugins/org.eclipse.datatools.connectivity.oda.profile/src/org/eclipse/datatools/connectivity/oda/profile/OdaProfileExplorer.java b/plugins/org.eclipse.datatools.connectivity.oda.profile/src/org/eclipse/datatools/connectivity/oda/profile/OdaProfileExplorer.java
index 156c624..8308b72 100644
--- a/plugins/org.eclipse.datatools.connectivity.oda.profile/src/org/eclipse/datatools/connectivity/oda/profile/OdaProfileExplorer.java
+++ b/plugins/org.eclipse.datatools.connectivity.oda.profile/src/org/eclipse/datatools/connectivity/oda/profile/OdaProfileExplorer.java
@@ -48,6 +48,8 @@
     private Map<FileKey, IConnectionProfile[]> m_loadedProfilesByFile;
     private File m_defaultProfileStoreFile;
     
+    private static final String SAMPELDB_DATA_SOURCE_ID = "org.eclipse.birt.report.data.oda.sampledb"; //$NON-NLS-1$
+	private static final String JDBC_DATA_SOURCE_ID = "org.eclipse.birt.report.data.oda.jdbc"; //$NON-NLS-1$
     /**
      * Static method to return the singleton instance.
      * @return
@@ -248,10 +250,26 @@
 
             // check that the profile is under the specified category
             if( categoryId != null )
-            {
-                if( ! aProfile.getCategory().getId().equals( categoryId ) )
-                    continue;   // not a match
-            }
+			{
+				if ( !aProfile.getCategory( ).getId( ).equals( categoryId ) )
+				{
+					// sample db provider ID is different from categoryId
+					if ( aProfile.getCategory( )
+							.getId( )
+							.equals( SAMPELDB_DATA_SOURCE_ID ) )
+					{
+						if ( !categoryId.equals( JDBC_DATA_SOURCE_ID ) )
+						{
+							continue;
+						}
+					}
+					else
+					{
+						continue; // not a match
+					}
+
+				}
+			}
             else if( odaDataSourceId != null )  // find a match by odaDataSourceId instead
             {
                 // ODA profiles use the odaDataSourceId as its profile identifier