/** * get the relationship metadata for the detail line fields * * @return the relationship metadata for the detail line fields */ public Map<String, DataObjectRelationship> getRelationshipMetadata() { LOG.debug("getRelationshipMetadata() start"); PersistenceStructureService persistenceStructureService = SpringContext.getBean(PersistenceStructureService.class); Map<String, DataObjectRelationship> relationshipMetadata = new HashMap<String, DataObjectRelationship>(); for (String attributeName : this.getInquirableFieldNames()) { Map<String, Class<? extends BusinessObject>> primitiveReference = LookupUtils.getPrimitiveReference(newDetailLine, attributeName); if (primitiveReference != null && !primitiveReference.isEmpty()) { DataObjectRelationship primitiveRelationship = this.getPrimitiveDataObjectRelationship( persistenceStructureService.getRelationshipMetadata( newDetailLine.getClass(), attributeName)); relationshipMetadata.put(attributeName, primitiveRelationship); } } return relationshipMetadata; }