Package com.sforce.soap.partner.sobject

Examples of com.sforce.soap.partner.sobject.SObject


    }
   
    @SuppressWarnings("unchecked")
    @Test
    public void testStringObjectReturnType() {
        SObject sobject = createSObject("DataTypesTestEntity__c");
        sobject.setField("stringObject__c", "deadbeef");
               
        mockQueryConn.setSObjectsForQueryResult(Lists.newArrayList(sobject));
        mockQueryConn.setExpectedSoqlQuery("select o.stringObject__c from datatypestestentity__c o ");
       
        String query = "select o.stringObject from " + DataTypesTestEntity.class.getSimpleName() + " o";
View Full Code Here


    }
   
    @SuppressWarnings("unchecked")
    @Test
    public void testTimeReturnType() {
        SObject sobject = createSObject("DataTypesTestEntity__c");
        // Time objects stored as FieldType.datetime (see PersistenceUtils.setFieldType)
        sobject.setField("time__c", "1970-01-01T00:00:00.000Z");
               
        mockQueryConn.setSObjectsForQueryResult(Lists.newArrayList(sobject));
        mockQueryConn.setExpectedSoqlQuery("select o.time__c from datatypestestentity__c o ");
       
        String query = "select o.time from " + DataTypesTestEntity.class.getSimpleName() + " o";
View Full Code Here

    }
   
    @SuppressWarnings("unchecked")
    @Test(dataProvider = "urlProvider")
    public void testURLReturnType(String url, String expectedUrl) throws MalformedURLException {
        SObject sobject = createSObject("DataTypesTestEntity__c");
        sobject.setField("url__c", url);
       
        mockQueryConn.setSObjectsForQueryResult(Lists.newArrayList(sobject));
        mockQueryConn.setExpectedSoqlQuery("select o.url__c from datatypestestentity__c o ");
       
        String query = "select o.url from " + DataTypesTestEntity.class.getSimpleName() + " o";
View Full Code Here

             */
            if (!fm.isDirty()) return;
            ObjectManager om = ((ObjectProviderImpl) op).getStateManager().getObjectManager();
            boolean isAllOrNothingMode =
                om instanceof ForceObjectManagerImpl && ((ForceObjectManagerImpl) om).isInAllOrNothingMode();
            SObject toSave;
            if (!isAllOrNothingMode) {
                PartnerConnection connection = getPartnerConnection(mconn, op);
                try {
                    toSave = fm.getSObject(false);
                    if (LOGGER.isDebugEnabled()) {
                        if (fieldNumbers != null) {
                            LOGGER.debug("Updating object: " + toSave.getType() + " id: " + toSave.getId());
                        } else {
                            LOGGER.debug("Creating object: " + toSave.getType());
                        }
                    }
                    SaveResult[] results = fieldNumbers != null ? connection.update(new SObject[]{toSave})
                                                : ((PartnerConnection) mconn.getConnection()).create(new SObject[]{toSave});
                    checkForErrors(results);
                    if (fieldNumbers == null) {
                        op.setPostStoreNewObjectId(results[0].getId());
                        if (LOGGER.isDebugEnabled()) {
                            LOGGER.debug("Created object id: " + results[0].getId());
                        }
                    }
                } finally {
                    connection.clearConditionalRequestHeader();
                }
            } else {
                if (fieldNumbers != null) {
                    //When we do all-or-nothing with optimistic transactions, per jpa spec we need to save properly
                    // even if some objects are missing @Version,
                    // so if op.getVersion is null, we give a Calendar set to System.currentTimeMilis + 1 HOUR so
                    // the if-modified-before check for the object without @Version will always succeed
                    toSave = fm.getSObject(false);
                    ((ForceObjectManagerImpl) om).addToUpdateList(toSave,
                            op.getVersion() != null ? (Calendar) op.getVersion() : getVersionForUnversioned());
                } else {
                    toSave = fm.getSObject(true);
                    ((ForceObjectManagerImpl) om).addToCreateList(toSave, op);
                }
                if (LOGGER.isDebugEnabled()) {
                    if (fieldNumbers != null) {
                        LOGGER.debug("Queuing for A-O-N update object: " + toSave.getType() + " id: " + toSave.getId());
                    } else {
                        LOGGER.debug("Queuing for A-O-N create object: " + toSave.getType());
                    }
                }
            }
        } catch (ApiFault af) {
            throw ForceApiExceptionMap.mapToNucleusException(af, false /* isQuery */,
 
View Full Code Here

        StringBuilder sb = new StringBuilder(objects.length * 40);
        sb.append("[");
        for (Object obj : objects) {
            if (sb.length() > 1) sb.append(", ");
            if (obj instanceof SObject) {
                SObject s = (SObject) obj;
                sb.append("entity: ").append(s.getType());
                if (isUpdate) {
                    sb.append(" id: ").append(s.getId());
                }
            } else if (obj instanceof SaveResult) {
                sb.append(((SaveResult) obj).getId());
            } else if (obj instanceof Calendar) {
                sb.append(cCodec.getValueAsString(obj));
View Full Code Here

        return createSObject(type, null);
    }
   
    protected SObject createSObject(String type, String id) {
        // Type must go first and then Id second (see ForceQUeryUtils.getFieldNameList)
        SObject sobject = new SObject();
        sobject.setType(type);
        sobject.setId(id);
       
        return sobject;
    }
View Full Code Here

     *
     * @param parent Object
     * @return the Force.com object (SObject) corresponding to the given parent
     */
    public synchronized SObject getParentSObject(Object parent) {
        SObject parentSObject;
        if (pcToSObject == null || (parentSObject = pcToSObject.get(parent)) == null) {
            throw new NucleusDataStoreException("Parent entity has not been saved");
        }
        return parentSObject;
    }
View Full Code Here

     * @param pkValue the id object (string for Force.com entities) for this entity, <code>null</code> if this is an insert
     */
    public ForceInsertFieldManager(ObjectProvider objectProvider, ForceStoreManager storeManager, Object pkValue) {
        this.objectProvider = objectProvider;
        this.storeManager = storeManager;
        this.sobject = new SObject();
        AbstractClassMetaData acmd = objectProvider.getClassMetaData();
        this.table = storeManager.getTable(acmd);
        if (this.table == null) {
            throw new NucleusUserException("Entity does not exist in Force.com datastore: " + acmd.getEntityName());
        }
View Full Code Here

                            /**
                             * This is instance of AllOrNothing transaction
                             * Since the parent object has not been saved to the db yet
                             * we do not have an id yet so we link objects by extId
                             */
                            SObject parentRef = new SObject();
                            TableImpl parent = storeManager.getTable(acmd);
                            if (parent.getExternalIdColumn() == null) {
                                throw new NucleusUserException("EntityManager in persistence.xml has 'force.AllOrNothing'"
                                                               + " set to true. In this mode all top parent Entities must"
                                                               + " have an externalId field. Offending entity: "
                                                               + parent.getTableName().getName());
                            }
                            parentRef.setType(parent.getTableName().getForceApiName());
                            SObject parentSObject = ((ForceObjectManagerImpl) om).getParentSObject(value);
                            parentRef.setField(parent.getExternalIdColumn().getFieldName(),
                                                parentSObject.getField(parent.getExternalIdColumn().getFieldName()));
                            actualValue = parentRef;
                            actualFieldName = column.getForceApiRelationshipName();
                        } else {
                            throw new NucleusUserException("Child entity cannot be saved before parent entity.");
                        }
View Full Code Here

        };
    }
   
    @Test(dataProvider = "maxFunctionProvider")
    public void testMaxReturnType(String maxFunction, Class<Object> expectedReturnType) {
        SObject sobject = createSObject("AggregateResult");
        sobject.setField("expr0", 1.0d);
               
        mockQueryConn.setSObjectsForQueryResult(Lists.newArrayList(sobject));
       
        String query = "select " + maxFunction + " from " + DataTypesTestEntity.class.getSimpleName() + " o";
        Object result = em.createQuery(query).getSingleResult();
View Full Code Here

TOP

Related Classes of com.sforce.soap.partner.sobject.SObject

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.