public void addRelatesToEntity(String type, String id) { if (real == null) { Set<String> ids = relatesToEntities.get(type); if (ids == null) { ids = new HashSet<>(); relatesToEntities.put(type, ids); } ids.add(id); } else { real.addRelatesToEntity(type, id); } }
/** * Helper method for reading relationship. * * @param <T> Describes the type of column prefix. * @param entity entity to fill. * @param result result from HBase. * @param prefix column prefix. * @param isRelatedTo if true, means relationship is to be added to * isRelatedTo, otherwise its added to relatesTo. * @throws IOException if any problem is encountered while reading result. */ protected <T extends BaseTable<T>> void readRelationship( TimelineEntity entity, Result result, ColumnPrefix<T> prefix, boolean isRelatedTo) throws IOException { // isRelatedTo and relatesTo are of type Map<String, Set<String>> Map<String, Object> columns = ColumnRWHelper.readResults( result, prefix, stringKeyConverter); for (Map.Entry<String, Object> column : columns.entrySet()) { for (String id : Separator.VALUES.splitEncoded(column.getValue() .toString())) { if (isRelatedTo) { entity.addIsRelatedToEntity(column.getKey(), id); } else { entity.addRelatesToEntity(column.getKey(), id); } } } }
entity.addRelatesToEntity("test type 2", "test id 2"); entity.addRelatesToEntity("test type 3", "test id 3"); entity.addIsRelatedToEntity("test type 4", "test id 4"); entity.addIsRelatedToEntity("test type 5", "test id 5");
configs.put("config_1", "127"); entity11.setConfigs(configs); entity11.addRelatesToEntity("flow", "flow1"); entity11.addIsRelatedToEntity("type1", "tid1_1"); writeEntityFile(entity11, appDir); metrics2.add(metric23); entity2.setMetrics(metrics2); entity2.addRelatesToEntity("flow", "flow2"); writeEntityFile(entity2, appDir);