@Override public void resolveField(final ObjectAdapter object, final ObjectAssociation field) { final ObjectAdapter reference = field.get(object); resolveImmediately(reference); }
protected void appendEqualsClause(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object, final String condition) { sql.append(Sql.sqlFieldName(field.getId())); sql.append(condition); final ObjectAdapter fieldValue = field.get(object); sql.append("?"); connector.addToQueryValues(preparedStatementObject(fieldValue)); }
@Override public void resolveField(final ObjectAdapter object, final ObjectAssociation field) throws ObjectPersistenceException { final ObjectAdapter referenceAdapter = field.get(object); referenceAdapter.markAsResolvedIfPossible(); }
@Override public void appendInsertValues(final DatabaseConnector connector, final StringBuffer sb, final ObjectAdapter object) { final ObjectAdapter fieldValue = field.get(object); super.appendInsertValues(connector, sb, fieldValue); }
@Override public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) { final ObjectAdapter fieldValue = field.get(object); super.appendUpdateValues(connector, sql, fieldValue); }
public Object getPropertyValue() { ObjectAdapter referencedAdapter = property.get(objectAdapter, InteractionInitiatedBy.FRAMEWORK); return referencedAdapter == null ? null : referencedAdapter.getObject(); }
@Override public void appendInsertValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) { final ObjectAdapter fieldValue = field.get(object); if (fieldValue == null) { sql.append("NULL"); } else { sql.append("?"); connector.addToQueryValues(preparedStatementObject(fieldValue)); } }
@Override public void saveInternalCollection(final DatabaseConnector connector, final ObjectAdapter parent) { final ObjectAdapter collection = field.get(parent); LOG.debug("Saving internal collection " + collection); deleteAllElments(connector, parent); reinsertElements(connector, parent, collection); }
@Override public void appendWhereClause(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) { final ObjectAdapter fieldValue = field.get(object); appendWhereClause(connector, sql, fieldValue.getOid()); }
@Override public void resolveField(final ObjectAdapter object, final ObjectAssociation field) throws ObjectPersistenceException { final ObjectAdapter reference = field.get(object); PersistorUtil.start(reference, ResolveState.RESOLVING); PersistorUtil.end(reference); }
@Override public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) { final ObjectAdapter fieldValue = field.get(object); final Object o = (fieldValue == null) ? null : fieldValue.getObject(); for (int i = 0; i < columnCount; i++) { appendEqualsClause(connector, i, sql, o, "="); } }
@Override public void appendInsertValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) { final ObjectAdapter fieldValue = field.get(object); final Object o = (fieldValue == null) ? null : fieldValue.getObject(); for (int i = 0; i < columnCount; i++) { if (fieldValue == null) { sql.append("NULL"); } else { sql.append("?"); if (i < columnCount - 1) { sql.append(", "); } connector.addToQueryValues(preparedStatementObject(i, o)); } } }
@Override public void saveInternalCollection(final DatabaseConnector connector, final ObjectAdapter parent) { final ObjectAdapter collection = field.get(parent); LOG.debug("Saving internal collection " + collection); final Iterator<ObjectAdapter> elements = getElementsForCollectionAsIterator(collection); // TODO What is needed to allow a collection update (add/remove) to mark // the collection as dirty? // checkIfDirty(collection); if (elements.hasNext() == false) { return; } clearCollectionParent(connector, parent); resetCollectionParent(connector, parent, elements); }
@Override public void appendUpdateValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) { super.appendUpdateValues(connector, sql, object); sql.append(","); sql.append(classnameColumn); sql.append(" = ?"); final ObjectAdapter objectAdapter = field.get(object); if (objectAdapter != null) { connector.addToQueryValues(objectAdapter.getSpecification().getFullIdentifier()); } else { connector.addToQueryValues(null); } }
@Override public void appendWhereObject(final DatabaseConnector connector, final ObjectAdapter objectAdapter) { final ObjectAdapter fieldValue = field.get(objectAdapter); connector.addToQueryValues(primaryKeyAsObject(fieldValue.getOid())); }
@Override public ObjectAdapter getCurrent(final String name) { ObjectAdapter value = null; if (entryState != null) { final FieldEditState field2 = entryState.getField(name); value = field2.getValue(); } if (value == null) { final ObjectAssociation fld = specification.getAssociation(name); value = fld.get(object); } return value; }
@Override public void appendInsertValues(final DatabaseConnector connector, final StringBuffer sql, final ObjectAdapter object) { super.appendInsertValues(connector, sql, object); sql.append(",?"); final ObjectAdapter objectAdapter = field.get(object); if (objectAdapter != null) { connector.addToQueryValues(objectAdapter.getSpecification().getFullIdentifier()); } else { connector.addToQueryValues(null); } }
@Override public void resolveField(final ObjectAdapter object, final ObjectAssociation field) { if (field.isOneToManyAssociation()) { final DatabaseConnector connection = connectionPool.acquire(); final ObjectSpecification spec = object.getSpecification(); final ObjectMapping mapper = objectMappingLookup.getMapping(spec, connection); mapper.resolveCollection(connection, object, field); connectionPool.release(connection); } else { resolveImmediately(field.get(object)); } }
protected void process(final Request request, final ObjectAdapter object, final ObjectAssociation field, final Format format, final String name, final Scope scope) { final ObjectAdapter fieldReference = field.get(object); if (format != null && fieldReference.getResolveState().isValue()) { final DateValueFacet facet = fieldReference.getSpecification().getFacet(DateValueFacet.class); final Date date = facet.dateValue(fieldReference); final String value = format.format(date); request.appendDebug(" " + object + " -> " + value); request.getContext().addVariable(name, Request.getEncoder().encoder(value), scope); } else { final String source = fieldReference == null ? "" : request.getContext().mapObject(fieldReference, scope); request.appendDebug(" " + object + " -> " + source); request.getContext().addVariable(name, source, scope); } }
@Override public void process(final Request request) { final RequestContext context = request.getContext(); final String showPlural = request.getOptionalProperty(PLURAL); final String id = request.getOptionalProperty(OBJECT); final String objectId = id != null ? id : (String) context.getVariable(RequestContext.RESULT); ObjectAdapter object = context.getMappedObjectOrResult(objectId); final String field = request.getOptionalProperty(FIELD); if (field != null) { final ObjectAssociation objectField = object.getSpecification().getAssociation(field); object = objectField.get(object); } request.appendDebug(" for " + object); final ObjectSpecification specification = object.getSpecification(); final String name = showPlural != null ? specification.getPluralName() : specification.getSingularName(); request.appendAsHtmlEncoded(name); }