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); } }
getMergedAttributeName(repository, originalRepositoryAttr.getName()), getMergedAttributeLabel(repository, originalRepositoryAttr.getLabel())); if (originalRepositoryAttr.getDataType().getEnumType() .equals(MolgenisFieldTypes.FieldTypeEnum.COMPOUND))
private DefaultAttributeMetaData copyAndRename(AttributeMetaData attributeMetaData, String name, String label) { DefaultAttributeMetaData result = new DefaultAttributeMetaData(name, attributeMetaData.getDataType().getEnumType()); result.setDescription(attributeMetaData.getDescription()); result.setNillable(true);// We got a problem if a attr is required in one entitymeta and missing in another result.setReadOnly(false); result.setDefaultValue(attributeMetaData.getDefaultValue()); result.setRefEntity(attributeMetaData.getRefEntity()); result.setLabel(label); result.setVisible(attributeMetaData.isVisible()); result.setUnique(attributeMetaData.isUnique()); result.setAggregateable(attributeMetaData.isAggregateable()); result.setRange(attributeMetaData.getRange()); return result; } }