public Field[] getObjectFields( String objectName ) throws KettleException { DescribeSObjectResult describeSObjectResult = null; try { // Get object describeSObjectResult = getBinding().describeSObject( objectName ); if ( describeSObjectResult == null ) { return null; } if ( !describeSObjectResult.isQueryable() ) { throw new KettleException( BaseMessages.getString( PKG, "SalesforceInputDialog.ObjectNotQueryable", this.module ) ); } else { // we can query this object return describeSObjectResult.getFields(); } } catch ( Exception e ) { throw new KettleException( BaseMessages.getString( PKG, "SalesforceInput.Error.GettingModuleFields", this.module ), e ); } finally { if ( describeSObjectResult != null ) { describeSObjectResult = null; } } }
@Override public List<Field> filter(DescribeSObjectResult dsr) { if (dsr == null) return null; return Lists.newArrayList(dsr.getFields()); }
@Override public List<Field> filter(DescribeSObjectResult dsr) { List<Field> filteredFields = Lists.newArrayList(dsr.getFields()); for (FieldFilter filter : filterList) { filteredFields = filter.filter(dsr); dsr.setFields(filteredFields.toArray(new Field[filteredFields.size()])); } return filteredFields; }
@Override public List<Field> filter(DescribeSObjectResult dsr) { List<Field> fieldList = Lists.newArrayList(dsr.getFields()); Iterator<Field> fieldIter = fieldList.iterator(); while (fieldIter.hasNext()) { Field field = fieldIter.next(); if (field.getType() == FieldType.reference) { for (String referenceTo : field.getReferenceTo()) { // Remove if there exists a reference to object for which: // // include and referenceObjectNames does not contain name // OR // exclude and referenceObjectNames contains name if (include != referenceObjectNames.contains(referenceTo)) { fieldIter.remove(); break; } } } } return fieldList; }
/** * Determines if a Force.com object has all standard Force.com fields. * * @param dsr a Force.com {@code DescribeSObjectResult} of the object * to be tested * @return {@code true} if and only if the given object contains all * common Force.com fields * @see ForceJPAClassGeneratorUtils#STANDARD_OBJECT_COMMON_FIELDS */ public static boolean hasAllCommonFields(DescribeSObjectResult dsr) { // Custom objects always have all common fields if (dsr.isCustom()) return true; // Gather up all the field names for this standard object Set<String> fieldNameSet = new HashSet<String>(); for (Field field : dsr.getFields()) { fieldNameSet.add(field.getName().toLowerCase()); } return fieldNameSet.containsAll(STANDARD_OBJECT_COMMON_FIELDS); }
/** * Retrieves the object's metadata * * @param c SFDC stub * @param name SFDC object name * @return Map of fields * @throws RemoteException communication error */ protected static Map<String, Field> describeObject(SoapBindingStub c, String name) throws RemoteException { l.debug("Retrieving SFDC object " + name + " metadata."); Map<String, Field> result = new HashMap<String, Field>(); DescribeSObjectResult describeSObjectResult = c.describeSObject(name); if (!(describeSObjectResult == null)) { Field[] fields = describeSObjectResult.getFields(); if (fields != null) { for (Field field : fields) { result.put(field.getName(), field); } } } l.debug("SFDC object " + name + " metadata retrieved."); return result; }
private void filterObjectAndReferences(Set<String> objectNameSet) { // Subtract any objects that we've already fetched objectNameSet.removeAll(filteredResultNames); if (objectNameSet.isEmpty()) return; Set<String> objectReferencesSet = new HashSet<String>(); for (String objectName : objectNameSet) { DescribeSObjectResult dsr; if ((dsr = objectMap.get(objectName)) != null) { // Gather all the references for this object for (Field field : dsr.getFields()) { if (field.getType() == FieldType.reference) { objectReferencesSet.addAll(Arrays.asList(field.getReferenceTo())); } } filteredResultNames.add(dsr.getName()); filteredResult.add(dsr); } } // Here, we'll recursively fetch all the object references we found. filterObjectAndReferences(objectReferencesSet); } }
private List<Field> filterInternal(DescribeSObjectResult dsr, Set<String> fieldsToSkip) { Set<String> javaFieldNames = new HashSet<String>(); List<Field> fieldList = Lists.newArrayList(dsr.getFields()); Iterator<Field> fieldIter = fieldList.iterator(); while (fieldIter.hasNext()) {
_hashCode += (isDeprecatedAndHidden() ? Boolean.TRUE : Boolean.FALSE).hashCode(); _hashCode += (isFeedEnabled() ? Boolean.TRUE : Boolean.FALSE).hashCode(); if (getFields() != null) { for (int i = 0; i < java.lang.reflect.Array.getLength(getFields()); i++) { java.lang.Object obj = java.lang.reflect.Array.get(getFields(), i); if (obj != null && !obj.getClass().isArray()) {
for (Field field : result.getFields()) { String columnName = field.getName().toLowerCase(); ColumnImpl column = new ColumnImpl(columnName, field);
for (Field field : result.getFields()) { String columnName = field.getName().toLowerCase(); ColumnImpl column = new ColumnImpl(columnName, field);
this.deprecatedAndHidden == other.isDeprecatedAndHidden() && this.feedEnabled == other.isFeedEnabled() && ((this.fields == null && other.getFields() == null) || (this.fields != null && java.util.Arrays.equals(this.fields, other.getFields()))) && ((this.keyPrefix == null && other.getKeyPrefix() == null) || (this.keyPrefix != null &&
for (Field field : in.getFields()) {
for (Field field : in.getFields()) {
for (Field field : in.getFields()) {
private Schema inferSchemaDescribeSObjectResult(DescribeSObjectResult in) { List<Schema.Field> fields = new ArrayList<>(); for (Field field : in.getFields()) {
private Schema inferSchemaDescribeSObjectResult(DescribeSObjectResult in) { List<Schema.Field> fields = new ArrayList<>(); for (Field field : in.getFields()) {
throw SalesforceUtils.wrapException(e, "Failed to invoke describeSObject service"); final Field[] fields = describeSObject.getFields();
throw SalesforceUtils.wrapException(e, "Failed to invoke describeSObject service"); final Field[] fields = describeSObject.getFields();
throw SalesforceUtils.wrapException(e, "Failed to invoke describeSObject service"); final Field[] fields = describeSObject.getFields();