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