[262874] ODA Data Filtering Specification model - minor refactoring
diff --git a/plugins/org.eclipse.datatools.connectivity.oda.design.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.datatools.connectivity.oda.design.ui/.settings/org.eclipse.jdt.core.prefs
index 05f6590..190e001 100644
--- a/plugins/org.eclipse.datatools.connectivity.oda.design.ui/.settings/org.eclipse.jdt.core.prefs
+++ b/plugins/org.eclipse.datatools.connectivity.oda.design.ui/.settings/org.eclipse.jdt.core.prefs
@@ -1,13 +1,3 @@
-#Fri Apr 13 14:14:14 PDT 2007
+#Thu Jan 29 23:00:30 PST 2009
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.4
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
diff --git a/plugins/org.eclipse.datatools.connectivity.oda.design.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.datatools.connectivity.oda.design.ui/META-INF/MANIFEST.MF
index e9eba46..5dc35e5 100644
--- a/plugins/org.eclipse.datatools.connectivity.oda.design.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.datatools.connectivity.oda.design.ui/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@
Bundle-Version: 3.0.8.qualifier
Bundle-Vendor: Eclipse.org
Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: org.eclipse.datatools.connectivity.oda.design.internal.ui,
org.eclipse.datatools.connectivity.oda.design.ui.designsession,
org.eclipse.datatools.connectivity.oda.design.ui.manifest,
diff --git a/plugins/org.eclipse.datatools.connectivity.oda.design.ui/src/org/eclipse/datatools/connectivity/oda/design/ui/designsession/DesignSessionUtil.java b/plugins/org.eclipse.datatools.connectivity.oda.design.ui/src/org/eclipse/datatools/connectivity/oda/design/ui/designsession/DesignSessionUtil.java
index 736972b..b403e5d 100644
--- a/plugins/org.eclipse.datatools.connectivity.oda.design.ui/src/org/eclipse/datatools/connectivity/oda/design/ui/designsession/DesignSessionUtil.java
+++ b/plugins/org.eclipse.datatools.connectivity.oda.design.ui/src/org/eclipse/datatools/connectivity/oda/design/ui/designsession/DesignSessionUtil.java
@@ -701,6 +701,7 @@
* @return an instance of {@link ExpressionDefinition}, or null if no matching definition is found
* @since DTP 1.7
*/
+ @SuppressWarnings("restriction")
public static ExpressionDefinition getExtensionCustomDefinition( CustomExpression customExpr )
{
if( customExpr == null )
@@ -712,11 +713,12 @@
* <strong>EXPERIMENTAL</strong>.
* An utility method to look up the definition of the specified custom filter expression
* declared by the specified extension.
- * @param extensionId id of an extension that implements the filterExpressions extension point
+ * @param extensionId unique id of an extension that implements the filterExpressions extension point
* @param exprId id of a custom filter expression
* @return an instance of {@link ExpressionDefinition}, or null if no matching definition is found
* @since DTP 1.7
*/
+ @SuppressWarnings("restriction")
public static ExpressionDefinition getExtensionCustomDefinition( String extensionId, String exprId )
{
try
diff --git a/plugins/org.eclipse.datatools.connectivity.oda/src/org/eclipse/datatools/connectivity/oda/IQuery.java b/plugins/org.eclipse.datatools.connectivity.oda/src/org/eclipse/datatools/connectivity/oda/IQuery.java
index 904260e..fd15bf4 100644
--- a/plugins/org.eclipse.datatools.connectivity.oda/src/org/eclipse/datatools/connectivity/oda/IQuery.java
+++ b/plugins/org.eclipse.datatools.connectivity.oda/src/org/eclipse/datatools/connectivity/oda/IQuery.java
@@ -358,10 +358,12 @@
* <b>Note:</b> This method must be called before {@link #prepare(String)}.
* @param filterExpr a filter {@link Expression} with associated variable
* and argument values, as appropriate
- * @throws OdaException if data source error occurs
+ * @throws OdaException if data source error occurs
+ * @throws UnsupportedOperationException
+ * if the specified filter expression includes element(s) that are not supported
* @since 3.2 (DTP 1.7)
*/
-// public void setFilterSpec( Expression filterExpr ) throws OdaException;
+// public void setFilterSpec( Expression filterExpr ) throws OdaException, UnsupportedOperationException;
/**
* <strong>EXPERIMENTAL</strong>.
diff --git a/tests/org.eclipse.datatools.connectivity.oda.consumer.testdriver/META-INF/MANIFEST.MF b/tests/org.eclipse.datatools.connectivity.oda.consumer.testdriver/META-INF/MANIFEST.MF
index 60b6c98..45f6977 100644
--- a/tests/org.eclipse.datatools.connectivity.oda.consumer.testdriver/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.datatools.connectivity.oda.consumer.testdriver/META-INF/MANIFEST.MF
@@ -2,9 +2,10 @@
Bundle-ManifestVersion: 2
Bundle-Name: DTP ODA Consumer Test Driver Plug-in
Bundle-SymbolicName: org.eclipse.datatools.connectivity.oda.consumer.testdriver; singleton:=true
-Bundle-Version: 3.1.0.200703161
+Bundle-Version: 3.2.0.qualifier
Bundle-Vendor: Eclipse.org
Bundle-Localization: plugin
-Require-Bundle: org.eclipse.datatools.connectivity.oda;bundle-version="[3.1.0,4.0.0)"
+Require-Bundle: org.eclipse.datatools.connectivity.oda;bundle-version="[3.2.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)"
Eclipse-LazyStart: true
Export-Package: org.eclipse.datatools.connectivity.oda.consumer.testdriver;x-friends:="org.eclipse.datatools.connectivity.oda.consumer.tests"
diff --git a/tests/org.eclipse.datatools.connectivity.oda.consumer.testdriver/plugin.xml b/tests/org.eclipse.datatools.connectivity.oda.consumer.testdriver/plugin.xml
index 99335ae..0e63aa4 100644
--- a/tests/org.eclipse.datatools.connectivity.oda.consumer.testdriver/plugin.xml
+++ b/tests/org.eclipse.datatools.connectivity.oda.consumer.testdriver/plugin.xml
@@ -52,5 +52,99 @@
odaScalarDataType="Boolean"/>
</dataSet>
</extension>
+ <extension
+ id="filterExtension"
+ point="org.eclipse.datatools.connectivity.oda.filterExpressions">
+ <contributor
+ testerClass="org.eclipse.datatools.connectivity.oda.consumer.testdriver.filter.impl.FilterExprTester">
+ <supportedDataSetType
+ odaDataSetId="org.eclipse.datatools.connectivity.oda.consumer.testdriver.dataSet"
+ odaDataSourceId="org.eclipse.datatools.connectivity.oda.consumer.testdriver">
+ </supportedDataSetType>
+ <supportedDataSetType
+ odaDataSetId="org.eclipse.datatools.connectivity.oda.consumer.testdriver.jdbc.dbprofile.sqbDataSet"
+ odaDataSourceId="org.eclipse.datatools.connectivity.oda.consumer.testdriver.jdbc.dbprofile">
+ </supportedDataSetType>
+ <supportedOdaExpression
+ expressionId="AndExpression">
+ </supportedOdaExpression>
+ <supportedOdaExpression
+ expressionId="OrExpression">
+ </supportedOdaExpression>
+ <supportedOdaExpression
+ expressionId="NotExpression">
+ </supportedOdaExpression>
+ </contributor>
+ <customExpression
+ displayName="Equal to"
+ id="0"
+ isNegatable="true"
+ isOptionable="true"
+ maxArguments="*"
+ minArguments="1">
+ </customExpression>
+ <customExpression
+ displayName="Between"
+ id="1001"
+ isNegatable="true"
+ isOptionable="true"
+ maxArguments="2"
+ minArguments="1">
+ <variableRestriction
+ variableType="ResultSetColumn">
+ <variableOdaDataTypeRestriction
+ odaScalarDataType="String">
+ </variableOdaDataTypeRestriction>
+ <variableOdaDataTypeRestriction
+ odaScalarDataType="Integer">
+ </variableOdaDataTypeRestriction>
+ <variableOdaDataTypeRestriction
+ odaScalarDataType="Double">
+ </variableOdaDataTypeRestriction>
+ <variableOdaDataTypeRestriction
+ odaScalarDataType="Decimal">
+ </variableOdaDataTypeRestriction>
+ <variableOdaDataTypeRestriction
+ odaScalarDataType="Date">
+ </variableOdaDataTypeRestriction>
+ <variableOdaDataTypeRestriction
+ odaScalarDataType="Time">
+ </variableOdaDataTypeRestriction>
+ <variableOdaDataTypeRestriction
+ odaScalarDataType="Timestamp">
+ </variableOdaDataTypeRestriction>
+ </variableRestriction>
+ </customExpression>
+ <customExpression
+ displayName="In"
+ id="1003"
+ isNegatable="true"
+ isOptionable="true"
+ maxArguments="*"
+ minArguments="1">
+ </customExpression>
+ <customExpression
+ displayName="IsNull"
+ id="1005"
+ isNegatable="true"
+ isOptionable="false"
+ maxArguments="0"
+ minArguments="0">
+ </customExpression>
+ <customExpression
+ displayName="IsInstanceOf"
+ id="2000"
+ isNegatable="true"
+ isOptionable="false"
+ maxArguments="1"
+ minArguments="1">
+ <variableRestriction
+ variableType="InstanceOf">
+ <variableClassRestriction
+ class="org.eclipse.datatools.connectivity.oda.consumer.testdriver.OrderItem">
+ </variableClassRestriction>
+ </variableRestriction>
+ </customExpression>
+ </extension>
</plugin>
diff --git a/tests/org.eclipse.datatools.connectivity.oda.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.datatools.connectivity.oda.tests/META-INF/MANIFEST.MF
index 0a8d9c4..9961ee1 100644
--- a/tests/org.eclipse.datatools.connectivity.oda.tests/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.datatools.connectivity.oda.tests/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@
Bundle-ManifestVersion: 2
Bundle-Name: DTP ODA Tests Suite
Bundle-SymbolicName: org.eclipse.datatools.connectivity.oda.tests;singleton:=true
-Bundle-Version: 3.1.3.200702081
+Bundle-Version: 3.2.0.qualifier
Bundle-Localization: plugin
Bundle-Vendor: Eclipse.org
-Require-Bundle: org.eclipse.datatools.connectivity.oda;bundle-version="[3.1.3,4.0.0)",
+Require-Bundle: org.eclipse.datatools.connectivity.oda;bundle-version="[3.2.0,4.0.0)",
org.junit;bundle-version="[3.8.1,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.3.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
+Bundle-RequiredExecutionEnvironment: J2SE-1.5