/** * Adds the relations. * * @param rlHolders * the rl holders * @param values * the values */ private void addRelations(List<RelationHolder> rlHolders, Map<String, Object> values) { if (rlHolders != null) { for (RelationHolder relation : rlHolders) { values.put(relation.getRelationName(), relation.getRelationValue()); } } }
@Test public void test() { Person p = new Person(); RelationHolder rlHolder = new RelationHolder("parent", p); Assert.assertEquals("parent", rlHolder.getRelationName()); Assert.assertEquals(p, rlHolder.getRelationValue()); AddressEntity relationEntity = new AddressEntity(); rlHolder = new RelationHolder("child", p, relationEntity); Assert.assertEquals("child", rlHolder.getRelationName()); Assert.assertEquals(p, rlHolder.getRelationValue()); Assert.assertEquals(relationEntity, rlHolder.getRelationVia()); }
rh.getRelationValue().getClass()); Object targetNodeKey = PropertyAccessorHelper.getId(rh.getRelationValue(), targetNodeMetadata); DynamicRelationshipType relType = DynamicRelationshipType.withName(rh.getRelationName()); Relationship relationship = node.createRelationshipTo(targetNode, relType); Object relationshipObj = rh.getRelationVia(); if (relationshipObj != null)
&& multiplicity.equals(ForeignKey.ONE_TO_MANY)) RelationHolder relationHolder = new RelationHolder(linkName, linkValue); relationsHolder.add(relationHolder); RelationHolder relationHolder = new RelationHolder(linkName, linkValue); relationsHolder.add(relationHolder); RelationHolder relationHolder = new RelationHolder(linkName, relationTo, linkValue); relationsHolder.add(relationHolder);
kunderaMetadata, rh.getRelationValue().getClass()); Object targetNodeKey = PropertyAccessorHelper.getId(rh.getRelationValue(), targetNodeMetadata); Long targetNodeId = pkToNodeIdMap.get(targetNodeKey); .getRelationName()); Object relationshipObj = rh.getRelationVia(); if (relationshipObj != null)
PropertyAccessorHelper.set(entity, relation.getProperty(), relationObject); relationHolders .add(new RelationHolder(relation.getJoinColumnName(kunderaMetadata), foreignKey)); proxyRemoved = true;
int relnameIndx = columnNameBuilder.indexOf("\"" + rl.getRelationName() + "\""); if (relnameIndx != -1 && rl.getRelationValue() != null) { int cValueIndex = cNameArray.indexOf("\"" + rl.getRelationName() + "\""); columnNameBuilder.delete(relnameIndx - 1, relnameIndx + rl.getRelationName().length() + 2); cValueArray.remove(cValueIndex); columnValueBuilder =
rh.getRelationValue().getClass()); Object targetNodeKey = PropertyAccessorHelper.getId(rh.getRelationValue(), targetNodeMetadata); DynamicRelationshipType relType = DynamicRelationshipType.withName(rh.getRelationName()); Relationship relationship = node.createRelationshipTo(targetNode, relType); Object relationshipObj = rh.getRelationVia(); if (relationshipObj != null)
discriminator.add(new RelationHolder(discrColumn, discrValue)); hbaseWriter.writeRelations(hTable, rowId, containsEmbeddedObjectsOnly, discriminator, m.getTableName());
/** * Gets the relation cell. * * @param m * the m * @param rowId * the row id * @param relations * the relations * @return the relation cell * @throws IOException * Signals that an I/O exception has occurred. */ private List<HBaseCell> getRelationCell(EntityMetadata m, Object rowId, List<RelationHolder> relations) throws IOException { List<HBaseCell> relationCells = new ArrayList<HBaseCell>(); for (RelationHolder relation : relations) { HBaseCell hBaseCell = new HBaseCell(m.getTableName(), relation.getRelationName(), relation.getRelationValue()); relationCells.add(hBaseCell); } return relationCells; }
kunderaMetadata, rh.getRelationValue().getClass()); Object targetNodeKey = PropertyAccessorHelper.getId(rh.getRelationValue(), targetNodeMetadata); Long targetNodeId = pkToNodeIdMap.get(targetNodeKey); .getRelationName()); Object relationshipObj = rh.getRelationVia(); if (relationshipObj != null)
relationHolders.add(new RelationHolder(relation.getJoinColumnName(), foreignKey)); proxyRemoved = true;
@Override public void writeRelations(HTableInterface htable, Object rowKey, boolean containsEmbeddedObjectsOnly, List<RelationHolder> relations, String columnFamilyName) throws IOException { Put p = new Put(HBaseUtils.getBytes(rowKey)); boolean isPresent = false; for (RelationHolder r : relations) { if (r != null) { if (containsEmbeddedObjectsOnly) { p.add(Bytes.toBytes(r.getRelationName()), Bytes.toBytes(r.getRelationName()), PropertyAccessorHelper.getBytes(r.getRelationValue())); isPresent = true; } else { p.add(columnFamilyName.getBytes(), Bytes.toBytes(r.getRelationName()), System.currentTimeMillis(), PropertyAccessorHelper.getBytes(r.getRelationValue())); isPresent = true; } } } if (isPresent) { htable.put(p); } }
discriminator.add(new RelationHolder(discrColumn, discrValue)); hbaseWriter.writeRelations(hTable, rowId, containsEmbeddedObjectsOnly, discriminator, m.getTableName());
String relationName = rh.getRelationName(); Object valueObj = rh.getRelationValue();
PropertyAccessorHelper.set(entity, relation.getProperty(), relationObject); relationHolders .add(new RelationHolder(relation.getJoinColumnName(kunderaMetadata), foreignKey)); proxyRemoved = true;
translator.appendColumnName(columnNameBuilder, rl.getRelationName()); translator.appendValue(columnValueBuilder, rl.getRelationValue().getClass(), rl.getRelationValue(), true, false);
discriminator.add(new RelationHolder(discrColumn, discrValue)); hbaseWriter.writeRelations(hTable, rowId, containsEmbeddedObjectsOnly, discriminator, m.getTableName());
String linkName = rh.getRelationName(); Object linkValue = rh.getRelationValue(); if (linkName != null && linkValue != null)
rl.getRelationName(), rl.getRelationValue());