Last change
on this file since 100 was
32,
checked in by ftrautsch, 10 years ago
|
integrating decent into crosspare
|
File size:
1.3 KB
|
Rev | Line | |
---|
[32] | 1 | operation ARFFx!Instance addValue(content : String, attribute : String) { |
---|
| 2 | var value = new ARFFx!Value(); |
---|
| 3 | value.ofAttribute = attribute.getARFFAttribute(self.eContainer()); |
---|
| 4 | value.content = content; |
---|
| 5 | self.values.add(value); |
---|
| 6 | } |
---|
| 7 | |
---|
| 8 | |
---|
| 9 | operation ARFFx!Instance updateValue(content : String, attribute : String) { |
---|
| 10 | var value = self.values.select(v|v.ofAttribute.name = attribute).first(); |
---|
| 11 | if (value.isUndefined()) { |
---|
| 12 | value = new ARFFx!Value(); |
---|
| 13 | value.ofAttribute = attribute.getARFFAttribute(self.eContainer()); |
---|
| 14 | self.values.add(value); |
---|
| 15 | } |
---|
| 16 | value.content = content; |
---|
| 17 | } |
---|
| 18 | |
---|
| 19 | |
---|
| 20 | @cached |
---|
| 21 | operation String getARFFAttribute(arffx : ARFFx!Model) : ARFFx!Attribute { |
---|
| 22 | var attribute = arffx.attributes.select(a|a.name = self).first(); |
---|
| 23 | if (attribute.isUndefined()) { |
---|
| 24 | attribute = new ARFFx!Attribute(); |
---|
| 25 | attribute.name = self; |
---|
| 26 | arffx.attributes.add(attribute); |
---|
| 27 | } |
---|
| 28 | return attribute; |
---|
| 29 | } |
---|
| 30 | |
---|
| 31 | operation String getSelectedAttributes() : Sequence { |
---|
| 32 | var file = new Native("java.io.File")(self); |
---|
| 33 | var content = new Native("org.apache.commons.io.FileUtils").readLines(file); |
---|
| 34 | |
---|
| 35 | |
---|
| 36 | content = content.select(x|not x.startsWith("#")).closure(x|x.trim()); |
---|
| 37 | return content; |
---|
| 38 | } |
---|
| 39 | |
---|
| 40 | @cached |
---|
| 41 | operation ARFFx!Instance getValue(attribute : ARFFx!Attribute) : String { |
---|
| 42 | return self.values.select(v|v.ofAttribute = attribute).first().content; |
---|
| 43 | } |
---|
Note: See
TracBrowser
for help on using the repository browser.