[teiid-commits] teiid SVN: r2703 - in branches/7.1.x/connectors/translator-salesforce/src: test/java/org/teiid/translator/salesforce/execution and 1 other directory.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Wed Nov 3 17:35:28 EDT 2010


Author: shawkins
Date: 2010-11-03 17:35:27 -0400 (Wed, 03 Nov 2010)
New Revision: 2703

Added:
   branches/7.1.x/connectors/translator-salesforce/src/test/java/org/teiid/translator/salesforce/execution/TestQueryExecutionImpl.java
Modified:
   branches/7.1.x/connectors/translator-salesforce/src/main/java/org/teiid/translator/salesforce/execution/QueryExecutionImpl.java
Log:
TEIID-1302 additional fix to salesforce indexing

Modified: branches/7.1.x/connectors/translator-salesforce/src/main/java/org/teiid/translator/salesforce/execution/QueryExecutionImpl.java
===================================================================
--- branches/7.1.x/connectors/translator-salesforce/src/main/java/org/teiid/translator/salesforce/execution/QueryExecutionImpl.java	2010-11-03 17:55:20 UTC (rev 2702)
+++ branches/7.1.x/connectors/translator-salesforce/src/main/java/org/teiid/translator/salesforce/execution/QueryExecutionImpl.java	2010-11-03 21:35:27 UTC (rev 2703)
@@ -41,6 +41,7 @@
 import org.teiid.language.TableReference;
 import org.teiid.logging.LogConstants;
 import org.teiid.logging.LogManager;
+import org.teiid.logging.MessageLevel;
 import org.teiid.metadata.AbstractMetadataRecord;
 import org.teiid.metadata.Column;
 import org.teiid.metadata.RuntimeMetadata;
@@ -185,7 +186,7 @@
 					results = connection.queryMore(results.getQueryLocator(), context.getBatchSize());
 				}
 				resultBatch = new ArrayList<List<Object>>();
-					
+				topResultIndex = 0;
 				for(SObject sObject : results.getRecords()) {
 					List<Object[]> result = getObjectData(sObject);
 					for(Iterator<Object[]> i = result.iterator(); i.hasNext(); ) {
@@ -291,6 +292,9 @@
 	}
 
 	private void logFields(String sObjectName, List<Object> fields) throws TranslatorException {
+		if (!LogManager.isMessageToBeRecorded(LogConstants.CTX_CONNECTOR, MessageLevel.DETAIL)) {
+			return;
+		}
 		LogManager.logDetail(LogConstants.CTX_CONNECTOR, "SalesForce Object Name = " + sObjectName); //$NON-NLS-1$
 		LogManager.logDetail(LogConstants.CTX_CONNECTOR, "FieldCount = " + fields.size()); //$NON-NLS-1$
 		for(int i = 0; i < fields.size(); i++) {

Added: branches/7.1.x/connectors/translator-salesforce/src/test/java/org/teiid/translator/salesforce/execution/TestQueryExecutionImpl.java
===================================================================
--- branches/7.1.x/connectors/translator-salesforce/src/test/java/org/teiid/translator/salesforce/execution/TestQueryExecutionImpl.java	                        (rev 0)
+++ branches/7.1.x/connectors/translator-salesforce/src/test/java/org/teiid/translator/salesforce/execution/TestQueryExecutionImpl.java	2010-11-03 21:35:27 UTC (rev 2703)
@@ -0,0 +1,69 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership.  Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ * 
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ * 
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ * 
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package org.teiid.translator.salesforce.execution;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.teiid.cdk.api.TranslationUtility;
+import org.teiid.language.Select;
+import org.teiid.metadata.RuntimeMetadata;
+import org.teiid.translator.ExecutionContext;
+import org.teiid.translator.salesforce.SalesforceConnection;
+import org.teiid.translator.salesforce.execution.visitors.TestVisitors;
+import org.w3c.dom.Element;
+
+import com.sforce.soap.partner.QueryResult;
+import com.sforce.soap.partner.sobject.SObject;
+
+ at SuppressWarnings("nls")
+public class TestQueryExecutionImpl {
+	
+	private static TranslationUtility translationUtility = new TranslationUtility(TestVisitors.exampleSalesforce());
+
+	@Test public void testBatching() throws Exception {
+		Select command = (Select)translationUtility.parseCommand("select Name from Account"); //$NON-NLS-1$
+		SalesforceConnection sfc = Mockito.mock(SalesforceConnection.class);
+		QueryResult qr = new QueryResult();
+		SObject so = new SObject();
+		so.setType("Account");
+		Element elem = Mockito.mock(Element.class);
+		Mockito.stub(elem.getLocalName()).toReturn("AccountName");
+		so.getAny().add(elem);
+		qr.getRecords().add(so);
+		qr.setDone(false);
+		QueryResult finalQr = new QueryResult();
+		so.getAny().add(elem);
+		finalQr.getRecords().add(so);
+		finalQr.setDone(true);
+		Mockito.stub(sfc.query("SELECT Account.AccountName FROM Account", 0, false)).toReturn(qr);
+		Mockito.stub(sfc.queryMore(null, 0)).toReturn(finalQr);
+		QueryExecutionImpl qei = new QueryExecutionImpl(command, sfc, Mockito.mock(RuntimeMetadata.class), Mockito.mock(ExecutionContext.class));
+		qei.execute();
+		assertNotNull(qei.next());
+		assertNotNull(qei.next());
+		assertNull(qei.next());
+	}
+	
+}


Property changes on: branches/7.1.x/connectors/translator-salesforce/src/test/java/org/teiid/translator/salesforce/execution/TestQueryExecutionImpl.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain



More information about the teiid-commits mailing list