[teiid-commits] teiid SVN: r3883 - in branches/7.7.x/engine/src: test/java/org/teiid/dqp/internal/process/multisource and 1 other directory.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Tue Feb 14 14:50:36 EST 2012
Author: shawkins
Date: 2012-02-14 14:50:36 -0500 (Tue, 14 Feb 2012)
New Revision: 3883
Modified:
branches/7.7.x/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java
branches/7.7.x/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourceMetadataWrapper.java
Log:
TEIID-1939 fix for error with multisource metadata
Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java
===================================================================
--- branches/7.7.x/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java 2012-02-14 19:24:21 UTC (rev 3882)
+++ branches/7.7.x/engine/src/main/java/org/teiid/query/metadata/TempMetadataAdapter.java 2012-02-14 19:50:36 UTC (rev 3883)
@@ -766,5 +766,23 @@
}
return this.actualMetadata.getPrimaryKey(metadataID);
}
+
+ @Override
+ public boolean isMultiSource(Object modelId) throws QueryMetadataException,
+ TeiidComponentException {
+ if (modelId instanceof TempMetadataID) {
+ return false;
+ }
+ return this.actualMetadata.isMultiSource(modelId);
+ }
+
+ @Override
+ public boolean isMultiSourceElement(Object elementId)
+ throws QueryMetadataException, TeiidComponentException {
+ if (elementId instanceof TempMetadataID) {
+ return false;
+ }
+ return this.actualMetadata.isMultiSourceElement(elementId);
+ }
}
Modified: branches/7.7.x/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourceMetadataWrapper.java
===================================================================
--- branches/7.7.x/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourceMetadataWrapper.java 2012-02-14 19:24:21 UTC (rev 3882)
+++ branches/7.7.x/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourceMetadataWrapper.java 2012-02-14 19:50:36 UTC (rev 3883)
@@ -22,24 +22,26 @@
package org.teiid.dqp.internal.process.multisource;
+import static org.junit.Assert.*;
+
+import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Properties;
-import junit.framework.TestCase;
-
+import org.junit.Test;
import org.teiid.core.types.DataTypeManager;
+import org.teiid.query.metadata.TempMetadataAdapter;
+import org.teiid.query.metadata.TempMetadataID;
+import org.teiid.query.metadata.TempMetadataStore;
+import org.teiid.query.sql.symbol.ElementSymbol;
import org.teiid.query.sql.symbol.SingleElementSymbol;
import org.teiid.query.unittest.RealMetadataFactory;
+ at SuppressWarnings("nls")
+public class TestMultiSourceMetadataWrapper {
-
-/**
- * @since 4.2
- */
-public class TestMultiSourceMetadataWrapper extends TestCase {
-
- public void testMultiSourcePseudoElement() throws Exception {
+ @Test public void testMultiSourcePseudoElement() throws Exception {
HashSet<String> multiSourceModels = new HashSet<String>();
multiSourceModels.add("BQT1");
MultiSourceMetadataWrapper wrapper = new MultiSourceMetadataWrapper(RealMetadataFactory.exampleBQTCached(), multiSourceModels);
@@ -71,5 +73,14 @@
assertEquals(0, wrapper.getRadix(instanceElementID));
assertEquals(MultiSourceElement.MULTI_SOURCE_ELEMENT_NAME, SingleElementSymbol.getShortName(fullName));
assertEquals(fullName, wrapper.getFullName(groupID) + SingleElementSymbol.SEPARATOR + MultiSourceElement.MULTI_SOURCE_ELEMENT_NAME);
+
+
+ TempMetadataAdapter tma = new TempMetadataAdapter(wrapper, new TempMetadataStore());
+ ElementSymbol elementSymbol = new ElementSymbol("y");
+ elementSymbol.setType(DataTypeManager.DefaultDataClasses.STRING);
+ TempMetadataID id = tma.getMetadataStore().addTempGroup("x", Arrays.asList(elementSymbol));
+
+ assertFalse(tma.isMultiSourceElement(id.getElements().get(0)));
+ assertTrue(tma.isMultiSourceElement(instanceElementID));
}
}
More information about the teiid-commits
mailing list