[teiid-commits] teiid SVN: r2905 - in trunk/engine/src: test/java/org/teiid/query/metadata and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Mon Feb 14 15:12:15 EST 2011


Author: shawkins
Date: 2011-02-14 15:12:15 -0500 (Mon, 14 Feb 2011)
New Revision: 2905

Modified:
   trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
   trunk/engine/src/test/java/org/teiid/query/metadata/TestTransformationMetadata.java
Log:
TEIID-1467 fix for procedure visibility issue

Modified: trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java	2011-02-14 01:30:06 UTC (rev 2904)
+++ trunk/engine/src/main/java/org/teiid/query/metadata/TransformationMetadata.java	2011-02-14 20:12:15 UTC (rev 2905)
@@ -352,7 +352,7 @@
         
         for (StoredProcedureInfo storedProcedureInfo : results) {
         	Schema schema = (Schema)storedProcedureInfo.getModelID();
-	        if(vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){
+	        if(fullyQualifiedProcedureName.equalsIgnoreCase(storedProcedureInfo.getProcedureCallableName()) || vdbMetaData == null || vdbMetaData.isVisible(schema.getName())){
 	        	if (result != null) {
 	    			throw new QueryMetadataException(QueryPlugin.Util.getString("ambiguous_procedure", fullyQualifiedProcedureName)); //$NON-NLS-1$
 	    		}
@@ -743,6 +743,10 @@
     	return vdbMetaData.getVersion();
     }
     
+    public VDBMetaData getVdbMetaData() {
+		return vdbMetaData;
+	}
+    
     /**
      * @see org.teiid.query.metadata.QueryMetadataInterface#getXMLTempGroups(java.lang.Object)
      */

Modified: trunk/engine/src/test/java/org/teiid/query/metadata/TestTransformationMetadata.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/query/metadata/TestTransformationMetadata.java	2011-02-14 01:30:06 UTC (rev 2904)
+++ trunk/engine/src/test/java/org/teiid/query/metadata/TestTransformationMetadata.java	2011-02-14 20:12:15 UTC (rev 2905)
@@ -61,6 +61,16 @@
 			assertEquals("Procedure 'y' is ambiguous, use the fully qualified name instead", e.getMessage()); //$NON-NLS-1$
 		}
 	}
+	
+	@Test public void testProcVisibility() throws Exception {
+		TransformationMetadata tm = exampleTransformationMetadata();
+		VDBMetaData vdb = tm.getVdbMetaData();
+		vdb.getModel("x").setVisible(false);
+		StoredProcedureInfo spi = tm.getStoredProcedureInfoForProcedure("y"); //$NON-NLS-1$
+		assertEquals("x1.y", spi.getProcedureCallableName());
+		spi = tm.getStoredProcedureInfoForProcedure("x.y"); //$NON-NLS-1$
+		assertEquals("x.y", spi.getProcedureCallableName());
+	}
 
 	private TransformationMetadata exampleTransformationMetadata()
 			throws TranslatorException {



More information about the teiid-commits mailing list