private void getRecursiveItemsFlattened( ArrayList<String> names, ArrayList<Long> ids, MetaUnitEntityItem ite, String shift) { if (ite.getSubitems() != null && ite.getSubitems().size() > 0) for (MetaUnitEntityItem item : ite.getSubitems()) { names.add(shift + item.getValue()); ids.add(item.getId()); getRecursiveItemsFlattened(names, ids, item, ". " + shift); } }
@Override public ArrayList<Long> getEntityItemSubitemsIDs(Long id_item) { MetaUnitEntityItem item = em.find(MetaUnitEntityItem.class, id_item); Collection<MetaUnitEntityItem> items = item.getSubitems(); ArrayList<Long> arr = new ArrayList<Long>(); for (MetaUnitEntityItem it : items) { arr.add(it.getId()); } return arr; }
private MetaUnitEntityItemDTO toEntityItemDTO_Light(MetaUnitEntityItem item) { MetaUnitEntityItemDTO dto = new MetaUnitEntityItemDTO(item.getId(), item.getValue(), item.getMapped_values()); ArrayList<Long> ent_ids = new ArrayList<Long>(); if (item.getTagged_entities_ids() != null) for (Long id : item.getTagged_entities_ids()) { ent_ids.add(id); } ArrayList<String> ent_idents = new ArrayList<String>(); if (item.getTagged_entities_identifiers() != null) for (String ident : item.getTagged_entities_identifiers()) { ent_idents.add(ident); } dto.setTagged_entities_ids(ent_ids); dto.setTagged_entities_identifiers(ent_idents); ArrayList<MetaUnitEntityItemDTO> subitems = new ArrayList<MetaUnitEntityItemDTO>(); dto.setSubitems(subitems); return dto; }
private MetaUnitMultivaluedEntityDTO toMultivaluedEntityDTO( MetaUnitMultivaluedEntity m, boolean flattened_items) { MetaUnitMultivaluedEntityDTO dto = new MetaUnitMultivaluedEntityDTO(); try { dto.setId(m.getId()); dto.setDesc(m.getDescription()); dto.setUnique_name(m.getUnique_name()); dto.setIsCatalogizable(m.getIsCatalogizable() != 0); dto.setIsSplittingEnabled(m.getIsSplittingEnabled() != 0); dto.setIsMultiselected(m.getIsMultiSelected() != 0); Collection<MetaUnitEntityItem> items = m.getItems(); ArrayList<String> names = new ArrayList<String>(); ArrayList<Long> ids = new ArrayList<Long>(); for (MetaUnitEntityItem item : items) { names.add(item.getValue()); ids.add(item.getId()); if (flattened_items) getRecursiveItemsFlattened(names, ids, item, ". "); // { // for(MetaUnitEntityItem it:item.getSubitems()) // { // names.add(". "+it.getValue()); // ids.add(it.getId()); // } // } } dto.setItem_ids(ids); dto.setItem_names(names); ArrayList<Long> tagged_ent = new ArrayList<Long>(); if (m.getTagged_entities() != null) for (Long ent : m.getTagged_entities()) { tagged_ent.add(ent); } dto.setTagged_entities(tagged_ent); ArrayList<MetaUnitDTO> sub_meta_units_dtos = new ArrayList<MetaUnitDTO>(); if (m.getSub_meta_units() != null) for (MetaUnit unit : m.getSub_meta_units()) { if (unit != null) { if (unit instanceof MetaUnitMultivaluedEntity) { MetaUnitDTO dt; // DONE FOR SPLIITING DOWNLOAD OF DEEP TREE if (((MetaUnitMultivalued) unit).getIsSplittingEnabled() != 0) { dt = new MetaUnitMultivaluedEntityDTO( unit.getId(), unit.getUnique_name(), unit.getDescription()); ((MetaUnitMultivaluedDTO) dt) .setIsCatalogizable(((MetaUnitMultivalued) unit).getIsCatalogizable() != 0); ((MetaUnitMultivaluedDTO) dt) .setIsSplittingEnabled( ((MetaUnitMultivalued) unit).getIsSplittingEnabled() != 0); ((MetaUnitMultivaluedEntityDTO) dt) .setIsMultiselected( ((MetaUnitMultivaluedEntity) unit).getIsMultiSelected() != 0); Collection<MetaUnitEntityItem> items2 = ((MetaUnitMultivaluedEntity) unit).getItems(); ArrayList<String> names2 = new ArrayList<String>(); ArrayList<Long> ids2 = new ArrayList<Long>(); for (MetaUnitEntityItem item : items2) { names2.add(item.getValue()); ids2.add(item.getId()); } ((MetaUnitMultivaluedEntityDTO) dt).setItem_ids(ids2); ((MetaUnitMultivaluedEntityDTO) dt).setItem_names(names2); } else { dt = toMultivaluedEntityDTO((MetaUnitMultivaluedEntity) unit, flattened_items); } if (dt != null) sub_meta_units_dtos.add(dt); } else if (unit instanceof MetaUnitMultivaluedStructure) { MetaUnitDTO dt; // DONE FOR SPLIITING DOWNLOAD OF DEEP TREE if (((MetaUnitMultivalued) unit).getIsSplittingEnabled() != 0) { dt = new MetaUnitMultivaluedStructureDTO( unit.getId(), unit.getUnique_name(), unit.getDescription()); ((MetaUnitMultivaluedDTO) dt) .setIsCatalogizable(((MetaUnitMultivalued) unit).getIsCatalogizable() != 0); ((MetaUnitMultivaluedDTO) dt) .setIsSplittingEnabled( ((MetaUnitMultivalued) unit).getIsSplittingEnabled() != 0); } else { dt = toMultivaluedStructureDTO((MetaUnitMultivaluedStructure) unit); } if (dt != null) sub_meta_units_dtos.add(dt); } else { sub_meta_units_dtos.add(unit.toDTO()); } } } dto.setSub_meta_units(sub_meta_units_dtos); return dto; } catch (Exception ex) { ex.printStackTrace(); } finally { return dto; } }