[teiid-commits] teiid SVN: r3961 - trunk/connectors/translator-salesforce/src/main/java/org/teiid/translator/salesforce.

teiid-commits at lists.jboss.org teiid-commits at lists.jboss.org
Mon Apr 2 12:16:52 EDT 2012


Author: rareddy
Date: 2012-04-02 12:16:52 -0400 (Mon, 02 Apr 2012)
New Revision: 3961

Modified:
   trunk/connectors/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForceExecutionFactory.java
Log:
TEIID-1984: Added "GetUpdated" and "GetDeleted" procedures based upon the metadata defined through Designer based SF source model to Dynamic VDB metadata.

Modified: trunk/connectors/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForceExecutionFactory.java
===================================================================
--- trunk/connectors/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForceExecutionFactory.java	2012-04-02 03:41:32 UTC (rev 3960)
+++ trunk/connectors/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForceExecutionFactory.java	2012-04-02 16:16:52 UTC (rev 3961)
@@ -35,7 +35,10 @@
 import org.teiid.logging.LogConstants;
 import org.teiid.logging.LogManager;
 import org.teiid.metadata.MetadataFactory;
+import org.teiid.metadata.Procedure;
+import org.teiid.metadata.ProcedureParameter;
 import org.teiid.metadata.RuntimeMetadata;
+import org.teiid.metadata.ProcedureParameter.Type;
 import org.teiid.translator.ExecutionContext;
 import org.teiid.translator.ExecutionFactory;
 import org.teiid.translator.ProcedureExecution;
@@ -43,6 +46,7 @@
 import org.teiid.translator.Translator;
 import org.teiid.translator.TranslatorException;
 import org.teiid.translator.TranslatorProperty;
+import org.teiid.translator.TypeFacility;
 import org.teiid.translator.UpdateExecution;
 import org.teiid.translator.salesforce.execution.DeleteExecutionImpl;
 import org.teiid.translator.salesforce.execution.InsertExecutionImpl;
@@ -113,6 +117,34 @@
 	public void getMetadata(MetadataFactory metadataFactory, SalesforceConnection connection) throws TranslatorException {
 		MetadataProcessor processor = new MetadataProcessor(connection,metadataFactory, this);
 		processor.processMetadata();
+		
+		Procedure p1 = metadataFactory.addProcedure("GetUpdated"); //$NON-NLS-1$
+		p1.setAnnotation("Gets the updated objects"); //$NON-NLS-1$
+		ProcedureParameter param = metadataFactory.addProcedureParameter("ObjectName", TypeFacility.RUNTIME_NAMES.STRING, Type.In, p1); //$NON-NLS-1$
+		param.setAnnotation("ObjectName"); //$NON-NLS-1$
+		param = metadataFactory.addProcedureParameter("StartDate", TypeFacility.RUNTIME_NAMES.TIMESTAMP, Type.In, p1); //$NON-NLS-1$
+		param.setAnnotation("Start Time"); //$NON-NLS-1$
+		param = metadataFactory.addProcedureParameter("EndDate", TypeFacility.RUNTIME_NAMES.TIMESTAMP, Type.In, p1); //$NON-NLS-1$
+		param.setAnnotation("End Time"); //$NON-NLS-1$
+		param = metadataFactory.addProcedureParameter("LatestDateCovered", TypeFacility.RUNTIME_NAMES.TIMESTAMP, Type.In, p1); //$NON-NLS-1$
+		param.setAnnotation("Latest Date Covered"); //$NON-NLS-1$
+		metadataFactory.addProcedureResultSetColumn("ID", TypeFacility.RUNTIME_NAMES.STRING, p1); //$NON-NLS-1$
+		
+		
+		Procedure p2 = metadataFactory.addProcedure("GetDeleted"); //$NON-NLS-1$
+		p2.setAnnotation("Gets the deleted objects"); //$NON-NLS-1$
+		param = metadataFactory.addProcedureParameter("ObjectName", TypeFacility.RUNTIME_NAMES.STRING, Type.In, p2); //$NON-NLS-1$
+		param.setAnnotation("ObjectName"); //$NON-NLS-1$
+		param = metadataFactory.addProcedureParameter("StartDate", TypeFacility.RUNTIME_NAMES.TIMESTAMP, Type.In, p2); //$NON-NLS-1$
+		param.setAnnotation("Start Time"); //$NON-NLS-1$
+		param = metadataFactory.addProcedureParameter("EndDate", TypeFacility.RUNTIME_NAMES.TIMESTAMP, Type.In, p2); //$NON-NLS-1$
+		param.setAnnotation("End Time"); //$NON-NLS-1$
+		param = metadataFactory.addProcedureParameter("EarliestDateAvailable", TypeFacility.RUNTIME_NAMES.TIMESTAMP, Type.In, p2); //$NON-NLS-1$
+		param.setAnnotation("Earliest Date Available"); //$NON-NLS-1$
+		param = metadataFactory.addProcedureParameter("LatestDateCovered", TypeFacility.RUNTIME_NAMES.TIMESTAMP, Type.In, p2); //$NON-NLS-1$
+		param.setAnnotation("Latest Date Covered"); //$NON-NLS-1$		
+		metadataFactory.addProcedureResultSetColumn("ID", TypeFacility.RUNTIME_NAMES.STRING, p2); //$NON-NLS-1$		
+		metadataFactory.addProcedureResultSetColumn("DeletedDate", TypeFacility.RUNTIME_NAMES.TIMESTAMP, p2); //$NON-NLS-1$
 	}	
 	
     @Override



More information about the teiid-commits mailing list