@Override public ConfigurationNode visitObjAttribute(ObjAttribute attribute) { return (ConfigurationNode) attribute.getParent(); }
private void copyObjAttribute(ObjAttribute attributeSaved, ObjAttribute attribute) { attributeSaved.setDbAttributePath(attribute.getDbAttributePath()); attributeSaved.setName(attribute.getName()); attributeSaved.setEntity(attribute.getEntity()); attributeSaved.setParent(attribute.getParent()); attributeSaved.setType(attribute.getType()); attributeSaved.setUsedForLocking(attribute.isUsedForLocking()); if (attributeSaved instanceof EmbeddedAttribute) { Map<String, String> attrOverrides; if (attribute instanceof EmbeddedAttribute) { attrOverrides = ((EmbeddedAttribute) attribute).getAttributeOverrides(); } else { attrOverrides = new HashMap<>(); } if (attrOverrides.size() > 0) { Iterator it = attrOverrides.entrySet().iterator(); while (it.hasNext()) { Map.Entry attrOv = (Map.Entry) it.next(); ((EmbeddedAttribute) attributeSaved).addAttributeOverride(attrOv.getKey().toString(), attrOv .getValue().toString()); } } } }
@Override protected EntityTreeModel createTreeModelForComboBox(int attributeIndexInTable) { ObjAttribute attribute = model.getAttribute(attributeIndexInTable).getValue(); Entity firstEntity = null; if (attribute.getDbAttribute() == null) { if (attribute.getParent() instanceof ObjEntity) { DbEntity dbEnt = ((ObjEntity) attribute.getParent()).getDbEntity(); if (dbEnt != null) { Collection<DbAttribute> attributes = dbEnt.getAttributes(); Collection<DbRelationship> rel = dbEnt.getRelationships(); if (!attributes.isEmpty()) { Iterator<DbAttribute> iterator = attributes.iterator(); firstEntity = iterator.next().getEntity(); } else if (!rel.isEmpty()) { Iterator<DbRelationship> iterator = rel.iterator(); firstEntity = iterator.next().getSourceEntity(); } } } } else { firstEntity = getFirstEntity(attribute); } if (firstEntity != null) { EntityTreeModel treeModel = new EntityTreeModel(firstEntity); treeModel.setFilter(new EntityTreeAttributeRelationshipFilter()); return treeModel; } return null; }