/** * Initialize insert query. This query is used to insert the collection of objects into the * reference table. */ @Override protected void initializeInsertQuery(AbstractSession session) { super.initializeInsertQuery(session); getContainerPolicy().addFieldsForMapKey(getInsertQuery().getModifyRow()); }
/** * Initialize insert query. This query is used to insert the collection of objects into the * reference table. */ protected void initializeInsertQuery(AbstractSession session) { super.initializeInsertQuery(session); getContainerPolicy().addFieldsForMapKey(getInsertQuery().getModifyRow()); }
/** * Initialize insert query. This query is used to insert the collection of objects into the * reference table. */ @Override protected void initializeInsertQuery(AbstractSession session) { super.initializeInsertQuery(session); getContainerPolicy().addFieldsForMapKey(getInsertQuery().getModifyRow()); }
/** * INTERNAL: * Iterate on the specified element. */ @Override public void iterateOnElement(DescriptorIterator iterator, Object element) { super.iterateOnElement(iterator, element); ContainerPolicy cp = getContainerPolicy(); for (Object iter = cp.iteratorFor(element); cp.hasNext(iter);) { Object wrappedObject = cp.nextEntry(iter, iterator.getSession()); cp.iterateOnMapKey(iterator, wrappedObject); } }
/** * INTERNAL: * Iterate on the specified element. */ @Override public void iterateOnElement(DescriptorIterator iterator, Object element) { super.iterateOnElement(iterator, element); ContainerPolicy cp = getContainerPolicy(); for (Object iter = cp.iteratorFor(element); cp.hasNext(iter);) { Object wrappedObject = cp.nextEntry(iter, iterator.getSession()); cp.iterateOnMapKey(iterator, wrappedObject); } }
/** * INTERNAL: * Iterate on the specified element. */ public void iterateOnElement(DescriptorIterator iterator, Object element) { super.iterateOnElement(iterator, element); ContainerPolicy cp = getContainerPolicy(); for (Object iter = cp.iteratorFor(element); cp.hasNext(iter);) { Object wrappedObject = cp.nextEntry(iter, iterator.getSession()); Object object = cp.unwrapIteratorResult(wrappedObject); cp.iterateOnMapKey(iterator, wrappedObject); } }
/** * INTERNAL: * Iterate on the attribute value. * The value holder has already been processed. * PERF: Avoid iteration if not required. */ public void iterateOnRealAttributeValue(DescriptorIterator iterator, Object realAttributeValue) { super.iterateOnRealAttributeValue(iterator, realAttributeValue); ContainerPolicy cp = getContainerPolicy(); if (realAttributeValue != null && !iterator.shouldIterateOnPrimitives()) { for (Object iter = cp.iteratorFor(realAttributeValue); cp.hasNext(iter);) { Object wrappedObject = cp.nextEntry(iter, iterator.getSession()); cp.iterateOnMapKey(iterator, wrappedObject); } } }
/** * INTERNAL: * Iterate on the attribute value. * The value holder has already been processed. * PERF: Avoid iteration if not required. */ @Override public void iterateOnRealAttributeValue(DescriptorIterator iterator, Object realAttributeValue) { super.iterateOnRealAttributeValue(iterator, realAttributeValue); ContainerPolicy cp = getContainerPolicy(); if (realAttributeValue != null && !iterator.shouldIterateOnPrimitives()) { for (Object iter = cp.iteratorFor(realAttributeValue); cp.hasNext(iter);) { Object wrappedObject = cp.nextEntry(iter, iterator.getSession()); cp.iterateOnMapKey(iterator, wrappedObject); } } }
/** * INTERNAL: * Iterate on the attribute value. * The value holder has already been processed. * PERF: Avoid iteration if not required. */ @Override public void iterateOnRealAttributeValue(DescriptorIterator iterator, Object realAttributeValue) { super.iterateOnRealAttributeValue(iterator, realAttributeValue); ContainerPolicy cp = getContainerPolicy(); if (realAttributeValue != null && !iterator.shouldIterateOnPrimitives()) { for (Object iter = cp.iteratorFor(realAttributeValue); cp.hasNext(iter);) { Object wrappedObject = cp.nextEntry(iter, iterator.getSession()); cp.iterateOnMapKey(iterator, wrappedObject); } } }
/** * INTERNAL: * Propagate the preDelete event through the container policy if necessary */ @Override public void preDelete(DeleteObjectQuery query) throws DatabaseException { if (getContainerPolicy().propagatesEventsToCollection()){ Object queryObject = query.getObject(); Object values = getAttributeValueFromObject(queryObject); Object iterator = containerPolicy.iteratorFor(values); while (containerPolicy.hasNext(iterator)){ Object wrappedObject = containerPolicy.nextEntry(iterator, query.getSession()); containerPolicy.propogatePreDelete(query, wrappedObject); } } super.preDelete(query); }
/** * INTERNAL: * Propagate the preDelete event through the container policy if necessary */ @Override public void preDelete(DeleteObjectQuery query) throws DatabaseException { if (getContainerPolicy().propagatesEventsToCollection()){ Object queryObject = query.getObject(); Object values = getAttributeValueFromObject(queryObject); Object iterator = containerPolicy.iteratorFor(values); while (containerPolicy.hasNext(iterator)){ Object wrappedObject = containerPolicy.nextEntry(iterator, query.getSession()); containerPolicy.propogatePreDelete(query, wrappedObject); } } super.preDelete(query); }
/** * INTERNAL: * Propagate the preDelete event through the container policy if necessary */ public void preDelete(DeleteObjectQuery query) throws DatabaseException { if (getContainerPolicy().propagatesEventsToCollection()){ Object queryObject = query.getObject(); Object values = getAttributeValueFromObject(queryObject); Object iterator = containerPolicy.iteratorFor(values); while (containerPolicy.hasNext(iterator)){ Object wrappedObject = containerPolicy.nextEntry(iterator, query.getSession()); containerPolicy.propogatePreDelete(query, wrappedObject); } } super.preDelete(query); }
List<DatabaseField> identityFields = getContainerPolicy().getIdentityFieldsForMapKey(); Iterator<DatabaseField> i = identityFields.iterator(); while (i.hasNext()){
List<DatabaseField> identityFields = getContainerPolicy().getIdentityFieldsForMapKey(); Iterator<DatabaseField> i = identityFields.iterator(); while (i.hasNext()){
List<DatabaseField> identityFields = getContainerPolicy().getIdentityFieldsForMapKey(); Iterator<DatabaseField> i = identityFields.iterator(); while (i.hasNext()){
databaseRow.put(getDirectField(), value); ContainerPolicy.copyMapDataToRow(getContainerPolicy().getKeyMappingDataForWriteQuery(entry, query.getSession()), databaseRow); query.getSession().executeQuery(getInsertQuery(), databaseRow); getContainerPolicy().propogatePostInsert(query, entry);
protected void initializeSelectionStatement(AbstractSession session) { if (selectionQuery.isReadAllQuery()){ ((ReadAllQuery)selectionQuery).addAdditionalField((DatabaseField)getDirectField().clone()); } else { SQLSelectStatement statement = (SQLSelectStatement)selectionQuery.getSQLStatement(); statement.addTable(getReferenceTable()); statement.addField((DatabaseField)getDirectField().clone()); getContainerPolicy().addAdditionalFieldsToQuery(selectionQuery, null); statement.normalize(session, null); } if (selectionQuery.isDirectReadQuery()){ ((DirectReadQuery)selectionQuery).setResultType(DataReadQuery.MAP); } }
databaseRow.put(getDirectField(), value); ContainerPolicy.copyMapDataToRow(getContainerPolicy().getKeyMappingDataForWriteQuery(entry, query.getSession()), databaseRow); query.getSession().executeQuery(getInsertQuery(), databaseRow); getContainerPolicy().propogatePostInsert(query, entry);
@Override protected void initializeSelectionStatement(AbstractSession session) { if (this.selectionQuery.isReadAllQuery()){ ((ReadAllQuery)this.selectionQuery).addAdditionalField(getDirectField().clone()); } else { SQLSelectStatement statement = (SQLSelectStatement)this.selectionQuery.getSQLStatement(); statement.addTable(getReferenceTable()); statement.addField(getDirectField().clone()); getContainerPolicy().addAdditionalFieldsToQuery(this.selectionQuery, getAdditionalFieldsBaseExpression(this.selectionQuery)); statement.normalize(session, null); } if (this.selectionQuery.isDirectReadQuery()){ ((DirectReadQuery)this.selectionQuery).setResultType(DataReadQuery.MAP); } }
@Override protected void initializeSelectionStatement(AbstractSession session) { if (this.selectionQuery.isReadAllQuery()){ ((ReadAllQuery)this.selectionQuery).addAdditionalField(getDirectField().clone()); } else { SQLSelectStatement statement = (SQLSelectStatement)this.selectionQuery.getSQLStatement(); statement.addTable(getReferenceTable()); statement.addField(getDirectField().clone()); getContainerPolicy().addAdditionalFieldsToQuery(this.selectionQuery, getAdditionalFieldsBaseExpression(this.selectionQuery)); statement.normalize(session, null); } if (this.selectionQuery.isDirectReadQuery()){ ((DirectReadQuery)this.selectionQuery).setResultType(DataReadQuery.MAP); } }