/** * * @param metadata * Entity metadata of the parent node * @param relation * @return */ private Map<LinkProperty, Object> getLinkProperties(EntityMetadata metadata, Relation relation, final KunderaMetadata kunderaMetadata) { Map<LinkProperty, Object> linkProperties = new HashMap<NodeLink.LinkProperty, Object>(); linkProperties.put(LinkProperty.LINK_NAME, MetadataUtils.getMappedName(metadata, relation, kunderaMetadata)); linkProperties.put(LinkProperty.IS_SHARED_BY_PRIMARY_KEY, relation.isJoinedByPrimaryKey()); linkProperties.put(LinkProperty.IS_BIDIRECTIONAL, !relation.isUnary()); linkProperties.put(LinkProperty.IS_RELATED_VIA_JOIN_TABLE, relation.isRelatedViaJoinTable()); linkProperties.put(LinkProperty.PROPERTY, relation.getProperty()); linkProperties.put(LinkProperty.CASCADE, relation.getCascades()); if (relation.isRelatedViaJoinTable()) { linkProperties.put(LinkProperty.JOIN_TABLE_METADATA, relation.getJoinTableMetadata()); } return linkProperties; }
/** * * @param metadata * Entity metadata of the parent node * @param relation * @return */ private Map<LinkProperty, Object> getLinkProperties(EntityMetadata metadata, Relation relation) { Map<LinkProperty, Object> linkProperties = new HashMap<NodeLink.LinkProperty, Object>(); linkProperties.put(LinkProperty.LINK_NAME, MetadataUtils.getMappedName(metadata, relation, pd.getKunderaMetadata())); linkProperties.put(LinkProperty.IS_SHARED_BY_PRIMARY_KEY, relation.isJoinedByPrimaryKey()); linkProperties.put(LinkProperty.IS_BIDIRECTIONAL, !relation.isUnary()); linkProperties.put(LinkProperty.IS_RELATED_VIA_JOIN_TABLE, relation.isRelatedViaJoinTable()); linkProperties.put(LinkProperty.PROPERTY, relation.getProperty()); linkProperties.put(LinkProperty.CASCADE, relation.getCascades()); if (relation.isRelatedViaJoinTable()) { linkProperties.put(LinkProperty.JOIN_TABLE_METADATA, relation.getJoinTableMetadata()); } // TODO: Add more link properties as required return linkProperties; }
/** * Adds the join table. * * @param relations * the relations */ private void addJoinTable(List<Relation> relations) { for (Relation relation : relations) { if (relation.getType().equals(ForeignKey.MANY_TO_MANY) && relation.isRelatedViaJoinTable()) { String joinTableName = relation.getJoinTableMetadata().getJoinTableName(); String hTableName = HBaseUtils.getHTableName(databaseName, joinTableName); HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf(hTableName)); tableDescriptor.addFamily(new HColumnDescriptor(joinTableName)); createOrUpdateTable(hTableName, tableDescriptor); } } }
PersistenceDelegator delegator, Relation relation) JoinTableMetadata jtMetadata = relation.getJoinTableMetadata(); Client pClient = delegator.getClient(entityMetadata); jtMetadata = owningEntityMetadataRelation.getJoinTableMetadata(); pClient = delegator.getClient(owningEntityMetadata); schema = owningEntityMetadata.getSchema();
JoinTableMetadata joinTableMetadata = relation.getJoinTableMetadata(); String joinTableName = joinTableMetadata != null ? joinTableMetadata.getJoinTableName() : null; String joinColumnName = joinTableMetadata != null