use of org.pentaho.di.repository.kdr.delegates.metastore.KDBRMetaStoreAttribute in project pentaho-kettle by pentaho.
the class KettleDatabaseRepositoryMetaStoreDelegate method addAttributes.
private void addAttributes(IMetaStoreAttribute parentAttribute, ObjectId elementId, LongObjectId parentAttributeId) throws KettleException {
Collection<RowMetaAndData> attributeRows = getElementAttributes(elementId, parentAttributeId);
for (RowMetaAndData attributeRow : attributeRows) {
KDBRMetaStoreAttribute attribute = parseAttribute(elementId, attributeRow);
parentAttribute.addChild(attribute);
// See if this attribute has children...
addAttributes(attribute, elementId, attribute.getObjectId());
}
}
use of org.pentaho.di.repository.kdr.delegates.metastore.KDBRMetaStoreAttribute in project pentaho-kettle by pentaho.
the class KettleDatabaseRepositoryMetaStoreDelegate method parseAttribute.
private KDBRMetaStoreAttribute parseAttribute(ObjectId elementId, RowMetaAndData attributeRow) throws KettleException {
try {
Long attributeId = attributeRow.getInteger(KettleDatabaseRepository.FIELD_ELEMENT_ATTRIBUTE_ID_ELEMENT_ATTRIBUTE);
String key = attributeRow.getString(KettleDatabaseRepository.FIELD_ELEMENT_ATTRIBUTE_KEY, null);
String value = attributeRow.getString(KettleDatabaseRepository.FIELD_ELEMENT_ATTRIBUTE_VALUE, null);
Object object = parseAttributeValue(value);
KDBRMetaStoreAttribute attribute = new KDBRMetaStoreAttribute(this, key, object);
attribute.setObjectId(new LongObjectId(attributeId));
return attribute;
} catch (Exception e) {
throw new KettleException("Unable to parse attribute from attribute row: " + attributeRow.toString(), e);
}
}
Aggregations