CypressFileTreeReader.st
author Jan Vrany <jan.vrany@labware.com>
Wed, 08 Jul 2020 11:26:45 +0100
changeset 29 443911ff729a
parent 18 fb5dc5aae98c
permissions -rw-r--r--
Move some extensions to stx:libcompat
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/cypress' }"
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
CypressAbstractReader subclass:#CypressFileTreeReader
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:''
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'Cypress-New-Reader & Writer'
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!CypressFileTreeReader class methodsFor:'documentation'!
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
documentation
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
"
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
    A reader to read packages in filetree format, as of 2012-09-17
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    [author:]
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
        Jan Vrany <jan.vrany@fit.cvut.cz>
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    [instance variables:]
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    [class variables:]
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    [see also:]
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
"
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
! !
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
17
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    28
!CypressFileTreeReader methodsFor:'defaults-filenames'!
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    29
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    30
defaultFileNameForProperties
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    31
    ^ 'properties.json'
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    32
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    33
    "Created: / 18-09-2012 / 09:44:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    34
! !
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    35
18
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    36
!CypressFileTreeReader methodsFor:'reading'!
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    37
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    38
readPackage: name as: packageIdOrNil from: directory
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    39
    | pkgdir pkg |
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    40
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    41
    pkgdir := CypressRepository packageDirectoryForPackageName: name in: directory.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    42
    pkgdir isNil ifTrue:[ 
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    43
        self error: 'No package named ', name ,' found in ', directory pathName.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    44
    ].
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    45
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    46
    packageId := packageIdOrNil.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    47
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    48
    pkg := CypressPackage new.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    49
    self 
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    50
        readPropertiesFor: pkg from: pkgdir;
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    51
        readClassesFor: pkg from: pkgdir;
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    52
        readExtensionsFor: pkg from: pkgdir.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    53
    ^pkg
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    54
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    55
    "Created: / 18-09-2012 / 13:16:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    56
! !
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    57
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
    58
!CypressFileTreeReader methodsFor:'reading-private'!
17
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    59
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    60
readClass: name from: directory
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    61
    | clsdir cls |
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    62
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    63
    clsdir := directory / name.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    64
    clsdir exists ifFalse:[
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    65
        clsdir := clsdir withSuffix: self defaultFileSuffixForClass.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    66
    ].
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    67
    clsdir exists ifFalse:[
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    68
        self error: 'No such class in ', directory pathName.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    69
        ^nil.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    70
    ].
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    71
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    72
    cls := CypressClass new.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    73
    self 
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    74
        readPropertiesFor: cls from: clsdir;
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    75
        readMethodsFor: cls from: clsdir.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    76
    ^cls
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    77
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    78
    "Created: / 18-09-2012 / 09:54:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    79
!
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    80
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    81
readClassesFor: pkg from: directory
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    82
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    83
    directory directoryContentsAsFilenamesDo:[:each|
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    84
        each suffix = self defaultFileSuffixForClass ifTrue:[
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    85
            pkg classes add: (self readClass: each baseName from: directory)
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    86
        ]
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    87
    ]
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    88
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    89
    "Created: / 18-09-2012 / 09:52:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    90
!
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    91
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    92
readExtensionsFor: pkg from: directory
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    93
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    94
    directory directoryContentsAsFilenamesDo:[:each|
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    95
        each suffix = self defaultFileSuffixForExtensions ifTrue:[
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    96
            | clsname dir |
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    97
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    98
            clsname := each withoutSuffix baseName.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
    99
            dir := each / 'class'.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   100
            dir exists ifTrue:[
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   101
                self readMethodsForClassNamed: clsname meta: true from: dir into: pkg extensions.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   102
            ].
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   103
            dir := each / 'instance'.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   104
            dir exists ifTrue:[
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   105
                self readMethodsForClassNamed: clsname meta: false from: dir into: pkg extensions.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   106
            ]
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   107
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   108
        ]
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   109
    ]
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   110
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   111
    "Created: / 18-09-2012 / 10:11:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   112
!
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   113
18
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   114
readMethod: name from: directory
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   115
    | mthdfile mthd |
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   116
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   117
    mthdfile := directory / name.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   118
    mthdfile exists ifFalse:[
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   119
        mthdfile := mthdfile withSuffix: self defaultFileSuffixForMethod.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   120
    ].
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   121
    mthdfile exists ifFalse:[
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   122
        self error: 'No such method in ', directory pathName.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   123
        ^nil.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   124
    ].
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   125
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   126
    mthd := CypressMethod new.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   127
    mthdfile readingFileDo:[:s|
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   128
        mthd category: s nextLine.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   129
        mthd source: s upToEnd.
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   130
    ].
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   131
    ^mthd
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   132
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   133
    "Created: / 18-09-2012 / 10:03:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   134
!
fb5dc5aae98c - CypressFileTreeReader
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17
diff changeset
   135
17
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   136
readMethodsFor: cls from: directory
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   137
    | dir |
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   138
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   139
    (dir := directory / 'class') exists ifTrue:[
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   140
        self readMethodsForClassNamed: cls name meta: true from: dir into: cls methods
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   141
    ].
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   142
    (dir := directory / 'instance') exists ifTrue:[
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   143
        self readMethodsForClassNamed: cls name meta: false from: dir into: cls methods
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   144
    ]
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   145
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   146
    "Created: / 18-09-2012 / 09:56:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   147
!
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   148
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   149
readMethodsForClassNamed: clsname meta: isClassMethod from: dir into: collection
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   150
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   151
    dir directoryContentsAsFilenamesDo:[:each|
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   152
        each suffix = 'st' ifTrue:[
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   153
            | mthd |
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   154
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   155
            mthd := self readMethod: each baseName from: dir.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   156
            mthd meta: isClassMethod.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   157
            mthd klass: clsname.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   158
            collection add: mthd.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   159
        ]
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   160
    ]
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   161
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   162
    "Created: / 18-09-2012 / 10:07:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   163
!
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   164
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   165
readPropertiesFor: model from: directory
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   166
    | props propFile |
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   167
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   168
    propFile := directory / self defaultFileNameForProperties.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   169
    props := propFile exists 
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   170
        ifTrue:[CypressJSONReader parse: propFile]
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   171
        ifFalse:[Dictionary new].
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   172
    model properties: props.
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   173
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   174
    "Created: / 18-09-2012 / 09:47:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   175
! !
d387df3d4e46 - CypressAbstractReaderWriter
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   176
15
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
!CypressFileTreeReader class methodsFor:'documentation'!
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
version_SVN
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
    ^ '$Id::                                                                                                                        $'
31a33727c629 - Getting rid of old Cypress implementation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
! !