@Override public String apply(AttributeMetaData attributeMetaData) { return attributeMetaData.getName(); } }));
/** * Check if an specific attributename is present in a list of AttributeMetadata */ private boolean containsIgnoreCase(String input, List<AttributeMetaData> list) { for (AttributeMetaData attributeMetaData : list) { if (input.equalsIgnoreCase(attributeMetaData.getName())) return true; } return false; }
@Override public boolean apply(AttributeMetaData attributeMetaData) { return attributeNames.contains(attributeMetaData.getName()); } });
private List<String> getMetadataNamesAsList(EntityMetaData metadata) { Iterator<AttributeMetaData> metadataIterator = metadata.getAttributes().iterator(); List<String> inputFeatureNames = new ArrayList<String>(); while (metadataIterator.hasNext()) { AttributeMetaData attributeMetaData = metadataIterator.next(); inputFeatureNames.add(attributeMetaData.getName()); } return inputFeatureNames; }
@Override public Iterable<String> getAttributeNames() { List<String> attributeNames = new ArrayList<String>(); for (AttributeMetaData attribute : entityMetaData.getAttributes()) { attributeNames.add(attribute.getName()); } return attributeNames; }
@Override public Iterable<String> getAttributeNames() { Set<String> attributeNames = new LinkedHashSet<String>(); for (AttributeMetaData attr : new ProtocolFlowMetaData().getAttributes()) { attributeNames.add(attr.getName()); } return attributeNames; }
@Override public Iterable<String> getAttributeNames() { Set<String> attributeNames = new LinkedHashSet<String>(); for (AttributeMetaData attr : new StudyDataRequestMetaData().getAttributes()) { attributeNames.add(attr.getName()); } return attributeNames; }
@Override public Iterable<String> getAttributeNames() { Set<String> attributeNames = new LinkedHashSet<String>(); for (AttributeMetaData attr : new DiseaseMetaData().getAttributes()) { attributeNames.add(attr.getName()); } return attributeNames; }
@Override public Iterable<String> getAttributeNames() { Set<String> attributeNames = new LinkedHashSet<String>(); for (AttributeMetaData attr : new DiseaseMappingMetaData().getAttributes()) { attributeNames.add(attr.getName()); } return attributeNames; }
@Override public Iterable<String> getAttributeNames() { Set<String> attributeNames = new LinkedHashSet<String>(); for (AttributeMetaData attr : new ObservationSetFlowMetaData().getAttributes()) { attributeNames.add(attr.getName()); } return attributeNames; }
@Override public List<String> getLabelAttributeNames() { return Arrays.asList(getEntityMetaData().getLabelAttribute().getName()); }
/** * create a new entity based on the merged entity metadata */ private AbstractEntity createMergedEntity(List<AttributeMetaData> commonAttributes, Entity entity) { AbstractEntity mergedEntity = new MapEntity(ID); mergedEntity.set(ID, UUID.randomUUID().toString()); for (AttributeMetaData attributeMetaData : commonAttributes) { mergedEntity.set(attributeMetaData.getName(), entity.get(attributeMetaData.getName())); } return mergedEntity; }
/** * check if an entity for the common attributes already exists and if so, return it */ private Entity getMergedEntity(Repository repository, List<AttributeMetaData> commonAttributes, Entity entity) { Query findMergedEntityQuery = new QueryImpl(); for (AttributeMetaData attributeMetaData : commonAttributes) { if (!findMergedEntityQuery.getRules().isEmpty()) findMergedEntityQuery = findMergedEntityQuery.and(); findMergedEntityQuery = findMergedEntityQuery.eq(attributeMetaData.getName(), entity.get(attributeMetaData.getName())); } Entity result = repository.findOne(findMergedEntityQuery); return result; }
private void dynamicEntityMetaData() { EntityMetaData entityMetaData = getEntityMetaData(); if (entityMetaData instanceof DefaultEntityMetaData) { DefaultEntityMetaData defaultEntityMetaData = (DefaultEntityMetaData) entityMetaData; Set<String> availableAttributes = new HashSet<String>(); for (AttributeMetaData attributeMetaData : entityMetaData.getAttributes()) { availableAttributes.add(attributeMetaData.getName().toLowerCase()); } SearchResult resultResult = searchService.search(new SearchRequest(AsyncOntologyIndexer .createOntologyTermDocumentType(ontologyIri), new QueryImpl().eq(OntologyTermQueryRepository.ENTITY_TYPE, OntologyTermQueryRepository.TYPE_ONTOLOGYTERM).pageSize(1), null)); if (resultResult.getTotalHitCount() > 0) { Hit hit = resultResult.getSearchHits().get(0); for (String attributeName : hit.getColumnValueMap().keySet()) { if (!availableAttributes.contains(attributeName.toLowerCase()) && !reservedAttributeName.contains(attributeName)) { defaultEntityMetaData.addAttributeMetaData(new DefaultAttributeMetaData(attributeName)); } } } } }
private void addOutputFeatures(Protocol newRootProtocol, Iterable<AttributeMetaData> metaData, String prefix) { for (AttributeMetaData attributeMetaData : metaData) { ObservableFeature newFeature = new ObservableFeature(); if (dataService.findOne(ObservableFeature.ENTITY_NAME, new QueryImpl().eq(ObservableFeature.IDENTIFIER, attributeMetaData.getName())) == null) { newFeature.setIdentifier(attributeMetaData.getName()); newFeature.setName(attributeMetaData.getLabel()); newFeature.setDataType(attributeMetaData.getDataType().toString()); dataService.add(ObservableFeature.ENTITY_NAME, newFeature); newRootProtocol.getFeatures().add(newFeature); } dataService.update(Protocol.ENTITY_NAME, newRootProtocol); } }
for (AttributeMetaData originalRepositoryAttr : originalRepositoryMetaData.getAttributes()) if (!containsIgnoreCase(originalRepositoryAttr.getName(), commonAttributes)) getMergedAttributeName(repository, originalRepositoryAttr.getName()), getMergedAttributeLabel(repository, originalRepositoryAttr.getLabel())); if (originalRepositoryAttr.getDataType().getEnumType()
while (columnNamesIterator.hasNext()) requiredColumns.remove(columnNamesIterator.next().getName());
/** * Recursively add all the attributes in an compound attribute */ private void addCompoundAttributeParts(Repository repository, AttributeMetaData originalRepositoryAttributeMetaData, DefaultAttributeMetaData attributePartMetaData) { List<AttributeMetaData> subAttributeParts = new ArrayList<AttributeMetaData>(); for (AttributeMetaData originalRepositorySubAttributeMetaData : originalRepositoryAttributeMetaData .getAttributeParts()) { DefaultAttributeMetaData subAttributePartMetaData = copyAndRename(originalRepositorySubAttributeMetaData, getMergedAttributeName(repository, originalRepositorySubAttributeMetaData.getName()), getMergedAttributeLabel(repository, originalRepositoryAttributeMetaData.getLabel())); subAttributePartMetaData .setLabel(getMergedAttributeLabel(repository, originalRepositorySubAttributeMetaData.getLabel())); if (subAttributePartMetaData.getDataType().getEnumType().equals(MolgenisFieldTypes.FieldTypeEnum.COMPOUND)) { addCompoundAttributeParts(repository, originalRepositorySubAttributeMetaData, subAttributePartMetaData); } subAttributeParts.add(subAttributePartMetaData); } attributePartMetaData.setAttributesMetaData(subAttributeParts); }