Search in sources :

Example 16 with XmlObject

use of com.sforce.ws.bind.XmlObject in project pentaho-kettle by pentaho.

the class SalesforceInputDialogTest method testAddFields_IdAdded.

@Test
public void testAddFields_IdAdded() throws Exception {
    final Set<String> fields = new LinkedHashSet<>();
    XmlObject testObject = createObject("Id", VALUE, ObjectType.XMLOBJECT);
    dialog.addFields("", fields, testObject);
    assertArrayEquals("Id field added", new String[] { "Id" }, fields.toArray());
}
Also used : LinkedHashSet(java.util.LinkedHashSet) XmlObject(com.sforce.ws.bind.XmlObject) Test(org.junit.Test)

Example 17 with XmlObject

use of com.sforce.ws.bind.XmlObject in project pentaho-kettle by pentaho.

the class SalesforceInputDialogTest method testAddFields_nullRelationalIdNotAdded.

@Test
public void testAddFields_nullRelationalIdNotAdded() throws Exception {
    final Set<String> fields = new LinkedHashSet<>();
    XmlObject complexObject = createObject("Module2", null, ObjectType.SOBJECT);
    complexObject.addField("Id", createObject("Id", null, ObjectType.XMLOBJECT));
    dialog.addFields("", fields, complexObject);
    assertArrayEquals("Relational null Id not added", new String[] {}, fields.toArray());
}
Also used : LinkedHashSet(java.util.LinkedHashSet) XmlObject(com.sforce.ws.bind.XmlObject) Test(org.junit.Test)

Example 18 with XmlObject

use of com.sforce.ws.bind.XmlObject in project pentaho-kettle by pentaho.

the class SalesforceInputDialogTest method testAddFields_relationalIdAdded.

@Test
public void testAddFields_relationalIdAdded() throws Exception {
    final Set<String> fields = new LinkedHashSet<>();
    XmlObject complexObject = createObject("Module2", null, ObjectType.SOBJECT);
    complexObject.addField("Id", createObject("Id", VALUE, ObjectType.XMLOBJECT));
    complexObject.addField("Name", createObject("Name", VALUE, ObjectType.XMLOBJECT));
    dialog.addFields("", fields, complexObject);
    assertArrayEquals("Relational fields added", new String[] { "Module2.Id", "Module2.Name" }, fields.toArray());
}
Also used : LinkedHashSet(java.util.LinkedHashSet) XmlObject(com.sforce.ws.bind.XmlObject) Test(org.junit.Test)

Example 19 with XmlObject

use of com.sforce.ws.bind.XmlObject in project pentaho-kettle by pentaho.

the class SalesforceInputDialogTest method testAddFieldsFromSOQLQuery.

@Test
public void testAddFieldsFromSOQLQuery() throws Exception {
    final Set<String> fields = new LinkedHashSet<>();
    XmlObject testObject = createObject("Field1", VALUE, ObjectType.XMLOBJECT);
    dialog.addFields("", fields, testObject);
    dialog.addFields("", fields, testObject);
    assertArrayEquals("No duplicates", new String[] { "Field1" }, fields.toArray());
    testObject = createObject("Field2", VALUE, ObjectType.XMLOBJECT);
    dialog.addFields("", fields, testObject);
    assertArrayEquals("Two fields", new String[] { "Field1", "Field2" }, fields.toArray());
}
Also used : LinkedHashSet(java.util.LinkedHashSet) XmlObject(com.sforce.ws.bind.XmlObject) Test(org.junit.Test)

Example 20 with XmlObject

use of com.sforce.ws.bind.XmlObject in project pentaho-kettle by pentaho.

the class SalesforceInputDialogTest method createObject.

private XmlObject createObject(String fieldName, String value, ObjectType type) {
    XmlObject result;
    switch(type) {
        case SOBJECT:
            result = new SObject();
            break;
        case XMLOBJECT:
            result = new XmlObject();
            break;
        default:
            throw new IllegalArgumentException();
    }
    result.setName(new QName(Constants.PARTNER_SOBJECT_NS, fieldName));
    result.setValue(value);
    return result;
}
Also used : QName(javax.xml.namespace.QName) SObject(com.sforce.soap.partner.sobject.SObject) XmlObject(com.sforce.ws.bind.XmlObject)

Aggregations

XmlObject (com.sforce.ws.bind.XmlObject)30 SObject (com.sforce.soap.partner.sobject.SObject)15 Test (org.junit.Test)11 ArrayList (java.util.ArrayList)6 KettleException (org.pentaho.di.core.exception.KettleException)6 LinkedHashSet (java.util.LinkedHashSet)5 QName (javax.xml.namespace.QName)5 ValueMetaInterface (org.pentaho.di.core.row.ValueMetaInterface)4 VisibleForTesting (com.google.common.annotations.VisibleForTesting)3 KettleStepException (org.pentaho.di.core.exception.KettleStepException)3 RowMeta (org.pentaho.di.core.row.RowMeta)3 Schema (org.apache.avro.Schema)2 ValueMetaBase (org.pentaho.di.core.row.value.ValueMetaBase)2 ValueMetaInteger (org.pentaho.di.core.row.value.ValueMetaInteger)2 Column (org.teiid.metadata.Column)2 Field (com.sforce.soap.partner.Field)1 ConnectionException (com.sforce.ws.ConnectionException)1 Time (com.sforce.ws.types.Time)1 Method (java.lang.reflect.Method)1 DateFormat (java.text.DateFormat)1