Skip to content

Instantly share code, notes, and snippets.

@sorenmacbeth
Created March 20, 2012 18:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sorenmacbeth/6e5207df3c22fc7db19e to your computer and use it in GitHub Desktop.
Save sorenmacbeth/6e5207df3c22fc7db19e to your computer and use it in GitHub Desktop.
(defmacro mk-property-tap [property-id property-name property-class]
`(let [md# (thrift-meta-data (str ~property-class "Value"))]
(for [f# (.keySet md#)]
(let [val-id# (.getThriftFieldId f#)
val-name# (.getFieldName f#)
fn-name# (symbol (str ~property-name "-" val-name# "-tap"))]
(defn fn-name# [source-dir#]
(let [tap# (split-data-tap source-dir# [~property-id val-id#])]
(<- [?id ?property ?pedigree]
(tap# _ ?data)
(expand-data ?data :> ?pedigree ?du)
(expand-property ?du :> ?id ?property))))))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment